Diff of the two buildlogs: -- --- b1/build.log 2024-12-21 09:28:52.121921277 +0000 +++ b2/build.log 2024-12-21 13:07:12.095971520 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri Dec 20 18:31:16 -12 2024 -I: pbuilder-time-stamp: 1734762676 +I: Current time: Sat Dec 21 23:29:17 +14 2024 +I: pbuilder-time-stamp: 1734773357 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -34,52 +34,84 @@ dpkg-source: info: applying display-plus-intervaltotext.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/30566/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/12448/tmp/hooks/D01_modify_environment starting +debug: Running on cbxi4a. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Dec 21 09:30 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/12448/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/12448/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='armhf' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='e51ea226f5514467a8512d38235edebc' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='30566' - PS1='# ' - PS2='> ' + INVOCATION_ID=49fdddfb46c34518a1724f66fce72aa4 + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=12448 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.nWv9219d/pbuilderrc_NQ6p --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.nWv9219d/b1 --logfile b1/build.log octave-interval_3.2.1-6.dsc' - SUDO_GID='113' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.nWv9219d/pbuilderrc_K6lq --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.nWv9219d/b2 --logfile b2/build.log octave-interval_3.2.1-6.dsc' + SUDO_GID=113 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux virt64b 6.1.0-28-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-23-armmp #1 SMP Debian 6.1.99-1 (2024-07-15) armv7l GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/30566/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/12448/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -675,7 +707,7 @@ Get: 544 http://deb.debian.org/debian trixie/main armhf imagemagick-7.q16 armhf 8:7.1.1.39+dfsg1-3 [726 kB] Get: 545 http://deb.debian.org/debian trixie/main armhf imagemagick armhf 8:7.1.1.39+dfsg1-3 [20.0 kB] Get: 546 http://deb.debian.org/debian trixie/main armhf libmpfr-dev armhf 4.2.1-1+b2 [230 kB] -Fetched 195 MB in 5s (42.6 MB/s) +Fetched 195 MB in 24s (8078 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libfftw3-double3:armhf. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19681 files and directories currently installed.) @@ -2943,7 +2975,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/octave-interval-3.2.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../octave-interval_3.2.1-6_source.changes +I: user script /srv/workspace/pbuilder/12448/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/12448/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/octave-interval-3.2.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../octave-interval_3.2.1-6_source.changes dpkg-buildpackage: info: source package octave-interval dpkg-buildpackage: info: source version 3.2.1-6 dpkg-buildpackage: info: source distribution unstable @@ -2964,7 +3000,7 @@ make[2]: Entering directory '/build/reproducible-path/octave-interval-3.2.1/src' make[2]: -p: No such file or directory make[2]: -p: No such file or directory -/bin/sh: 1: -dM: not found +/bin/sh: line 1: -dM: command not found test ! -e crlibm/Makefile || make -C crlibm clean rm -f *.oct *.o rm -f config.log @@ -3051,8 +3087,8 @@ [MKOCTFILE] intervaltotext.cc g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security crlibm_function.cc -o crlibm_function.o [MKOCTFILE] mpfr_function_d.cc -g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security intervaltotext.cc -o /tmp/oct-6AMIaP.o -g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security mpfr_function_d.cc -o /tmp/oct-NpnC4Y.o +g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security intervaltotext.cc -o /tmp/oct-xbGInd.o +g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security mpfr_function_d.cc -o /tmp/oct-Vsz18e.o checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p @@ -3060,8 +3096,8 @@ checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes -checking build system type... aarch64-unknown-linux-gnu -checking host system type... aarch64-unknown-linux-gnu +checking build system type... armv7l-unknown-linux-gnueabihf +checking host system type... armv7l-unknown-linux-gnueabihf checking whether make sets $(MAKE)... (cached) yes checking for gcc... gcc checking whether the C compiler works... yes @@ -3097,33 +3133,33 @@ checking for log in -lm... yes checking whether byte ordering is bigendian... no checking for long double with more range or precision than double... no -checking size of int... [MKOCTFILE] mpfr_linspace_d.cc -g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security mpfr_linspace_d.cc -o /tmp/oct-uLLTWF.o -4 +checking size of int... 4 checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating scs_lib/Makefile config.status: creating crlibm_config.h config.status: executing depfiles commands + [MKOCTFILE] mpfr_linspace_d.cc +g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security mpfr_linspace_d.cc -o /tmp/oct-fHVsyB.o [MKOCTFILE] mpfr_matrix_mul_d.cc -g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fopenmp mpfr_matrix_mul_d.cc -o /tmp/oct-57wX9D.o -g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -o mpfr_function_d.oct /tmp/oct-NpnC4Y.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fopenmp mpfr_matrix_mul_d.cc -o /tmp/oct-YwkZCT.o +g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -o mpfr_function_d.oct /tmp/oct-Vsz18e.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro [MKOCTFILE] mpfr_matrix_sqr_d.cc -g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fopenmp mpfr_matrix_sqr_d.cc -o /tmp/oct-qcwnLC.o -g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -o intervaltotext.oct /tmp/oct-6AMIaP.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fopenmp mpfr_matrix_sqr_d.cc -o /tmp/oct-ZaSgGg.o +g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -o mpfr_linspace_d.oct /tmp/oct-fHVsyB.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -o intervaltotext.oct /tmp/oct-xbGInd.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro [MKOCTFILE] mpfr_to_string_d.cc -g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security mpfr_to_string_d.cc -o /tmp/oct-xAAWuB.o -g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -o mpfr_linspace_d.oct /tmp/oct-uLLTWF.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security mpfr_to_string_d.cc -o /tmp/oct-C4VgOT.o [MKOCTFILE] mpfr_vector_sum_d.cc -g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security mpfr_vector_sum_d.cc -o /tmp/oct-ejox0m.o -g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fopenmp -o mpfr_matrix_mul_d.oct /tmp/oct-57wX9D.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security mpfr_vector_sum_d.cc -o /tmp/oct-B1nFMB.o +g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fopenmp -o mpfr_matrix_mul_d.oct /tmp/oct-YwkZCT.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro [MKOCTFILE] mpfr_vector_dot_d.cc -g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security mpfr_vector_dot_d.cc -o /tmp/oct-LabXL4.o -g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fopenmp -o mpfr_matrix_sqr_d.oct /tmp/oct-qcwnLC.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security mpfr_vector_dot_d.cc -o /tmp/oct-PQVvJV.o +g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fopenmp -o mpfr_matrix_sqr_d.oct /tmp/oct-ZaSgGg.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro [MKOCTFILE] __setround__.cc -g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wno-unknown-pragmas __setround__.cc -o /tmp/oct-rMArxs.o -g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -o mpfr_to_string_d.oct /tmp/oct-xAAWuB.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wno-unknown-pragmas __setround__.cc -o /tmp/oct-yo1DT1.o +g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -o mpfr_vector_sum_d.oct /tmp/oct-B1nFMB.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro make -C crlibm CFLAGS+="-fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable" make[3]: Entering directory '/build/reproducible-path/octave-interval-3.2.1/src/crlibm' make all-recursive @@ -3142,7 +3178,6 @@ rm -f libscs.a ar cr libscs.a scs_private.o double2scs.o print_scs.o division_scs.o addition_scs.o multiplication_scs.o scs2double.o zero_scs.o scs2mpfr.o ranlib libscs.a -g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -o mpfr_vector_sum_d.oct /tmp/oct-ejox0m.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro make[5]: Leaving directory '/build/reproducible-path/octave-interval-3.2.1/src/crlibm/scs_lib' Making all in . make[5]: Entering directory '/build/reproducible-path/octave-interval-3.2.1/src/crlibm' @@ -3151,17 +3186,18 @@ gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o exp-td.o exp-td.c gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o exp-td-standalone.o exp-td-standalone.c gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o expm1-standalone.o expm1-standalone.c +g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -o mpfr_to_string_d.oct /tmp/oct-C4VgOT.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o expm1.o expm1.c gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o log.o log.c gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o log1p.o log1p.c -g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wno-unknown-pragmas -o __setround__.oct /tmp/oct-rMArxs.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o rem_pio2_accurate.o rem_pio2_accurate.c gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o trigo_fast.o trigo_fast.c gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o trigo_accurate.o trigo_accurate.c gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o trigpi.o trigpi.c +g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -o mpfr_vector_dot_d.oct /tmp/oct-PQVvJV.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o asincos.o asincos.c gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o pow.o pow.c -g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -o mpfr_vector_dot_d.oct /tmp/oct-LabXL4.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-9.2.0/octave/.. -I/usr/include/octave-9.2.0/octave -pthread -fopenmp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Wno-unknown-pragmas -o __setround__.oct /tmp/oct-yo1DT1.o -shared -Wl,-Bsymbolic -Wl,-z,relro -flto=auto -ffat-lto-objects -Wl,-z,relro gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o atan_fast.o atan_fast.c gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o atan_accurate.o atan_accurate.c gcc -DHAVE_CONFIG_H -I. -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o csh_fast.o csh_fast.c @@ -3385,30 +3421,255 @@ Checking package... Run the unit tests... Checking m files ... -[inst/@infsupdec/cos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cos.m +[inst/verlinprog.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verlinprog.m +***** test + A = [-2, -3; -2, -1]; + b = [-1500, -1000]; + c = [1; 1]; + [flag, x, y, h] = verlinprog (A, b, c); + assert (flag, "verified optimum"); + assert (ismember ([375; 250], x)); + assert (wid (x) < 1e-12); + assert (ismember ([-0.25; -0.25], y)); + assert (wid (y) < 1e-16); + assert (ismember (625, h)); + assert (wid (h) < 1e-12); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/exacttointerval.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/exacttointerval.m +***** assert (isempty (exacttointerval ("[Empty]"))); +***** assert (isentire (exacttointerval ("[Entire]"))); +***** test "common interval"; + y = exacttointerval ("[0, 1]"); + assert (inf (y), 0); + assert (sup (y), 1); +***** test "point interval"; + y = exacttointerval ("[42]"); + assert (inf (y), 42); + assert (sup (y), 42); +***** test "unbound interval"; + y = exacttointerval ("[-4, Infinity]"); + assert (inf (y), -4); + assert (sup (y), inf); +***** error exacttointerval ("[0, 0.1]"); +***** error exacttointerval ("[1, 0]"); +***** test "N-dimensional array"; + i = infsup (reshape (1:24, 2, 3, 4)); + assert (exacttointerval (intervaltoexact (i)) == i); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/vereigvec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/vereigvec.m +***** test + A = [1 0 0; 0 1 1; 0 0 1]; + assert (vereigvec (A, [1; 0; 0]), 1); + assert (vereigvec (A, [0; 1; 0]), 1); + assert (vereigvec (A, [0; 0; 1]), 0); +***** test + A = magic (3); + [evc, lambda] = vereigvec (A, [1 1 1]); + assert (evc, 1); + assert (lambda == 15); + assert (vereigvec (A, [1; 0; 0]), 0); + assert (vereigvec (A, [0; 1; 0]), 0); + assert (vereigvec (A, [0; 0; 1]), 0); +***** test + A = magic (3) + infsup ("[-5, 5]"); + [evc, lambda, As] = vereigvec (A, [1 0 0]); + assert (evc, 1); + assert (lambda == "[3, 13]"); + assert (ismember ([8 1 6; 0 2 4; 0 5 -2], As)); + assert (max (max (wid (As))) < 1e-14); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/empty.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/empty.m +***** assert (inf (empty ()), inf); +***** assert (sup (empty ()), -inf); +***** assert (decorationpart (empty ()), {"trv"}); +***** assert (inf (empty (5)), inf (5)); +***** assert (sup (empty (5)), -inf (5)); +***** assert (strcmp (decorationpart (empty (5)), "trv"), true (5)); +***** assert (inf (empty (5, 6)), inf (5, 6)); +***** assert (sup (empty (5, 6)), -inf (5, 6)); +***** assert (strcmp (decorationpart (empty (5, 6)), "trv"), true (5, 6)); +***** assert (inf (empty (5, 6, 7)), inf (5, 6, 7)); +***** assert (sup (empty (5, 6, 7)), -inf (5, 6, 7)); +***** assert (strcmp (decorationpart (empty (5, 6, 7)), "trv"), true (5, 6, 7)); +12 tests, 12 passed, 0 known failure, 0 skipped +[inst/hull.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/hull.m +***** assert (isnai (hull (nai))); +***** assert (isempty (hull (nan))); +***** assert (isequal (hull (2, nan, 3, 5), infsupdec (2, 5, "trv"))); +***** assert (isequal (hull ([1, 2, 3], [5; 0; 2]), infsupdec ([1, 2, 3; 0, 0, 0; 1, 2, 2], [5, 5, 5; 1, 2, 3; 2, 2, 3], "com"))); +***** assert (isequal (hull (magic (3), 10), infsupdec (magic (3), 10 (ones (3)), "com"))); +***** assert (isequal (hull (2, magic (3), [nan, 2, 3; nan, 1, 1; 99, 100, nan]), infsupdec ([2, 1, 2; 2, 1, 1; 2, 2, 2], [8, 2, 6; 3, 5, 7; 99, 100, 2], {"trv", "com", "com"; "trv", "com", "com"; "com", "com", "trv"}))); +***** assert (isnai (hull ([nai, 2])), logical ([1 0])); +***** assert (isnai (hull ([nai, 2], [nai, 3])), logical ([1 0])); +***** assert (isnai (hull ([nai, 2], nai)), logical ([1 1])); +***** assert (isnai (hull ([nai, 2], [2, nai])), logical ([1 1])); +***** assert (isequal (hull (zeros (2, 2, 2, 2), ones (2, 2, 2, 2)), infsupdec (zeros (2, 2, 2, 2), ones (2, 2, 2, 2)))) +***** assert (isequal (hull (zeros (2, 1, 4, 1), ones (1, 3, 1, 5), -1), infsupdec (-ones (2, 3, 4, 5), ones (2, 3, 4, 5)))) +***** assert (isnai (hull (zeros (2, 2, 2, 2), ones (2, 2, 2, 2), nai)), logical (ones (2, 2, 2, 2))) +***** error hull (1:2, 1:3); +***** error hull ((1:2)', (1:3)'); +***** error hull (ones (2, 2, 2), ones (2, 2, 3)); +***** test "from the documentation string"; + assert (isequal (hull (1, 2, 3, 4), infsupdec (1, 4, "com"))); + assert (isequal (hull (empty, entire), infsupdec (-inf, inf, "trv"))); + assert (isequal (hull ("0.1", "pi", "e"), infsupdec (0.1 - eps / 16, pi + eps * 2, "com"))); + assert (isequal (hull ("[0, 3]", "[4, 7]"), infsupdec ("[0, 7]_com"))); +17 tests, 17 passed, 0 known failure, 0 skipped +[inst/ctc_union.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/ctc_union.m +***** function [fval, cx] = ctc_sin (y, x) + fval = sin (x); + y = intersect (y, fval); + cx = sinrev (y, x); +***** endfunction +***** function [fval, cx] = ctc_cos (y, x) + fval = cos (x); + y = intersect (y, fval); + cx = cosrev (y, x); +***** endfunction +***** shared c + c = ctc_union (@ctc_sin, 0, @ctc_cos, 0); +***** test + x = infsup (0); + y = infsup (0); + [fval, cx] = c (y, x); + assert (fval == 0); + assert (cx == 0) +***** test + x = infsup ("pi") / 2; + y = infsup (0); + [fval, cx] = c (y, x); + assert (fval == "[0, 1]"); + assert (cx == x); +***** test + x = infsup ("pi") / 4; + y = infsup (0); + [fval, cx] = c (y, x); + assert (fval > 0); + assert (isempty (cx)); +***** test + x = infsup (0, eps); + y = infsup (0); + [fval, cx] = c (y, x); + assert (fval == "[0, 1]"); + assert (cx == 0); +***** test + x = infsup ("[0, pi]") / 2; + y = infsup (0); + [fval, cx] = c (y, x); + assert (fval == "[0, 1]"); + assert (cx == x); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/setxor.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/setxor.m +***** test + [z, z1, z2] = setxor (infsup (), infsup ()); + assert (isempty (z)); + assert (isempty (z1)); + assert (isempty (z2)); +***** test + [z, z1, z2] = setxor (infsup (-inf, inf), infsup ()); + assert (isentire (z)); + assert (isentire (z1)); + assert (isempty (z2)); +***** test + [z, z1, z2] = setxor (infsup (-inf, inf), infsup (2)); + assert (isentire (z)); + assert (z1 == infsup (-inf, 2)); + assert (z2 == infsup (2, inf)); +***** test + [z, z1, z2] = setxor (infsup (2, 3), infsup (2)); + assert (z == infsup (2, 3)); + assert (z1 == infsup ()); + assert (z2 == infsup (2, 3)); +***** test + [z, z1, z2] = setxor (infsup (2, 3), infsup (2, 2.5)); + assert (z == infsup (2.5, 3)); + assert (z1 == infsup ()); + assert (z2 == infsup (2.5, 3)); ***** # from the documentation string -***** assert (isequal (cos (infsupdec (1)), infsupdec ("[0x1.14A280FB5068Bp-1, 0x1.14A280FB5068Cp-1]"))); +***** test + [z, z1, z2] = setxor (infsup (1, 3), infsup (2, 4)); + assert (z == infsup (1, 4)); + assert (z1 == infsup (1, 2)); + assert (z2 == infsup (3, 4)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/bisect.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/bisect.m +***** test + # from the documentation string + [a, b] = bisect (infsup (2, 32)); + assert (a == infsup (2, 8)); + assert (b == infsup (8, 32)); +***** test + [a, b] = bisect (infsup (-inf, inf)); + assert (a == infsup (-inf, 0)); + assert (b == infsup (0, inf)); +***** test + [a, b] = bisect (infsup (0)); + assert (a == 0); + assert (b == 0); +***** test + [a, b] = bisect (infsup ()); + assert (isempty (a)); + assert (isempty (b)); +***** test + [a, b] = bisect (infsup (0, inf)); + assert (a == infsup (0, pow2 (-25))); + assert (b == infsup (pow2 (-25), inf)); +***** test + [a, b] = bisect (infsup (-inf, 0)); + assert (a == infsup (-inf, -pow2 (-25))); + assert (b == infsup (-pow2 (-25), 0)); +***** # correct use of signed zeros +***** test + [a, b] = bisect (infsup (0)); + assert (signbit (inf (a))); + assert (signbit (inf (b))); + assert (not (signbit (sup (a)))); + assert (not (signbit (sup (b)))); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/factorial.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/factorial.m +***** # from the documentation string +***** assert (factorial (infsup (6)) == 720); +***** assert (factorial (infsup (0)) == 1); +***** assert (factorial (infsup ("[0, 1.99]")) == 1); +***** assert (factorial (infsup ("[0, 2]")) == "[1, 2]"); +***** assert (factorial (infsup ("[1.4, 1.6]")) == "[Empty]"); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/isentire.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isentire.m +***** assert (isentire (entire ())); +***** assert (isentire (intervalpart (entire ()))); +***** assert (not (isentire (empty ()))); +***** assert (not (isentire (intervalpart (empty ())))); +***** warning assert (not (isentire (infsupdec (2, 1)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.cos; + testcases = testdata.NoSignal.infsup.isEntire; for testcase = [testcases]' assert (isequaln (... - cos (testcase.in{1}), ... + isentire (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cos; + testcases = testdata.NoSignal.infsup.isEntire; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cos (in1), out)); + assert (isequaln (isentire (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cos; + testcases = testdata.NoSignal.infsup.isEntire; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3419,35 +3680,24 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cos (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sup.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sup.m -***** assert (sup (infsupdec (2.5, 3.5)), 3.5); -***** assert (sup (infsupdec ()), -inf); -***** assert (sup (infsupdec ("[nai]")), nan); -***** warning id=interval:UndefinedOperation - assert (sup (infsupdec (3, 2)), nan); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (isentire (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sup; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isEntire; for testcase = [testcases]' assert (isequaln (... - sup (testcase.in{1}), ... + isentire (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sup; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.isEntire; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sup (in1), out)); + assert (isequaln (isentire (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sup; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.isEntire; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3458,53 +3708,40 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sup (in1), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/det.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/det.m -***** # from the documentation string -***** assert (det (infsupdec (magic (3))) == -360); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sec.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sec.m -***** # from the documentation string -***** assert (isequal (sec (infsupdec (1)), infsupdec ("[0x1.D9CF0F125CC29, 0x1.D9CF0F125CC2A]_com"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/nthroot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/nthroot.m -***** assert (isequal (nthroot (infsupdec (25, 36), 2), infsupdec (5, 6))); -***** assert (isequal (nthroot (infsupdec (-1, 1), 2), infsupdec (0, 1, "trv"))); -***** assert (isequal (nthroot (infsupdec (-1, 1), 3), infsupdec (-1, 1))); -***** assert (isequal (nthroot (infsupdec (-1, 1), -2), infsupdec (1, inf, "trv"))); -***** assert (isequal (nthroot (infsupdec (-1, 1), -3), infsupdec (-inf, inf, "trv"))); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/union.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/union.m + assert (isequaln (isentire (in1), out)); +11 tests, 11 passed, 0 known failure, 0 skipped +[inst/@infsup/asin.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/asin.m +***** # Empty interval +***** assert (asin (infsup ()) == infsup ()); ***** # from the documentation string -***** assert (isequal (union (infsupdec (1, 3), infsupdec (2, 4)), infsupdec (1, 4, "trv"))); +***** assert (asin (infsup (.5)) == "[0x1.0C152382D7365p-1, 0x1.0C152382D7366p-1]"); +***** # correct use of signed zeros +***** test + x = asin (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.convexHull; + testcases = testdata.NoSignal.infsup.asin; for testcase = [testcases]' assert (isequaln (... - union (testcase.in{1}, testcase.in{2}), ... + asin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.convexHull; + testcases = testdata.NoSignal.infsup.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (union (in1, in2), out)); + assert (isequaln (asin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.convexHull; + testcases = testdata.NoSignal.infsup.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -3513,37 +3750,64 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (union (in1, in2), out)); + assert (isequaln (asin (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/triu.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/triu.m +***** assert (triu (infsup (magic (10))) == triu (magic (10))); +***** assert (triu (infsup (magic (10)), 1) == triu (magic (10), 1)); +***** assert (triu (infsup (magic (10)), -1) == triu (magic (10), -1)); +***** assert (triu (infsup (magic (10)), 0, "pack") == triu (magic (10), 0, "pack")); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/minus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/minus.m +[inst/@infsup/printf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/printf.m +***** xtest + assert (evalc ("n = printf ('%g', infsup ('pi'));"), "3.14159 3.1416"); + assert (n, 14); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/fma.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fma.m ***** # from the documentation string -***** assert (isequal (infsupdec (2, 3) - infsupdec (1, 2), infsupdec (0, 2))); +***** assert (fma (infsup (1+eps), infsup (7), infsup ("0.1")) == "[0x1.C666666666668p2, 0x1.C666666666669p2]"); +***** # correct use of signed zeros +***** test + x = fma (infsup (0), 0, 0); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = fma (infsup (1), 0, 0); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = fma (infsup (1), 1, -1); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sub; + testcases = testdata.NoSignal.infsup.fma; for testcase = [testcases]' assert (isequaln (... - minus (testcase.in{1}, testcase.in{2}), ... + fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sub; + testcases = testdata.NoSignal.infsup.fma; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (minus (in1, in2), out)); + assert (isequaln (fma (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sub; + testcases = testdata.NoSignal.infsup.fma; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -3553,34 +3817,40 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); + in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (minus (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/pow.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow.m + assert (isequaln (fma (in1, in2, in3), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/gauss.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gauss.m ***** # from the documentation string -***** assert (isequal (pow (infsupdec (5, 6), infsupdec (2, 3)), infsupdec (25, 216))); +***** assert (gauss (infsup ([1, 0; 0, 2]), [2, 0; 0, 4]) == [2, 0; 0, 2]); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/union.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/union.m +***** # from the documentation string +***** assert (union (infsup (1, 3), infsup (2, 4)) == infsup (1, 4)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.pow; + testcases = testdata.NoSignal.infsup.convexHull; for testcase = [testcases]' assert (isequaln (... - pow (testcase.in{1}, testcase.in{2}), ... + union (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pow; + testcases = testdata.NoSignal.infsup.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pow (in1, in2), out)); + assert (isequaln (union (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pow; + testcases = testdata.NoSignal.infsup.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -3593,108 +3863,42 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pow (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/tanh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tanh.m -***** test "from the documentation string"; - assert (isequal (tanh (infsupdec (1)), infsupdec ("[0x1.85EFAB514F394p-1, 0x1.85EFAB514F395p-1]"))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.tanh; - for testcase = [testcases]' - assert (isequaln (... - tanh (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tanh; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (tanh (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanh; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - # Reshape data - i = -1; - do - i = i + 1; - testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) - in1 = reshape ([in1; in1(1:i)], testsize); - out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tanh (in1), out)); + assert (isequaln (union (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cat.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cat.m -***** assert (size (cat (1, infsupdec ([]), infsupdec ([]))), [0 0]); -***** assert (isequal (cat (1, infsupdec (1), infsupdec (2)), infsupdec (cat (1, 1, 2)))); -***** assert (isequal (cat (2, infsupdec (1), infsupdec (2)), infsupdec (cat (2, 1, 2)))); -***** assert (isequal (horzcat (infsupdec (1), infsupdec (2)), infsupdec (horzcat (1, 2)))); +[inst/@infsup/sin.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sin.m +***** # from the documentation string +***** assert (sin (infsup (1)) == "[0x1.AED548F090CEEp-1, 0x1.AED548F090CEFp-1]"); +***** # correct use of signed zeros ***** test - a = infsupdec (2, 5); - assert (isequal (horzcat (a, a, a), infsupdec ([2, 2, 2], [5, 5, 5]))); -***** assert (isequal (vertcat (infsupdec (1), infsupdec (2)), infsupdec (vertcat (1, 2)))); + x = sin (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** # test fix for bug #51283 ***** test - a = infsupdec (2, 5); - assert (isequal (vertcat (a, a, a), infsupdec ([2; 2; 2], [5; 5; 5]))); -***** assert (isequal (cat (5, infsupdec (1), infsupdec (2)), infsupdec (cat (5, 1, 2)))); -***** assert (isequal (cat (1, infsupdec (zeros (2, 2, 2)), infsupdec (ones (2, 2, 2))), infsupdec (cat (1, zeros (2, 2, 2), ones (2, 2, 2))))); -9 tests, 9 passed, 0 known failure, 0 skipped -[inst/@infsupdec/linspace.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/linspace.m -***** assert (isequal (linspace (infsupdec (0), infsupdec (10), 9), infsupdec (linspace (0, 10, 9)))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/round.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/round.m -***** # Empty interval -***** assert (isequal (round (infsupdec ()), infsupdec ())); -***** # Singleton intervals -***** assert (isequal (round (infsupdec (0)), infsupdec (0))); -***** assert (isequal (round (infsupdec (0.5)), infsupdec (1, "dac"))); -***** assert (isequal (round (infsupdec (0.25)), infsupdec (0))); -***** assert (isequal (round (infsupdec (0.75)), infsupdec (1))); -***** assert (isequal (round (infsupdec (-0.5)), infsupdec (-1, "dac"))); -***** # Bounded intervals -***** assert (isequal (round (infsupdec (-0.5, 0)), infsupdec (-1, 0, "def"))); -***** assert (isequal (round (infsupdec (0, 0.5)), infsupdec (0, 1, "def"))); -***** assert (isequal (round (infsupdec (0.25, 0.5)), infsupdec (0, 1, "def"))); -***** assert (isequal (round (infsupdec (-1, 0)), infsupdec (-1, 0, "def"))); -***** assert (isequal (round (infsupdec (-1, 1)), infsupdec (-1, 1, "def"))); -***** assert (isequal (round (infsupdec (-realmin, realmin)), infsupdec (0))); -***** assert (isequal (round (infsupdec (-realmax, realmax)), infsupdec (-realmax, realmax, "def"))); -***** # Unbounded intervals -***** assert (isequal (round (infsupdec (-realmin, inf)), infsupdec (0, inf, "def"))); -***** assert (isequal (round (infsupdec (-realmax, inf)), infsupdec (-realmax, inf, "def"))); -***** assert (isequal (round (infsupdec (-inf, realmin)), infsupdec (-inf, 0, "def"))); -***** assert (isequal (round (infsupdec (-inf, realmax)), infsupdec (-inf, realmax, "def"))); -***** assert (isequal (round (infsupdec (-inf, inf)), infsupdec (-inf, inf, "def"))); + x = sin (infsup ([0, 0])); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.roundTiesToAway; + testcases = testdata.NoSignal.infsup.sin; for testcase = [testcases]' assert (isequaln (... - round (testcase.in{1}), ... + sin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.roundTiesToAway; + testcases = testdata.NoSignal.infsup.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (round (in1), out)); + assert (isequaln (sin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3705,35 +3909,38 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (round (in1), out)); -21 tests, 21 passed, 0 known failure, 0 skipped -[inst/@infsupdec/lt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/lt.m -***** assert (not (lt (infsupdec (1, 3), infsupdec (3)))); -***** assert (lt (infsupdec (1, 3), infsupdec (3.1))); + assert (isequaln (sin (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/expm1.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/expm1.m +***** # from the documentation string +***** assert (expm1 (infsup (eps)) == "[0x1p-52, 0x1.0000000000001p-52]"); +***** # correct use of signed zeros +***** test + x = expm1 (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.strictLess; + testcases = testdata.NoSignal.infsup.expm1; for testcase = [testcases]' assert (isequaln (... - lt (testcase.in{1}, testcase.in{2}), ... + expm1 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.strictLess; + testcases = testdata.NoSignal.infsup.expm1; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (lt (in1, in2), out)); + assert (isequaln (expm1 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.strictLess; + testcases = testdata.NoSignal.infsup.expm1; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -3742,49 +3949,33 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (lt (in1, in2), out)); + assert (isequaln (expm1 (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/lu.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/lu.m -***** test - [l, u] = lu (infsupdec (magic (3))); - assert (isequal (l, infsupdec ({1, 0, 0; .375, 1, 0; .5, "68/37", 1}, "trv")));, ... - assert (subset (u, infsupdec ({8, 1, 6; 0, 4.625, 4.75; 0, 0, "-0x1.3759F2298375Bp3"}, ... - {8, 1, 6; 0, 4.625, 4.75; 0, 0, "-0x1.3759F22983759p3"}))); - A = magic (3); - A ([1, 5, 9]) = 0; - [l, u, p] = lu (infsupdec (A)); - assert (p, [0, 0, 1; 1, 0, 0; 0, 1, 0]); - assert (isequal (l, infsupdec ({1, 0, 0; "4/3", 1, 0; 0, "1/9", 1}, "trv"))); - assert (subset (u, infsupdec ({3, 0, 7; 0, 9, "-0x1.2AAAAAAAAAAACp3"; 0, 0, "0x1.C25ED097B425Ep2"}, ... - {3, 0, 7; 0, 9, "-0x1.2AAAAAAAAAAAAp3"; 0, 0, "0x1.C25ED097B426p2"}))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sinrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sinrev.m +[inst/@infsup/uplus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/uplus.m ***** # from the documentation string -***** assert (isequal (sinrev (infsupdec (-1), infsupdec (0, 6)), infsupdec ("[0x1.2D97C7F3321D2p2, 0x1.2D97C7F3321D3p2]_trv"))); +***** assert (+infsup (2, 3) == infsup (2, 3)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sinRev; + testcases = testdata.NoSignal.infsup.pos; for testcase = [testcases]' assert (isequaln (... - sinrev (testcase.in{1}), ... + uplus (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sinRev; + testcases = testdata.NoSignal.infsup.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sinrev (in1), out)); + assert (isequaln (uplus (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sinRev; + testcases = testdata.NoSignal.infsup.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3795,27 +3986,25 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sinrev (in1), out)); + assert (isequaln (uplus (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sinRevBin; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.pos; for testcase = [testcases]' assert (isequaln (... - sinrev (testcase.in{1}, testcase.in{2}), ... + uplus (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sinRevBin; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sinrev (in1, in2), out)); + assert (isequaln (uplus (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sinRevBin; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -3824,35 +4013,119 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sinrev (in1, in2), out)); + assert (isequaln (uplus (in1), out)); 7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/uminus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/uminus.m +[inst/@infsup/atan2rev1.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2rev1.m ***** # from the documentation string -***** assert (isequal (-infsupdec (2, 3), infsupdec (-3, -2))); +***** assert (atan2rev1 (infsup (1, 2), infsup ("pi") / 4) == "[0x1.FFFFFFFFFFFFFp-1, 0x1.0000000000001p1]"); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/setdiff.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/setdiff.m +***** assert (isempty (setdiff (infsup (), infsup (1, 4)))); +***** assert (setdiff (infsup (1, 3), infsup ()) == infsup (1, 3)); +***** assert (isempty (setdiff (infsup (1, 3), infsup (-inf, inf)))); +***** assert (isempty (setdiff (infsup (1, 3), infsup (1, 4)))); +***** assert (setdiff (infsup (-inf, inf), infsup (1, 4)) == infsup (-inf, inf)); +***** # from the documentation string + assert (setdiff (infsup (1, 3), infsup (2, 4)) == infsup (1, 2)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/transpose.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/transpose.m +***** assert (transpose (infsup (magic (3))) == infsup (magic (3).')); +***** # from the documentation string +***** assert (transpose (infsup (zeros (1, 3), ones (1, 3))) == infsup (zeros (3, 1), ones (3, 1))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/fprintf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fprintf.m +***** xtest + assert (evalc ("n = fprintf ('%g', infsup ('pi'));"), "3.14159 3.1416"); + assert (n, 14); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/prod.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/prod.m +***** # from the documentation string +***** assert (prod (infsup (1 : 4)) == 24); +***** assert (prod (infsup ([])) == 1); +***** assert (prod (infsup (magic (3))) == [96, 45, 84]); +***** assert (prod (infsup (magic (3)), 2) == [48; 105; 72]); +***** assert (prod (infsup (magic (3)), 3) == magic (3)); +***** assert (prod (prod (reshape (infsup (1:24), 1, 2, 3, 4))) == reshape ([720, 665280, 13366080, 96909120], 1, 1, 1, 4)) +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/disp.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/disp.m +***** assert (disp (infsup([])), ""); +***** assert (disp (infsup(zeros (0, 1))), ""); +***** assert (disp (infsup(zeros (1, 0))), ""); +***** assert (disp (infsup(0)), "[0]\n"); +***** assert (disp (infsup(0, 1)), "[0, 1]\n"); +***** assert (disp (infsup([0 0])), " [0] [0]\n"); +***** assert (disp (infsup([0 0; 0 0])), " [0] [0]\n [0] [0]\n"); +***** assert (disp (infsup([0; 0])), " [0]\n [0]\n"); +***** assert (disp (infsup (zeros (1, 1, 1, 0))), ""); +***** assert (disp (infsup(zeros(2, 2, 2))), "ans(:,:,1) =\n\n [0] [0]\n [0] [0]\n\nans(:,:,2) =\n\n [0] [0]\n [0] [0]\n") +***** test + i = infsupdec (reshape (1:24, 2, 3, 4)); + i(1, 1, 2) = entire (); + i(1, 1, 3) = empty (); + i(1, 1, 4) = nai (); + assert (disp (i(1,1,:)), "ans(:,:,1) = [1]_com\nans(:,:,2) = [Entire]_dac\nans(:,:,3) = [Empty]_trv\nans(:,:,4) = [NaI]\n") +***** test + x = infsup (zeros ([1 2 2])); + unwind_protect + format compact + compact = disp (x); + format loose + loose = disp (x); + unwind_protect_cleanup + format + end_unwind_protect + assert (compact, "ans(:,:,1) =\n [0] [0]\nans(:,:,2) =\n [0] [0]\n"); + assert (loose, "ans(:,:,1) =\n\n [0] [0]\n\nans(:,:,2) =\n\n [0] [0]\n"); +***** test + x = infsup (zeros ([1 1 2])); + unwind_protect + format compact + compact = disp (x); + format loose + loose = disp (x); + unwind_protect_cleanup + format + end_unwind_protect + assert (compact, "ans(:,:,1) = [0]\nans(:,:,2) = [0]\n"); + assert (loose, "ans(:,:,1) = [0]\nans(:,:,2) = [0]\n"); +warning: test: file /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/disp.m leaked global variables: current_print_indent_level +13 tests, 13 passed, 0 known failure, 0 skipped +[inst/@infsup/powrev1.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/powrev1.m +***** # from the documentation string +***** assert (powrev1 (infsup (2, 5), infsup (3, 6)) == "[0x1.3EE8390D43955, 0x1.3988E1409212Fp1]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.neg; + testcases = testdata.NoSignal.infsup.powRev1; for testcase = [testcases]' assert (isequaln (... - uminus (testcase.in{1}), ... + powrev1 (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.neg; + testcases = testdata.NoSignal.infsup.powRev1; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (uminus (in1), out)); + assert (isequaln (powrev1 (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.neg; + testcases = testdata.NoSignal.infsup.powRev1; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -3861,95 +4134,46 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); + in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (uminus (in1), out)); + assert (isequaln (powrev1 (in1, in2, in3), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/mpower.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mpower.m -***** # from the documentation string -***** assert (isequal (infsupdec (magic (3)) ^ 2, infsupdec (magic (3) ^ 2))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/powrev2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/powrev2.m +[inst/@infsup/mtimes.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mtimes.m ***** # from the documentation string -***** assert (isequal (powrev2 (infsupdec (2, 5), infsupdec (3, 6)), infsupdec ("[0x1.5D7E8F22BA886p-1, 0x1.4AE00D1CFDEB5p1]_trv"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/nextout.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/nextout.m +***** assert (infsup ([1, 2; 7, 15], [2, 2; 7.5, 15]) * infsup ([3, 3; 0, 1], [3, 3.25; 0, 2]) == infsup ([3, 5; 21, 36], [6, 10.5; 22.5, 54.375])); +***** # matrix multiplication using BLAS routines +***** assert (mtimes (infsup ([1, 2; 7, 15], [2, 2; 7.5, 15]), infsup ([3, 3; 0, 1], [3, 3.25; 0, 2]), 'valid') == infsup ([3, 5; 21, 36], [6, 10.5; 22.5, 54.375])); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/pow10.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow10.m ***** # from the documentation string + assert (pow10 (infsup (5)) == infsup (100000)); +***** # correct use of signed zeros ***** test - x = nextout (infsupdec (1)); - assert (inf (x), 1 - eps / 2); - assert (sup (x), 1 + eps); - assert (decorationpart (x), {"trv"}); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cbrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cbrt.m -***** # from the documentation string -***** assert (isequal (cbrt (infsupdec (-27, 27)), infsupdec (-3, 3))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/prod.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/prod.m -***** # from the documentation string -***** assert (prod (infsupdec (1 : 4)) == 24); -***** assert (prod (infsupdec ([])) == 1); -***** assert (isequal (prod (infsupdec (magic (3))), infsupdec ([96, 45, 84]))); -***** assert (isequal (prod (infsupdec (magic (3)), 2), infsupdec ([48; 105; 72]))); -***** assert (isequal (prod (infsupdec (magic (3)), 3), infsupdec (magic (3)))); -***** assert (isequal (prod (prod (reshape (infsup (1:24), 1, 2, 3, 4))), infsup (reshape ([720, 665280, 13366080, 96909120], 1, 1, 1, 4)))); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsupdec/absrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/absrev.m -***** # Empty interval -***** assert (isequal (absrev (infsupdec ()), infsupdec ())); -***** assert (isequal (absrev (infsupdec (0, 1), infsupdec ()), infsupdec ())); -***** assert (isequal (absrev (infsupdec (0, 1), infsupdec (7, 9)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (), infsupdec (0, 1)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (-2, -1)), infsupdec ())); -***** # Singleton intervals -***** assert (isequal (absrev (infsupdec (1)), infsupdec (-1, 1, "trv"))); -***** assert (isequal (absrev (infsupdec (0)), infsupdec (0, "trv"))); -***** assert (isequal (absrev (infsupdec (-1)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (realmax)), infsupdec (-realmax, realmax, "trv"))); -***** assert (isequal (absrev (infsupdec (realmin)), infsupdec (-realmin, realmin, "trv"))); -***** assert (isequal (absrev (infsupdec (-realmin)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (-realmax)), infsupdec ())); -***** # Bound intervals -***** assert (isequal (absrev (infsupdec (1, 2)), infsupdec (-2, 2, "trv"))); -***** assert (isequal (absrev (infsupdec (1, 2), infsupdec (0, 2)), infsupdec (1, 2, "trv"))); -***** assert (isequal (absrev (infsupdec (0, 1), infsupdec (-0.5, 2)), infsupdec (-0.5, 1, "trv"))); -***** assert (isequal (absrev (infsupdec (-1, 1)), infsupdec (-1, 1, "trv"))); -***** assert (isequal (absrev (infsupdec (-1, 0)), infsupdec (0, "trv"))); -***** # Unbound intervals -***** assert (isequal (absrev (infsupdec (0, inf)), infsupdec (-inf, inf, "trv"))); -***** assert (isequal (absrev (infsupdec (-inf, inf)), infsupdec (-inf, inf, "trv"))); -***** assert (isequal (absrev (infsupdec (-inf, 0)), infsupdec (0, "trv"))); -***** assert (isequal (absrev (infsupdec (1, inf), infsupdec (-inf, 0)), infsupdec (-inf, -1, "trv"))); -***** assert (isequal (absrev (infsupdec (-1, inf)), infsupdec (-inf, inf, "trv"))); -***** assert (isequal (absrev (infsupdec (-inf, -1)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (-inf, 1)), infsupdec (-1, 1, "trv"))); -***** # from the documentation string -***** assert (isequal (absrev (infsupdec (-2, 1)), infsupdec (-1, 1, "trv"))); + x = pow10 (infsup (-inf, -realmax)); + assert (signbit (inf (x))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test - # Scalar evaluation with one argument - testcases = testdata.NoSignal.infsupdec.absRev; + # Scalar evaluation + testcases = testdata.NoSignal.infsup.exp10; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}), ... + pow10 (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation with one argument - testcases = testdata.NoSignal.infsupdec.absRev; + # Vector evaluation + testcases = testdata.NoSignal.infsup.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1), out)); + assert (isequaln (pow10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.absRev; + testcases = testdata.NoSignal.infsup.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3960,25 +4184,40 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (absrev (in1), out)); + assert (isequaln (pow10 (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/vertcat.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/vertcat.m +***** assert (vertcat (infsup (1), infsup (2)) == infsup (vertcat (1, 2))); ***** test - # Scalar evaluation with two arguments - testcases = testdata.NoSignal.infsupdec.absRevBin; + # from the documentation string + a = infsup (2, 5); + assert (vertcat (a, a, a) == infsup ([2; 2; 2], [5; 5; 5])); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/subset.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subset.m +***** assert (subset (infsup (1, 2), infsup (1, 3))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.subset; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}, testcase.in{2}), ... + subset (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation with two arguments - testcases = testdata.NoSignal.infsupdec.absRevBin; + # Vector evaluation + testcases = testdata.NoSignal.infsup.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1, in2), out)); + assert (isequaln (subset (in1, in2), out)); ***** test - # N-dimensional array evaluation with two arguments - testcases = testdata.NoSignal.infsupdec.absRevBin; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -3991,84 +4230,121 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (absrev (in1, in2), out)); -31 tests, 31 passed, 0 known failure, 0 skipped -[inst/@infsupdec/fma.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/fma.m + assert (isequaln (subset (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/fzero.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fzero.m +***** test "from the documentation string"; + f = @(x) cos (x); + df = @(x) -sin (x); + zeros = fzero (f, infsup ("[-10, 10]"), df); + assert (all (subset (pi * (-2.5:1:2.5)', zeros))); + assert (max (rad (zeros)) < 8 * eps); + sqr = @(x) x .^ 2; + zeros = fzero (sqr, infsup ("[Entire]")); + assert (all (subset (0, zeros))); + assert (max (rad (zeros)) < eps); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/size.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/size.m +***** assert (size (infsup (zeros (3, 4))), [3 4]); +***** assert (size (infsup (zeros (2, 3, 4))), [2, 3, 4]); +***** test + [x y z] = size (infsup (magic (3))); + assert (x, 3); + assert (y, 3); + assert (z, 1); +***** assert (ismatrix (infsup ([]))); +***** assert (ismatrix (infsup (0))); +***** assert (ismatrix (infsup (zeros (3, 1)))); +***** assert (ismatrix (infsup (zeros (1, 4)))); +***** assert (ismatrix (infsup (zeros (3, 4)))); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsup/mince.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mince.m +***** assert (isequal (mince (infsup (0, 10), 10), infsup (0 : 9, 1 : 10))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/hypot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/hypot.m ***** # from the documentation string -***** assert (isequal (fma (infsupdec (1+eps), infsupdec (7), infsupdec ("0.1")), infsupdec ("[0x1.C666666666668p2, 0x1.C666666666669p2]"))); +***** assert (hypot (infsup (2, 3), infsup (1, 2)) == "[0x1.1E3779B97F4A7p1, 0x1.CD82B446159F4p1]"); +***** # correct use of signed zeros +***** test + x = hypot (infsup (0), infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.fma; + testcases = testdata.NoSignal.infsup.hypot; for testcase = [testcases]' assert (isequaln (... - fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + hypot (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.fma; + testcases = testdata.NoSignal.infsup.hypot; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (fma (in1, in2, in3), out)); + assert (isequaln (hypot (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.fma; + testcases = testdata.NoSignal.infsup.hypot; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; do i = i + 1; testsize = factor (numel (in1) + i); - until (numel (testsize) > 2 | i == numel (in1)) + until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (fma (in1, in2, in3), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/ei.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/ei.m -***** assert (isempty (ei (infsupdec (0)))); -***** assert (isempty (ei (infsupdec (-inf, -2)))); -***** assert (isequal (ei (infsupdec (0, inf)), infsupdec ("[Entire]_trv"))); -***** assert (isequal (ei (infsupdec (1, inf)), infsupdec ("[0x1.E52670F350D08, Inf]_dac"))); -***** # from the documentation string -***** assert (isequal (ei (infsupdec (1)), infsupdec ("[0x1.E52670F350D08, 0x1.E52670F350D09]_com"))); + assert (isequaln (hypot (in1, in2), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/atan.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan.m +[inst/@infsup/issquare.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/issquare.m +***** assert (issquare (infsup ([]))); +***** assert (issquare (infsup (0))); +***** assert (not (issquare (infsup (zeros (1, 2))))); +***** assert (not (issquare (infsup (zeros (2, 1))))); +***** assert (issquare (infsup (zeros (5)))); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/powrev2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/powrev2.m ***** # from the documentation string -***** assert (isequal (atan (infsupdec (1)), infsupdec ("[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-1]"))); +***** assert (powrev2 (infsup (2, 5), infsup (3, 6)) == "[0x1.5D7E8F22BA886p-1, 0x1.4AE00D1CFDEB5p1]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.atan; + testcases = testdata.NoSignal.infsup.powRev2; for testcase = [testcases]' assert (isequaln (... - atan (testcase.in{1}), ... + powrev2 (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.atan; + testcases = testdata.NoSignal.infsup.powRev2; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (atan (in1), out)); + assert (isequaln (powrev2 (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.powRev2; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4077,34 +4353,49 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); + in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atan (in1), out)); + assert (isequaln (powrev2 (in1, in2, in3), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/isnai.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/isnai.m -***** assert (isnai (infsupdec ("[nai]"))); -***** assert (not (isnai (infsupdec (2, 3)))); -***** warning assert (isnai (infsupdec ("happy 42 hacking")), logical ([1 0 1])); +[inst/@infsup/linspace.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/linspace.m +***** assert (isequal (linspace (infsup (0), infsup (10), 9), infsup (linspace (0, 10, 9)))); +***** # correct use of signed zeros +***** test + x = linspace (infsup (0), infsup (0)); + assert (all (signbit (inf (x)))); + assert (all (not (signbit (sup (x))))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/csch.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/csch.m +***** # from the documentation string +***** assert (csch (infsup (1)) == "[0x1.B3AB8A78B90Cp-1, 0x1.B3AB8A78B90C1p-1]"); +***** # correct use of signed zeros +***** test + x = csch (infsup (0, inf)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.isNaI; + testcases = testdata.NoSignal.infsup.csch; for testcase = [testcases]' assert (isequaln (... - isnai (testcase.in{1}), ... + csch (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.isNaI; + testcases = testdata.NoSignal.infsup.csch; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (isnai (in1), out)); + assert (isequaln (csch (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.isNaI; + testcases = testdata.NoSignal.infsup.csch; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4115,74 +4406,33 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (isnai (in1), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsupdec/tril.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tril.m -***** assert (tril (infsupdec (magic (10))) == tril (magic (10))); -***** assert (tril (infsupdec (magic (10)), 1) == tril (magic (10), 1)); -***** assert (tril (infsupdec (magic (10)), -1) == tril (magic (10), -1)); -***** assert (tril (infsupdec (magic (10)), 0, "pack") == tril (magic (10), 0, "pack")); -***** test - A = infsupdec (zeros (3), "trv"); - assert (decorationpart (tril (A)), {"trv", "com", "com"; "trv", "trv", "com"; "trv", "trv", "trv"}); + assert (isequaln (csch (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/atan2rev1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2rev1.m -***** # from the documentation string -***** assert (isequal (atan2rev1 (infsupdec (1, 2), infsupdec ("pi") / 4), infsupdec ("[0x1.FFFFFFFFFFFFFp-1, 0x1.0000000000001p1]_trv"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/atan2rev2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2rev2.m +[inst/@infsup/pown.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pown.m ***** # from the documentation string -***** assert (isequal (atan2rev2 (infsupdec (1, 2), infsupdec ("pi") / 4), infsupdec ("[0x1.FFFFFFFFFFFFEp-1, 0x1.0000000000001p1]_trv"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/roundb.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/roundb.m -***** # Empty interval -***** assert (isequal (roundb (infsupdec ()), infsupdec ())); -***** # Singleton intervals -***** assert (isequal (roundb (infsupdec (0)), infsupdec (0))); -***** assert (isequal (roundb (infsupdec (0.5)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (0.25)), infsupdec (0))); -***** assert (isequal (roundb (infsupdec (0.75)), infsupdec (1))); -***** assert (isequal (roundb (infsupdec (1.5)), infsupdec (2, "dac"))); -***** assert (isequal (roundb (infsupdec (-0.5)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (-1.5)), infsupdec (-2, "dac"))); -***** # Bounded intervals -***** assert (isequal (roundb (infsupdec (-0.5, 0)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (0, 0.5)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (0.25, 0.5)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (-1, 0)), infsupdec (-1, 0, "def"))); -***** assert (isequal (roundb (infsupdec (-1, 1)), infsupdec (-1, 1, "def"))); -***** assert (isequal (roundb (infsupdec (-realmin, realmin)), infsupdec (0))); -***** assert (isequal (roundb (infsupdec (-realmax, realmax)), infsupdec (-realmax, realmax, "def"))); -***** # Unbounded intervals -***** assert (isequal (roundb (infsupdec (-realmin, inf)), infsupdec (0, inf, "def"))); -***** assert (isequal (roundb (infsupdec (-realmax, inf)), infsupdec (-realmax, inf, "def"))); -***** assert (isequal (roundb (infsupdec (-inf, realmin)), infsupdec (-inf, 0, "def"))); -***** assert (isequal (roundb (infsupdec (-inf, realmax)), infsupdec (-inf, realmax, "def"))); -***** assert (isequal (roundb (infsupdec (-inf, inf)), infsupdec (-inf, inf, "def"))); +***** assert (pown (infsup (5, 6), 2) == infsup (25, 36)); +***** assert (pown (infsup (-2, 1), 2) == infsup (0, 4)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.roundTiesToEven; + testcases = testdata.NoSignal.infsup.sqr; for testcase = [testcases]' assert (isequaln (... - roundb (testcase.in{1}), ... + pown (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.roundTiesToEven; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (roundb (in1), out)); + assert (isequaln (pown (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4193,43 +4443,25 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (roundb (in1), out)); -23 tests, 23 passed, 0 known failure, 0 skipped -[inst/@infsupdec/powrev1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/powrev1.m -***** # from the documentation string -***** assert (isequal (powrev1 (infsupdec (2, 5), infsupdec (3, 6)), infsupdec ("[0x1.3EE8390D43955, 0x1.3988E1409212Fp1]_trv"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/csch.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/csch.m -***** # from the documentation string -***** assert (isequal (csch (infsupdec (1)), infsupdec ("[0x1.B3AB8A78B90Cp-1, 0x1.B3AB8A78B90C1p-1]_com"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/atan2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2.m -***** # from the documentation string -***** assert (isequal (atan2 (infsupdec (1), infsupdec (-1)), infsupdec ("[0x1.2D97C7F3321D2p1, 0x1.2D97C7F3321D3p1]"))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (pown (in1, 2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.atan2; + testcases = testdata.NoSignal.infsup.pown; for testcase = [testcases]' assert (isequaln (... - atan2 (testcase.in{1}, testcase.in{2}), ... + pown (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.atan2; + testcases = testdata.NoSignal.infsup.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (atan2 (in1, in2), out)); + assert (isequaln (pown (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.atan2; + testcases = testdata.NoSignal.infsup.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4242,41 +4474,32 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atan2 (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/mldivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mldivide.m -***** # unique solution -***** assert (isequal (infsupdec ([1, 0; 0, 2]) \ [2, 0; 0, 4], infsupdec ([2, 0; 0 2], "trv"))); -***** # no solution -***** assert (all (isempty (infsupdec ([1, 0; 2, 0]) \ [3; 0]))); -***** # many solutions -***** assert (isequal (infsupdec ([1, 0; 2, 0]) \ [4; 8], infsupdec ([4; -inf], [4; inf], "trv"))); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsupdec/exp.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/exp.m + assert (isequaln (pown (in1, in2), out)); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsup/cosh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cosh.m ***** # from the documentation string -***** assert (isequal (exp (infsupdec (1)), infsupdec ("e"))); +***** assert (cosh (infsup (1)) == "[0x1.8B07551D9F55, 0x1.8B07551D9F551]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.exp; + testcases = testdata.NoSignal.infsup.cosh; for testcase = [testcases]' assert (isequaln (... - exp (testcase.in{1}), ... + cosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.exp; + testcases = testdata.NoSignal.infsup.cosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (exp (in1), out)); + assert (isequaln (cosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsup.cosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4287,33 +4510,35 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (exp (in1), out)); + assert (isequaln (cosh (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/realsqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/realsqrt.m +[inst/@infsup/max.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/max.m ***** # from the documentation string -***** assert (isequal (realsqrt (infsupdec (-6, 4)), infsupdec (0, 2, "trv"))); +***** assert (max (infsup (2, 3), infsup (1, 2)) == infsup (2, 3)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sqrt; + testcases = testdata.NoSignal.infsup.max; for testcase = [testcases]' assert (isequaln (... - realsqrt (testcase.in{1}), ... + max (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqrt; + testcases = testdata.NoSignal.infsup.max; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (realsqrt (in1), out)); + assert (isequaln (max (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrt; + testcases = testdata.NoSignal.infsup.max; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4322,39 +4547,70 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (realsqrt (in1), out)); + assert (isequaln (max (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/transpose.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/transpose.m -***** assert (isequal (transpose (infsupdec (magic (3))), infsupdec (magic (3).'))); -***** # from the documentation string -***** assert (isequal (transpose (infsupdec (zeros (1, 3), ones (1, 3))), infsupdec (zeros (3, 1), ones (3, 1)))); +[inst/@infsup/reshape.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/reshape.m +***** assert (reshape (infsup (1 : 6), 2, 3) == infsup (reshape (1 : 6, 2, 3))); +***** assert (reshape (infsup (1 : 24), 2, [], 4) == infsup (reshape (1 : 24, 2, 3, 4))); 2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsupdec/coshrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/coshrev.m +[inst/@infsup/lu.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/lu.m +***** test + [l, u] = lu (infsup (magic (3))); + assert (l == infsup ({1, 0, 0; .375, 1, 0; .5, "68/37", 1}));, ... + assert (subset (u, infsup ({8, 1, 6; 0, 4.625, 4.75; 0, 0, "-0x1.3759F2298375Bp3"}, ... + {8, 1, 6; 0, 4.625, 4.75; 0, 0, "-0x1.3759F22983759p3"}))); +***** test + A = magic (3); + A([1, 5, 9]) = 0; + [l, u, p] = lu (infsup (A)); + assert (p, [0, 0, 1; 1, 0, 0; 0, 1, 0]); + assert (l == infsup ({1, 0, 0; "4/3", 1, 0; 0, "1/9", 1})); + assert (subset (u, infsup ({3, 0, 7; 0, 9, "-0x1.2AAAAAAAAAAACp3"; 0, 0, "0x1.C25ED097B425Ep2"}, ... + {3, 0, 7; 0, 9, "-0x1.2AAAAAAAAAAAAp3"; 0, 0, "0x1.C25ED097B426p2"}))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/chol.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/chol.m +***** assert (chol (infsup (pascal (10))) == chol (pascal (10))); +***** assert (chol (infsupdec (pascal (10))) == chol (pascal (10))); +***** test + A = infsup ([2, 1; 1, 1]); + R = chol (A); + assert (ismember ([sqrt(2), 1/sqrt(2); 0, 1/sqrt(2)], R)); + assert (wid (R) < 1e-15); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/tanh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tanh.m ***** # from the documentation string -***** assert (isequal (coshrev (infsupdec (-2, 1)), infsupdec (0, "trv"))); +***** assert (tanh (infsup (1)) == "[0x1.85EFAB514F394p-1, 0x1.85EFAB514F395p-1]"); +***** # correct use of signed zeros +***** test + x = tanh (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.coshRev; + testcases = testdata.NoSignal.infsup.tanh; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}), ... + tanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.coshRev; + testcases = testdata.NoSignal.infsup.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (coshrev (in1), out)); + assert (isequaln (tanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.coshRev; + testcases = testdata.NoSignal.infsup.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4365,27 +4621,38 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (coshrev (in1), out)); + assert (isequaln (tanh (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/log1p.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log1p.m +***** # from the documentation string +***** assert (log1p (infsup (eps)) == "[0x1.FFFFFFFFFFFFFp-53, 0x1p-52]"); +***** # correct use of signed zeros +***** test + x = log1p (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.coshRevBin; + testcases = testdata.NoSignal.infsup.logp1; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}, testcase.in{2}), ... + log1p (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.coshRevBin; + testcases = testdata.NoSignal.infsup.logp1; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (coshrev (in1, in2), out)); + assert (isequaln (log1p (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.coshRevBin; + testcases = testdata.NoSignal.infsup.logp1; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4394,36 +4661,38 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (coshrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/interior.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/interior.m -***** assert (interior (infsupdec (1, 2), infsupdec (0, 3))); + assert (isequaln (log1p (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/pow2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow2.m +***** # from the documentation string + assert (pow2 (infsup (5)) == infsup (32)); +***** # correct use of signed zeros +***** test + x = pow2 (infsup (-inf, -realmax)); + assert (signbit (inf (x))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.interior; + testcases = testdata.NoSignal.infsup.exp2; for testcase = [testcases]' assert (isequaln (... - interior (testcase.in{1}, testcase.in{2}), ... + pow2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.interior; + testcases = testdata.NoSignal.infsup.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (interior (in1, in2), out)); + assert (isequaln (pow2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.interior; + testcases = testdata.NoSignal.infsup.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4432,39 +4701,45 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (interior (in1, in2), out)); + assert (isequaln (pow2 (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/floor.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/floor.m +[inst/@infsup/expm.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/expm.m +***** # from the paper +***** test + A = infsup ([0 1; 0 -3], [0 1; 0 -2]); + assert (all (all (subset (infsup ([1, 0.316738; 0, 0.0497871], [1, 0.432332; 0, 0.135335]), expm (A))))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/log2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log2.m ***** # from the documentation string -***** assert (isequal (floor (infsupdec (2.5, 3.5)), infsupdec (2, 3, "def"))); -***** assert (isequal (floor (infsupdec (-0.5, 5)), infsupdec (-1, 5, "def"))); -***** warning - _ = @infsupdec; - assert (isequal (... - floor (_ ("jansen")), nai)) #ghtwish +***** assert (log2 (infsup (2)) == 1); +***** # correct use of signed zeros +***** test + x = log2 (infsup (1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.floor; + testcases = testdata.NoSignal.infsup.log2; for testcase = [testcases]' assert (isequaln (... - floor (testcase.in{1}), ... + log2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.floor; + testcases = testdata.NoSignal.infsup.log2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (floor (in1), out)); + assert (isequaln (log2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsup.log2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4475,32 +4750,33 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (floor (in1), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsupdec/log2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log2.m + assert (isequaln (log2 (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/mid.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mid.m +***** assert (mid (infsup (-inf, inf)), 0); ***** # from the documentation string -***** assert (isequal (log2 (infsupdec (2)), infsupdec (1))); +***** assert (mid (infsup (2.5, 3.5)), 3); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.log2; + testcases = testdata.NoSignal.infsup.mid; for testcase = [testcases]' assert (isequaln (... - log2 (testcase.in{1}), ... + mid (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.log2; + testcases = testdata.NoSignal.infsup.mid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log2 (in1), out)); + assert (isequaln (mid (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsup.mid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4511,62 +4787,25 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (log2 (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/csc.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/csc.m -***** # from the documentation string -***** assert (isequal (csc (infsupdec (1)), infsupdec ("[0x1.303AA9620B223, 0x1.303AA9620B224]_com"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/rsqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rsqrt.m -***** # from the documentation string -***** assert (isequal (rsqrt (infsupdec (-6, 4)), infsupdec (.5, inf, "trv"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/mulrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mulrev.m -***** # IEEE Std 1788-2015 mulRevToPair examples -***** test - [u, v] = mulrev (infsupdec (0), infsupdec (1, 2)); - assert (isempty (u) & isempty (v)); -***** test - [u, v] = mulrev (infsupdec (0), infsupdec (0, 1)); - assert (isentire (u) & isempty (v)); -***** test - [u, v] = mulrev (infsupdec (1), infsupdec (1, 2)); - assert (isequal (u, infsupdec (1, 2)) & isempty (v)); -***** test - [u, v] = mulrev (infsupdec (1, inf), infsupdec (1)); - assert (isequal (u, infsupdec (0, 1, "dac")) & isempty (v)); -***** test - [u, v] = mulrev (infsupdec (-1, 1), infsupdec (1, 2)); - assert (isequal (u, infsupdec (-inf, -1, "trv")) & isequal (v, infsupdec (1, inf, "trv"))); -***** test - [u, v] = mulrev (infsupdec (-inf, inf), infsupdec (1)); - assert (isequal (u, infsupdec (-inf, 0, "trv")) & isequal (v, infsupdec (0, inf, "trv"))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (mid (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair1; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.mid; for testcase = [testcases]' assert (isequaln (... - nthargout (1, 2, @mulrev, testcase.in{1}, testcase.in{2}), ... + mid (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair1; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.mid; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); + assert (isequaln (mid (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair1; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.mid; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4575,27 +4814,46 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); + assert (isequaln (mid (in1), out)); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsup/prepad.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/prepad.m +***** assert (prepad (infsup (2:4), 4, 1) == infsup (1:4)); +***** assert (prepad (infsup (0:2), 2, 1) == infsup (1:2)); +***** assert (prepad (infsup (0), 10, 0, 3) == infsup (zeros (1, 1, 10))) +***** assert (prepad (infsup (zeros (1, 2, 2)), 3) == infsup (zeros (1, 3, 2))); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/pow.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow.m +***** # from the documentation string +***** assert (pow (infsup (5, 6), infsup (2, 3)) == infsup (25, 216)); +***** # correct use of signed zeros +***** test + x = pow (infsup (0), infsup (1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair2; + testcases = testdata.NoSignal.infsup.pow; for testcase = [testcases]' assert (isequaln (... - nthargout (2, @mulrev, testcase.in{1}, testcase.in{2}), ... + pow (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair2; + testcases = testdata.NoSignal.infsup.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); + assert (isequaln (pow (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair2; + testcases = testdata.NoSignal.infsup.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4608,25 +4866,32 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); + assert (isequaln (pow (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/le.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/le.m +***** assert (le (infsup (1, 3), infsup (3))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mulRev; + testcases = testdata.NoSignal.infsup.less; for testcase = [testcases]' assert (isequaln (... - mulrev (testcase.in{1}, testcase.in{2}), ... + le (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mulRev; + testcases = testdata.NoSignal.infsup.less; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (mulrev (in1, in2), out)); + assert (isequaln (le (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mulRev; + testcases = testdata.NoSignal.infsup.less; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4639,29 +4904,38 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mulrev (in1, in2), out)); + assert (isequaln (le (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/uminus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/uminus.m +***** # from the documentation string +***** assert (-infsup (2, 3) == infsup (-3, -2)); +***** # correct use of signed zeros +***** test + x = uminus (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mulRevTen; + testcases = testdata.NoSignal.infsup.neg; for testcase = [testcases]' assert (isequaln (... - mulrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + uminus (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mulRevTen; + testcases = testdata.NoSignal.infsup.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (mulrev (in1, in2, in3), out)); + assert (isequaln (uminus (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mulRevTen; + testcases = testdata.NoSignal.infsup.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4670,40 +4944,37 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mulrev (in1, in2, in3), out)); -18 tests, 18 passed, 0 known failure, 0 skipped -[inst/@infsupdec/erfc.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/erfc.m -***** # from the documentation string -***** assert (erfc (infsupdec (1)) == "[0x1.4226162FBDDD4p-3, 0x1.4226162FBDDD5p-3]"); + assert (isequaln (uminus (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/ctranspose.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ctranspose.m +***** assert (ctranspose (infsup (magic (3))) == infsup (magic (3)')); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/pow2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow2.m +[inst/@infsup/sinrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinrev.m ***** # from the documentation string -***** assert (isequal (pow2 (infsupdec (5)), infsupdec (32))); +***** assert (sinrev (infsup (-1), infsup (0, 6)) == "[0x1.2D97C7F3321D2p2, 0x1.2D97C7F3321D3p2]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.exp2; + testcases = testdata.NoSignal.infsup.sinRev; for testcase = [testcases]' assert (isequaln (... - pow2 (testcase.in{1}), ... + sinrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.exp2; + testcases = testdata.NoSignal.infsup.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pow2 (in1), out)); + assert (isequaln (sinrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.exp2; + testcases = testdata.NoSignal.infsup.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4711,55 +4982,28 @@ do i = i + 1; testsize = factor (numel (in1) + i); - until (numel (testsize) > 2 | i == numel (in1)) + until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pow2 (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/gammaln.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gammaln.m -***** assert (isequal (gammaln (infsupdec (-inf, inf)), infsupdec ("[-0x1.F19B9BCC38A42p-4, +Inf]_trv"))); -***** # from the documentation string -***** assert (isequal (gammaln (infsupdec (1.5)), infsupdec ("[-0x1.EEB95B094C192p-4, -0x1.EEB95B094C191p-4]_com"))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsupdec/strictsubset.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/strictsubset.m -***** assert (strictsubset (infsupdec (1, 2), infsupdec (1, 3))); -***** assert (strictsubset (infsupdec (2, 3), infsupdec (1, 3))); -***** assert (not (strictsubset (infsupdec (1, 2), infsupdec (1, 2)))); -***** assert (not (strictsubset (infsupdec (1, 3), infsupdec (1, 2)))); -***** assert (strictsubset (infsupdec (), infsupdec (1, 3))); -***** assert (not (strictsubset (infsupdec (), infsupdec ()))); -***** assert (strictsubset (infsupdec (), infsupdec (-inf, inf))); -***** assert (strictsubset (infsupdec (0, inf), infsupdec (-inf, inf))); -***** assert (strictsubset (infsupdec (-inf, 0), infsupdec (-inf, inf))); -***** assert (not (strictsubset (infsupdec (-inf, inf), infsupdec (-inf, inf)))); -10 tests, 10 passed, 0 known failure, 0 skipped -[inst/@infsupdec/precedes.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/precedes.m -***** assert (precedes (infsupdec (1, 2), infsupdec (2, 3))); -***** assert (not (precedes (infsupdec (1, 2.1), infsupdec (1.9, 3)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (sinrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.precedes; + testcases = testdata.NoSignal.infsup.sinRevBin; for testcase = [testcases]' assert (isequaln (... - precedes (testcase.in{1}, testcase.in{2}), ... + sinrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.precedes; + testcases = testdata.NoSignal.infsup.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (precedes (in1, in2), out)); + assert (isequaln (sinrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.precedes; + testcases = testdata.NoSignal.infsup.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4772,122 +5016,31 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (precedes (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/erf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/erf.m -***** # from the documentation string -***** assert (erf (infsupdec (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/subsref.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subsref.m -***** assert (isequal (infsupdec (magic (3))([1, 2, 3]), infsupdec (magic (3)([1, 2, 3])))); -***** test - x = infsupdec (magic (3), magic (3) + 1); - assert (x(1) == infsupdec (8, 9)); -***** test - x = infsupdec (magic (3), magic (3) + 1); - assert (x(:, 2) == infsupdec ([1; 5; 9], [2; 6; 10])); -***** assert (infsupdec (3).inf, 3); -***** test - x = infsupdec (magic (3), magic (3) + 1); - assert (x.inf, magic (3)); -***** assert (isequal (reshape (infsupdec (1:16), 2, 2, 2, 2)(2, 7), infsupdec (14))) -***** assert (isequal (reshape (infsupdec (1:16), 2, 2, 2, 2)(:, 2, 2, 2), infsupdec ([15; 16]))) + assert (isequaln (sinrev (in1, in2), out)); 7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/mod.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mod.m -***** assert (isequal (mod (infsupdec (), infsupdec ()), infsupdec ())); -***** assert (isequal (mod (infsupdec (0), infsupdec ()), infsupdec ())); -***** assert (isequal (mod (infsupdec (), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (0), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (1), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (0, 1), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (1, 2), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (0, inf), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (1, inf), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (realmax, inf), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (0), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0), infsupdec (0, 1)), infsupdec (0, "trv"))); -***** assert (isequal (mod (infsupdec (0), infsupdec (1, 2)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0), infsupdec (0, inf)), infsupdec (0, "trv"))); -***** assert (isequal (mod (infsupdec (0), infsupdec (1, inf)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0), infsupdec (realmax, inf)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (2), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (4), infsupdec (2)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (6), infsupdec (3)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (8), infsupdec (2)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (9), infsupdec (3)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 2)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 4)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 8)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 16)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 32)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0.1), infsupdec (0.1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0.1 * 2), infsupdec (0.1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0.1 * 4), infsupdec (0.1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (pi), infsupdec (pi)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (pi), infsupdec (pi / 2)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (pi), infsupdec (pi / 4)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (pow2 (-1074)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (pow2 (-1073)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (pow2 (-1072)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (2)), infsupdec (1))); -***** assert (isequal (mod (infsupdec (0.5), infsupdec (1)), infsupdec (0.5))); -***** assert (isequal (mod (infsupdec (pi), infsupdec (3.15)), infsupdec (pi))); -***** assert (isequal (mod (infsupdec (1), infsupdec (2, 3)), infsupdec (1))); -***** assert (isequal (mod (infsupdec (1), infsupdec (2, inf)), infsupdec (1, "dac"))); -***** assert (isequal (mod (infsupdec (0.5), infsupdec (1, 2)), infsupdec (0.5))); -***** assert (isequal (mod (infsupdec (0.5), infsupdec (1, inf)), infsupdec (0.5, "dac"))); -***** assert (isequal (mod (infsupdec (pi), infsupdec (3.15)), infsupdec (pi))); -***** assert (isequal (mod (infsupdec (pi), infsupdec (3.15, inf)), infsupdec (pi, "dac"))); -***** assert (isequal (mod (infsupdec (0, 1), infsupdec (0, 1)), infsupdec (0, 1, "trv"))); -***** assert (isequal (mod (infsupdec (0, 2), infsupdec (0, 1)), infsupdec (0, 1, "trv"))); -***** assert (isequal (mod (infsupdec (0, 1), infsupdec (0, 2)), infsupdec (0, 1, "trv"))); -***** assert (isequal (mod (infsupdec (0, realmax), infsupdec (0, realmax)), infsupdec (0, realmax, "trv"))); -***** assert (isequal (mod (infsupdec (realmax, inf), infsupdec (realmax, inf)), infsupdec (0, inf, "def"))); -***** assert (isequal (mod (infsupdec (0, inf), infsupdec (0, inf)), infsupdec (0, inf, "trv"))); -***** assert (isequal (mod (infsupdec (0), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0, 1), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (1, 2), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (0, inf), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (1, inf), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (realmax, inf), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (0, 1)), infsupdec (0, 0.5, "trv"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (1, 2)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (0, inf)), infsupdec (0, 1, "trv"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (1, inf)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (2, inf)), infsupdec (1, "dac"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (realmax, inf)), infsupdec (1, "dac"))); -66 tests, 66 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sinh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sinh.m -***** # from the documentation string -***** assert (isequal (sinh (infsupdec (1)), infsupdec ("[0x1.2CD9FC44EB982, 0x1.2CD9FC44EB983]"))); +[inst/@infsup/mag.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mag.m +***** assert (mag (infsup (-3, 4)), 4); +***** assert (mag (infsup (-4, 3)), 4); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sinh; + testcases = testdata.NoSignal.infsup.mag; for testcase = [testcases]' assert (isequaln (... - sinh (testcase.in{1}), ... + mag (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sinh; + testcases = testdata.NoSignal.infsup.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sinh (in1), out)); -***** test + assert (isequaln (mag (in1), out)); # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sinh; + testcases = testdata.NoSignal.infsup.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4898,33 +5051,24 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sinh (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/fix.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/fix.m -***** # from the documentation string -***** assert (isequal (fix (infsupdec (2.5, 3.5)), infsupdec (2, 3, "def"))); -***** assert (isequal (fix (infsupdec (-0.5, 5)), infsupdec (0, 5, "def"))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (mag (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.trunc; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.mag; for testcase = [testcases]' assert (isequaln (... - fix (testcase.in{1}), ... + mag (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.trunc; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (fix (in1), out)); + assert (isequaln (mag (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.trunc; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4935,87 +5079,38 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (fix (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/dot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/dot.m -***** # matrix × matrix -***** assert (isequal (dot (infsupdec (magic (3)), magic (3)), infsupdec([89, 107, 89]))); -***** assert (isequal (dot (infsupdec (magic (3)), magic (3), 1), infsupdec([89, 107, 89]))); -***** assert (isequal (dot (infsupdec (magic (3)), magic (3), 2), infsupdec([101; 83; 101]))); -***** # matrix × vector -***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3]), infsupdec([28; 34; 28]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3], 1), infsupdec([15, 30, 45]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3], 2), infsupdec([28; 34; 28]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3]), infsupdec([26, 38, 26]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3], 1), infsupdec([26, 38, 26]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3], 2), infsupdec([15; 30; 45]))); -***** # matrix × scalar -***** assert (isequal (dot (infsupdec (magic (3)), 42), infsupdec([630, 630, 630]))); -***** assert (isequal (dot (infsupdec (magic (3)), 42, 1), infsupdec([630, 630, 630]))); -***** assert (isequal (dot (infsupdec (magic (3)), 42, 2), infsupdec([630; 630; 630]))); -***** # vector x vector -***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6]), infsupdec(32))); -***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6], 1), infsupdec([4, 10, 18]))); -***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6], 2), infsupdec(32))); -***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6]), infsupdec(32))); -***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6], 1), infsupdec(32))); -***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6], 2), infsupdec([4; 10; 18]))); -***** # vector × scalar -***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42), infsupdec(252))); -***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42, 1), infsupdec([42, 84, 126]))); -***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42, 2), infsupdec(252))); -***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42), infsupdec(252))); -***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42, 1), infsupdec(252))); -***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42, 2), infsupdec([42; 84; 126]))); -***** # empty matrix x empty matrix -***** assert (isequal (dot (infsupdec (ones (0, 2)), infsupdec (ones (0, 2))), infsupdec ([0, 0]))); -***** # N-dimensional arrays -***** test - x = infsupdec (reshape (1:24, 2, 3, 4)); - y = infsupdec (2.*ones (2, 3, 4)); - assert (isequal (dot (x, y, 3), infsupdec ([80, 96, 112; 88, 104, 120]))) -***** test - x = infsupdec (ones (2, 2, 2, 2)); - y = infsupdec (1); - assert (size (dot (x, y)), [1, 2, 2, 2]); - assert (size (dot (x, y, 1)), [1, 2, 2, 2]); - assert (size (dot (x, y, 2)), [2, 1, 2, 2]); - assert (size (dot (x, y, 3)), [2, 2, 1, 2]); - assert (size (dot (x, y, 4)), [2, 2, 2]); - assert (size (dot (x, y, 5)), [2, 2, 2, 2]); -***** # from the documentation string -***** assert (isequal (dot ([infsupdec(1), 2, 3], [infsupdec(2), 3, 4]), infsupdec (20))); -***** assert (isequal (dot (infsupdec ([realmax; realmin; realmax]), [1; -1; -1], 1), infsupdec (-realmin))); -29 tests, 29 passed, 0 known failure, 0 skipped -[inst/@infsupdec/rdivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rdivide.m + assert (isequaln (mag (in1), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/log10.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log10.m ***** # from the documentation string -***** assert (isequal (infsupdec (2, 3) ./ infsupdec (1, 2), infsupdec (1, 3))); -***** assert (1 ./ infsupdec (1, 4) == infsupdec (0.25, 1)); +***** assert (log10 (infsup (2)) == "[0x1.34413509F79FEp-2, 0x1.34413509F79FFp-2]"); +***** # correct use of signed zeros +***** test + x = log10 (infsup (1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.div; + testcases = testdata.NoSignal.infsup.log10; for testcase = [testcases]' assert (isequaln (... - rdivide (testcase.in{1}, testcase.in{2}), ... + log10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.div; + testcases = testdata.NoSignal.infsup.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (rdivide (in1, in2), out)); + assert (isequaln (log10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.div; + testcases = testdata.NoSignal.infsup.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5024,27 +5119,54 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (rdivide (in1, in2), out)); + assert (isequaln (log10 (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/eq.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/eq.m +***** test "Empty interval"; + assert (eq (infsup (), infsup ()) == true); + assert (eq (infsup (), infsup (1)) == false); + assert (eq (infsup (0), infsup ()) == false); + assert (eq (infsup (-inf, inf), infsup ()) == false); +***** test "Singleton intervals"; + assert (eq (infsup (0), infsup (1)) == false); + assert (eq (infsup (0), infsup (0)) == true); +***** test "Bounded intervals"; + assert (eq (infsup (1, 2), infsup (3, 4)) == false); + assert (eq (infsup (1, 2), infsup (2, 3)) == false); + assert (eq (infsup (1, 2), infsup (1.5, 2.5)) == false); + assert (eq (infsup (1, 2), infsup (1, 2)) == true); +***** test "Unbounded intervals"; + assert (eq (infsup (0, inf), infsup (-inf, 0)) == false); + assert (eq (infsup (0, inf), infsup (0, inf)) == true); + assert (eq (infsup (-inf, 0), infsup (-inf, 0)) == true); + assert (eq (infsup (-inf, inf), infsup (42)) == false); + assert (eq (infsup (-inf, 0), infsup (-inf, inf)) == false); + assert (eq (infsup (-inf, inf), infsup (-inf, inf)) == true); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.recip; + testcases = testdata.NoSignal.infsup.equal; for testcase = [testcases]' assert (isequaln (... - rdivide (1, testcase.in{1}), ... + eq (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.recip; + testcases = testdata.NoSignal.infsup.equal; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (rdivide (1, in1), out)); + assert (isequaln (eq (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.recip; + # N-dimensional array evaluations + testcases = testdata.NoSignal.infsup.equal; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5053,33 +5175,63 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (rdivide (1, in1), out)); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sqrrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sqrrev.m -***** # from the documentation string -***** assert (isequal (sqrrev (infsupdec (-2, 1)), infsupdec (-1, 1, "trv"))); + assert (isequaln (eq (in1, in2), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/round.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/round.m +***** # Empty interval +***** assert (round (infsup ()) == infsup ()); +***** # Singleton intervals +***** assert (round (infsup (0)) == infsup (0)); +***** assert (round (infsup (0.5)) == infsup (1)); +***** assert (round (infsup (0.25)) == infsup (0)); +***** assert (round (infsup (0.75)) == infsup (1)); +***** assert (round (infsup (-0.5)) == infsup (-1)); +***** # Bounded intervals +***** assert (round (infsup (-0.5, 0)) == infsup (-1, 0)); +***** assert (round (infsup (0, 0.5)) == infsup (0, 1)); +***** assert (round (infsup (0.25, 0.5)) == infsup (0, 1)); +***** assert (round (infsup (-1, 0)) == infsup (-1, 0)); +***** assert (round (infsup (-1, 1)) == infsup (-1, 1)); +***** assert (round (infsup (-realmin, realmin)) == infsup (0)); +***** assert (round (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); +***** # Unbounded intervals +***** assert (round (infsup (-realmin, inf)) == infsup (0, inf)); +***** assert (round (infsup (-realmax, inf)) == infsup (-realmax, inf)); +***** assert (round (infsup (-inf, realmin)) == infsup (-inf, 0)); +***** assert (round (infsup (-inf, realmax)) == infsup (-inf, realmax)); +***** assert (round (infsup (-inf, inf)) == infsup (-inf, inf)); +***** # correct use of signed zeros +***** test + x = round (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = round (infsup (-0.25, 0.25)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sqrRev; + testcases = testdata.NoSignal.infsup.roundTiesToAway; for testcase = [testcases]' assert (isequaln (... - sqrrev (testcase.in{1}), ... + round (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqrRev; + testcases = testdata.NoSignal.infsup.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1), out)); + assert (isequaln (round (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sqrRev; + testcases = testdata.NoSignal.infsup.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5090,27 +5242,38 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sqrrev (in1), out)); + assert (isequaln (round (in1), out)); +23 tests, 23 passed, 0 known failure, 0 skipped +[inst/@infsup/tan.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tan.m +***** # from the documentation string +***** assert (tan (infsup (1)) == "[0x1.8EB245CBEE3A5, 0x1.8EB245CBEE3A6]"); +***** # correct use of signed zeros +***** test + x = tan (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sqrRevBin; + testcases = testdata.NoSignal.infsup.tan; for testcase = [testcases]' assert (isequaln (... - sqrrev (testcase.in{1}, testcase.in{2}), ... + tan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqrRevBin; + testcases = testdata.NoSignal.infsup.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1, in2), out)); + assert (isequaln (tan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sqrRevBin; + testcases = testdata.NoSignal.infsup.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5119,36 +5282,50 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sqrrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/ceil.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/ceil.m + assert (isequaln (tan (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/dilog.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/dilog.m +***** assert (dilog (infsup (-inf, inf)) == "[-Inf, +0x1.3BD3CC9BE45DFp1]"); ***** # from the documentation string -***** assert (isequal (ceil (infsupdec (2.5, 3.5)), infsupdec (3, 4, "def"))); -***** assert (isequal (ceil (infsupdec (-.5, 5)), infsupdec (0, 5, "def"))); +***** assert (dilog (infsup (1)) == "[0x1.A51A6625307D3, 0x1.A51A6625307D4]"); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/cat.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cat.m +***** assert (size (cat (1, infsup ([]), infsup ([]))), [0 0]); +***** assert (cat (1, infsup (1), infsup (2)) == infsup (cat (1, 1, 2))); +***** assert (cat (2, infsup (1), infsup (2)) == infsup (cat (2, 1, 2))); +***** assert (cat (5, infsup (1), infsup (2)) == infsup (cat (5, 1, 2))); +***** assert (cat (1, infsup (zeros (2, 2, 2)), infsup (ones (2, 2, 2))) == infsup (cat (1, zeros (2, 2, 2), ones (2, 2, 2)))); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/precedes.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/precedes.m +***** assert (precedes (infsup (1, 2), infsup (2, 3))); +***** assert (not (precedes (infsup (1, 2.1), infsup (1.9, 3)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.ceil; + testcases = testdata.NoSignal.infsup.precedes; for testcase = [testcases]' assert (isequaln (... - ceil (testcase.in{1}), ... + precedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.ceil; + testcases = testdata.NoSignal.infsup.precedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (ceil (in1), out)); + assert (isequaln (precedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.ceil; + testcases = testdata.NoSignal.infsup.precedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5157,36 +5334,140 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (ceil (in1), out)); + assert (isequaln (precedes (in1, in2), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/times.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/times.m +[inst/@infsup/psi.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/psi.m +***** assert (isempty (psi (infsup (0)))); +***** assert (isempty (psi (infsup (-1)))); +***** assert (isempty (psi (infsup (-2)))); +***** assert (isempty (psi (infsup (-3)))); +***** assert (isentire (psi (infsup (-inf, -42.23)))); +***** assert (isentire (psi (infsup (0, inf)))); +***** assert (isentire (psi (infsup (-1, 0)))); +***** assert (isentire (psi (infsup (-2, -1)))); +***** assert (isentire (psi (infsup (-eps, eps)))); +***** assert (isentire (psi (infsup (-1-eps, -1+eps)))); +***** assert (isentire (psi (infsup (-4.1, -3.9)))); ***** # from the documentation string -***** assert (isequal (infsupdec (2, 3) .* infsupdec (1, 2), infsupdec (2, 6))); +***** assert (psi (infsup (1)) == "[-0x1.2788CFC6FB619p-1, -0x1.2788CFC6FB618p-1]"); +12 tests, 12 passed, 0 known failure, 0 skipped +[inst/@infsup/iscolumn.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/iscolumn.m +***** assert (not (iscolumn (infsup ([])))); +***** assert (iscolumn (infsup (0))); +***** assert (not (iscolumn (infsup (zeros (1, 2))))); +***** assert (iscolumn (infsup (zeros (2, 1)))); +***** assert (not (iscolumn (infsup (zeros (5))))); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/qr.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/qr.m +***** test + A = infsup ([1 2 3; 4 5 6]); + [Q, R] = qr (A); + assert (all (all (subset (A, Q * R)))); + assert (all (all (subset (eye (length (Q)), Q' * Q)))); + assert (max (max (wid (Q))) < 1e-14); +***** test + A = infsup ([1 2; 3 4; 5 6]); + [Q, R] = qr (A); + assert (all (all (subset (A, Q * R)))); + assert (all (all (subset (eye (length (Q)), Q' * Q)))); + assert (max (max (wid (Q (:, [1 2])))) < 1e-14); +***** test + A = infsup ([1 2 3; 4 9 6; 9 8 7]); + [Q, R] = qr (A); + assert (all (all (subset (A, Q * R)))); + assert (all (all (subset (eye (length (Q)), Q' * Q)))); + assert (max (max (wid (Q))) < 1e-13); +***** test + for n = 3 : 2 : 10 + A = infsup (magic (n)); + [Q, R] = qr (A); + assert (all (all (subset (A, Q * R)))); + assert (all (all (subset (eye (length (Q)), Q' * Q)))); + assert (max (max (wid (Q))) < 1e-10); + endfor +***** test + A = infsup (magic (3)) + "[2, 2.2]"; + [Q, R] = qr (A); + assert (all (all (subset (A, Q * R)))); + assert (all (all (subset (eye (length (Q)), Q' * Q)))); + assert (max (max (wid (Q))) < 1.5); +***** function result = is_permutation_matrix (P) + result = isequal (P, eye (length (P))) || ... + isequal (typeinfo (P), "permutation matrix"); +***** endfunction +***** test + A = infsup ([1 2 3; 4 5 6]); + [Q, R, P] = qr (A); + assert (all (all (subset (A, Q * R * P)))); + assert (all (all (subset (eye (length (Q)), Q' * Q)))); + assert (max (max (wid (Q))) < 1e-14); + assert (is_permutation_matrix (P)); +***** test + A = infsup ([1 2; 3 4; 5 6]); + [Q, R, P] = qr (A); + assert (all (all (subset (A, Q * R * P)))); + assert (all (all (subset (eye (length (Q)), Q' * Q)))); + assert (max (max (wid (Q (:, [1 2])))) < 1e-14); + assert (is_permutation_matrix (P)); +***** test + A = infsup ([1 2 3; 4 9 6; 9 8 7]); + [Q, R, P] = qr (A); + assert (all (all (subset (A, Q * R * P)))); + assert (all (all (subset (eye (length (Q)), Q' * Q)))); + assert (max (max (wid (Q))) < 1e-13); + assert (is_permutation_matrix (P)); +***** test + for n = 3 : 2 : 10 + A = infsup (magic (n)); + [Q, R, P] = qr (A); + assert (all (all (subset (A, Q * R * P)))); + assert (all (all (subset (eye (length (Q)), Q' * Q)))); + assert (max (max (wid (Q))) < 1e-10); + assert (is_permutation_matrix (P)); + endfor +***** test + A = infsup (magic (3)) + "[2, 2.2]"; + [Q, R, P] = qr (A); + assert (all (all (subset (A, Q * R * P)))); + assert (all (all (subset (eye (length (Q)), Q' * Q)))); + assert (max (max (wid (Q))) < 1.5); + assert (is_permutation_matrix (P)); +10 tests, 10 passed, 0 known failure, 0 skipped +[inst/@infsup/log.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log.m +***** # from the documentation string +***** assert (log (infsup (2)) == "[0x1.62E42FEFA39EFp-1, 0x1.62E42FEFA39Fp-1]"); +***** # correct use of signed zeros +***** test + x = log (infsup (1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mul; + testcases = testdata.NoSignal.infsup.log; for testcase = [testcases]' assert (isequaln (... - times (testcase.in{1}, testcase.in{2}), ... + log (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mul; + testcases = testdata.NoSignal.infsup.log; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (times (in1, in2), out)); + assert (isequaln (log (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mul; + testcases = testdata.NoSignal.infsup.log; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5195,36 +5476,63 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (times (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/le.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/le.m -***** assert (le (infsupdec (1, 3), infsupdec (3))); + assert (isequaln (log (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/isscalar.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isscalar.m +***** assert (not (isscalar (infsup ([])))); +***** assert (isscalar (infsup (0))); +***** assert (not (isscalar (infsup (zeros (1, 2))))); +***** assert (not (isscalar (infsup (zeros (2, 1))))); +***** assert (not (isscalar (infsup (zeros (5))))); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/acosh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/acosh.m +***** # Empty interval +***** assert (acosh (infsup ()) == infsup ()); +***** # Singleton intervals +***** assert (acosh (infsup (0)) == infsup ()); +***** assert (acosh (infsup (1)) == infsup (0)); +***** test + x = infsup (1 : 3 : 100); + assert (min (subset (acosh (x), log (x + sqrt (x + 1) .* sqrt (x - 1))))); +***** # Bounded intervals +***** assert (acosh (infsup (0, 1)) == infsup (0)); +***** # Unbounded intervals +***** assert (acosh (infsup (-inf, 0)) == infsup ()); +***** assert (acosh (infsup (-inf, 1)) == infsup (0)); +***** assert (acosh (infsup (0, inf)) == infsup (0, inf)); +***** assert (acosh (infsup (1, inf)) == infsup (0, inf)); +***** assert (subset (acosh (infsup (2, inf)), infsup (1, inf))); +***** # from the documentation string +***** assert (acosh (infsup (2)) == "[0x1.5124271980434, 0x1.5124271980435]"); +***** # correct use of signed zeros +***** test + x = acosh (infsup (1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.less; + testcases = testdata.NoSignal.infsup.acosh; for testcase = [testcases]' assert (isequaln (... - le (testcase.in{1}, testcase.in{2}), ... + acosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.less; + testcases = testdata.NoSignal.infsup.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (le (in1, in2), out)); + assert (isequaln (acosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.less; + testcases = testdata.NoSignal.infsup.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5233,24 +5541,18 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (le (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/resize.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/resize.m -***** assert (isequal (resize (infsupdec (magic (3)), 4, 2), infsupdec([8, 1; 3, 5; 4, 9; 0, 0]))); -***** assert (isequal (resize (infsupdec (ones (2, 2, 2)), 4, 1, 2), infsupdec (resize (ones (2, 2, 2), 4, 1, 2)))) -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsupdec/pownrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pownrev.m -***** assert (isequal (pownrev (infsupdec (25, 36), infsupdec (0, inf), 2), infsupdec (5, 6, "trv"))); + assert (isequaln (acosh (in1), out)); +15 tests, 15 passed, 0 known failure, 0 skipped +[inst/@infsup/pownrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pownrev.m +***** assert (pownrev (infsup (25, 36), infsup (0, inf), 2) == infsup (5, 6)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.pownRev; + testcases = testdata.NoSignal.infsup.pownRev; for testcase = [testcases]' assert (isequaln (... pownrev (testcase.in{1}, testcase.in{2}), ... @@ -5258,14 +5560,14 @@ endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pownRev; + testcases = testdata.NoSignal.infsup.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); assert (isequaln (pownrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pownRev; + testcases = testdata.NoSignal.infsup.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -5281,7 +5583,7 @@ assert (isequaln (pownrev (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.pownRevBin; + testcases = testdata.NoSignal.infsup.pownRevBin; for testcase = [testcases]' assert (isequaln (... pownrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... @@ -5289,7 +5591,7 @@ endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pownRevBin; + testcases = testdata.NoSignal.infsup.pownRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); in3 = vertcat (vertcat (testcases.in){:, 3}); @@ -5297,7 +5599,7 @@ assert (isequaln (pownrev (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pownRevBin; + testcases = testdata.NoSignal.infsup.pownRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); in3 = vertcat (vertcat (testcases.in){:, 3}); @@ -5314,30 +5616,30 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (pownrev (in1, in2, in3), out)); 7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/tan.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tan.m +[inst/@infsup/cot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cot.m ***** # from the documentation string -***** assert (isequal (tan (infsupdec (1)), infsupdec ("[0x1.8EB245CBEE3A5, 0x1.8EB245CBEE3A6]"))); +***** assert (cot (infsup (1)) == "[0x1.48C05D04E1CFDp-1, 0x1.48C05D04E1CFEp-1]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.tan; + testcases = testdata.NoSignal.infsup.cot; for testcase = [testcases]' assert (isequaln (... - tan (testcase.in{1}), ... + cot (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tan; + testcases = testdata.NoSignal.infsup.cot; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tan (in1), out)); + assert (isequaln (cot (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsup.cot; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5348,78 +5650,32 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tan (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/setxor.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/setxor.m -***** test - [z, z1, z2] = setxor (infsupdec (), infsupdec ()); - assert (isempty (z)); - assert (isempty (z1)); - assert (isempty (z2)); -***** test - [z, z1, z2] = setxor (infsupdec (-inf, inf), infsupdec ()); - assert (isentire (z)); - assert (isentire (z1)); - assert (isempty (z2)); -***** test - [z, z1, z2] = setxor (infsupdec (-inf, inf), infsupdec (2)); - assert (isentire (z)); - assert (z1 == infsupdec (-inf, 2)); - assert (z2 == infsupdec (2, inf)); -***** test - [z, z1, z2] = setxor (infsupdec (2, 3), infsupdec (2)); - assert (z == infsupdec (2, 3)); - assert (z1 == infsupdec ()); - assert (z2 == infsupdec (2, 3)); -***** test - [z, z1, z2] = setxor (infsupdec (2, 3), infsupdec (2, 2.5)); - assert (z == infsupdec (2.5, 3)); - assert (z1 == infsupdec ()); - assert (z2 == infsupdec (2.5, 3)); -***** test - # from the documentation string - [z, z1, z2] = setxor (infsupdec (1, 3), infsupdec (2, 4)); - assert (z == infsupdec (1, 4)); - assert (z1 == infsupdec (1, 2)); - assert (z2 == infsupdec (3, 4)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsupdec/expm1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/expm1.m -***** # from the documentation string -***** assert (isequal (expm1 (infsupdec (eps)), infsupdec ("[0x1p-52, 0x1.0000000000001p-52]"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/postpad.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/postpad.m -***** assert (isequal (postpad (infsupdec (1:3), 4, 4), infsupdec (1:4))); -***** assert (isequal (postpad (infsupdec (1:3), 2, 4), infsupdec (1:2))); -***** assert (isequal (postpad (infsupdec (0), 10, 0, 3), infsupdec (zeros (1, 1, 10)))); -***** assert (isequal (postpad (infsupdec (zeros (1, 2, 2)), 3), infsupdec (zeros (1, 3, 2)))); + assert (isequaln (cot (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/pow10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow10.m +[inst/@infsup/sqrrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sqrrev.m ***** # from the documentation string -***** assert (isequal (pow10 (infsupdec (5)), infsupdec (100000))); +***** assert (sqrrev (infsup (-2, 1)) == infsup (-1, 1)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.exp10; + testcases = testdata.NoSignal.infsup.sqrRev; for testcase = [testcases]' assert (isequaln (... - pow10 (testcase.in{1}), ... + sqrrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.exp10; + testcases = testdata.NoSignal.infsup.sqrRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pow10 (in1), out)); + assert (isequaln (sqrrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.exp10; + testcases = testdata.NoSignal.infsup.sqrRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5427,41 +5683,28 @@ do i = i + 1; testsize = factor (numel (in1) + i); - until (numel (testsize) > 2 || i == numel (in1)) + until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pow10 (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/gamma.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gamma.m -***** # from the documentation string -***** assert (isequal (gamma (infsupdec (1.5)), infsupdec ("[0x1.C5BF891B4EF6Ap-1, 0x1.C5BF891B4EF6Bp-1]_com"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/intersect.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/intersect.m -***** # from the documentation string -***** assert (isequal (intersect (infsupdec (1, 3), infsupdec (2, 4)), infsupdec (2, 3, "trv"))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (sqrrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.intersection; + testcases = testdata.NoSignal.infsup.sqrRevBin; for testcase = [testcases]' assert (isequaln (... - intersect (testcase.in{1}, testcase.in{2}), ... + sqrrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.intersection; + testcases = testdata.NoSignal.infsup.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (intersect (in1, in2), out)); + assert (isequaln (sqrrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.intersection; + testcases = testdata.NoSignal.infsup.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -5474,38 +5717,33 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (intersect (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/polyval.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/polyval.m -***** assert (isequal (polyval (infsupdec (3, "trv"), 0), infsupdec (3, "trv"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/subset.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subset.m -***** assert (subset (infsupdec (1, 2), infsupdec (1, 3))); + assert (isequaln (sqrrev (in1, in2), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/csc.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/csc.m +***** # from the documentation string +***** assert (csc (infsup (1)) == "[0x1.303AA9620B223, 0x1.303AA9620B224]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.subset; + testcases = testdata.NoSignal.infsup.csc; for testcase = [testcases]' assert (isequaln (... - subset (testcase.in{1}, testcase.in{2}), ... + csc (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.subset; + testcases = testdata.NoSignal.infsup.csc; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (subset (in1, in2), out)); + assert (isequaln (csc (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.subset; + testcases = testdata.NoSignal.infsup.csc; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5514,34 +5752,63 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (subset (in1, in2), out)); + assert (isequaln (csc (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/acos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acos.m +[inst/@infsup/sprintf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sprintf.m +***** assert (sprintf ("%g", infsup ("pi")), "3.14159 3.1416"); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/tril.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tril.m +***** assert (tril (infsup (magic (10))) == tril (magic (10))); +***** assert (tril (infsup (magic (10)), 1) == tril (magic (10), 1)); +***** assert (tril (infsup (magic (10)), -1) == tril (magic (10), -1)); +***** assert (tril (infsup (magic (10)), 0, "pack") == tril (magic (10), 0, "pack")); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/erfc.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/erfc.m ***** # from the documentation string -***** assert (isequal (acos (infsupdec (.5)), infsupdec ("[0x1.0C152382D7365, 0x1.0C152382D7366]"))); +***** assert (erfc (infsup (1)) == "[0x1.4226162FBDDD4p-3, 0x1.4226162FBDDD5p-3]"); +***** # correct use of signed zeros +***** test + x = erfc (infsup (realmax)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/rows.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rows.m +***** assert (rows (infsup (zeros (3, 4))), 3); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/sinh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinh.m +***** # from the documentation string +***** assert (sinh (infsup (1)) == "[0x1.2CD9FC44EB982, 0x1.2CD9FC44EB983]"); +***** # correct use of signed zeros +***** test + x = sinh (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.acos; + testcases = testdata.NoSignal.infsup.sinh; for testcase = [testcases]' assert (isequaln (... - acos (testcase.in{1}), ... + sinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.acos; + testcases = testdata.NoSignal.infsup.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (acos (in1), out)); + assert (isequaln (sinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acos; + testcases = testdata.NoSignal.infsup.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5552,61 +5819,48 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (acos (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/gauss.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gauss.m + assert (isequaln (sinh (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/erf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/erf.m ***** # from the documentation string -***** assert (isequal (gauss (infsupdec ([1, 0; 0, 2]), [2, 0; 0, 4]), infsupdec ([2, 0; 0, 2], "trv"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sech.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sech.m +***** assert (erf (infsup (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); +***** # correct use of signed zeros +***** test + x = erf (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/minus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/minus.m ***** # from the documentation string -***** assert (isequal (sech (infsupdec (1)), infsupdec ("[0x1.4BCDC50ED6BE7p-1, 0x1.4BCDC50ED6BE8p-1]_com"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/eq.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/eq.m -***** # Empty interval -***** assert (eq (infsupdec (), infsupdec ()) == true); -***** assert (eq (infsupdec (), infsupdec (1)) == false); -***** assert (eq (infsupdec (0), infsupdec ()) == false); -***** assert (eq (infsupdec (-inf, inf), infsupdec ()) == false); -***** # Singleton intervals -***** assert (eq (infsupdec (0), infsupdec (1)) == false); -***** assert (eq (infsupdec (0), infsupdec (0)) == true); -***** # Bounded intervals -***** assert (eq (infsupdec (1, 2), infsupdec (3, 4)) == false); -***** assert (eq (infsupdec (1, 2), infsupdec (2, 3)) == false); -***** assert (eq (infsupdec (1, 2), infsupdec (1.5, 2.5)) == false); -***** assert (eq (infsupdec (1, 2), infsupdec (1, 2)) == true); -***** # Unbounded intervals -***** assert (eq (infsupdec (0, inf), infsupdec (-inf, 0)) == false); -***** assert (eq (infsupdec (0, inf), infsupdec (0, inf)) == true); -***** assert (eq (infsupdec (-inf, 0), infsupdec (-inf, 0)) == true); -***** assert (eq (infsupdec (-inf, inf), infsupdec (42)) == false); -***** assert (eq (infsupdec (-inf, 0), infsupdec (-inf, inf)) == false); -***** assert (eq (infsupdec (-inf, inf), infsupdec (-inf, inf)) == true); +***** assert (infsup (2, 3) - infsup (1, 2) == infsup (0, 2)); +***** # correct use of signed zeros +***** test + x = minus (infsup (0), infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.equal; + testcases = testdata.NoSignal.infsup.sub; for testcase = [testcases]' assert (isequaln (... - eq (testcase.in{1}, testcase.in{2}), ... + minus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.equal; + testcases = testdata.NoSignal.infsup.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (eq (in1, in2), out)); + assert (isequaln (minus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.equal; + testcases = testdata.NoSignal.infsup.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -5619,32 +5873,60 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (eq (in1, in2), out)); -19 tests, 19 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sin.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sin.m + assert (isequaln (minus (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/absrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/absrev.m +***** # Empty interval +***** assert (absrev (infsup ()) == infsup ()); +***** assert (absrev (infsup (0, 1), infsup ()) == infsup ()); +***** assert (absrev (infsup (0, 1), infsup (7, 9)) == infsup ()); +***** assert (absrev (infsup (), infsup (0, 1)) == infsup ()); +***** assert (absrev (infsup (-2, -1)) == infsup ()); +***** # Singleton intervals +***** assert (absrev (infsup (1)) == infsup (-1, 1)); +***** assert (absrev (infsup (0)) == infsup (0)); +***** assert (absrev (infsup (-1)) == infsup ()); +***** assert (absrev (infsup (realmax)) == infsup (-realmax, realmax)); +***** assert (absrev (infsup (realmin)) == infsup (-realmin, realmin)); +***** assert (absrev (infsup (-realmin)) == infsup ()); +***** assert (absrev (infsup (-realmax)) == infsup ()); +***** # Bound intervals +***** assert (absrev (infsup (1, 2)) == infsup (-2, 2)); +***** assert (absrev (infsup (1, 2), infsup (0, 2)) == infsup (1, 2)); +***** assert (absrev (infsup (0, 1), infsup (-0.5, 2)) == infsup (-0.5, 1)); +***** assert (absrev (infsup (-1, 1)) == infsup (-1, 1)); +***** assert (absrev (infsup (-1, 0)) == infsup (0)); +***** # Unbound intervals +***** assert (absrev (infsup (0, inf)) == infsup (-inf, inf)); +***** assert (absrev (infsup (-inf, inf)) == infsup (-inf, inf)); +***** assert (absrev (infsup (-inf, 0)) == infsup (0)); +***** assert (absrev (infsup (1, inf), infsup (-inf, 0)) == infsup (-inf, -1)); +***** assert (absrev (infsup (-1, inf)) == infsup (-inf, inf)); +***** assert (absrev (infsup (-inf, -1)) == infsup ()); +***** assert (absrev (infsup (-inf, 1)) == infsup (-1, 1)); ***** # from the documentation string -***** assert (isequal (sin (infsupdec (1)), infsupdec ("[0x1.AED548F090CEEp-1, 0x1.AED548F090CEFp-1]"))); +***** assert (absrev (infsup (-2, 1)) == infsup (-1, 1)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sin; + # Scalar evaluation with one argument + testcases = testdata.NoSignal.infsup.absRev; for testcase = [testcases]' assert (isequaln (... - sin (testcase.in{1}), ... + absrev (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sin; + # Vector evaluation with one argument + testcases = testdata.NoSignal.infsup.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sin (in1), out)); + assert (isequaln (absrev (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sin; + # N-dimensional array evaluation with one argument + testcases = testdata.NoSignal.infsup.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5655,40 +5937,63 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sin (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/diag.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/diag.m -***** assert (diag (infsupdec (-inf, inf)) == "[Entire]"); -***** assert (diag (infsupdec ()) == "[Empty]"); -***** assert (numel (diag (infsupdec ([]))), 0); -***** assert (isequal (diag (infsupdec (magic (3))), infsupdec ([8; 5; 2]))); -***** assert (isequal (diag (infsupdec ([8 5 3])), infsupdec ([8 0 0; 0 5 0; 0 0 3]))); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/power.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/power.m + assert (isequaln (absrev (in1), out)); +***** test + # Scalar evaluation with two arguments + testcases = testdata.NoSignal.infsup.absRevBin; + for testcase = [testcases]' + assert (isequaln (... + absrev (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation with two arguments + testcases = testdata.NoSignal.infsup.absRevBin; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + assert (isequaln (absrev (in1, in2), out)); +***** test + # N-dimensional array evaluation with two arguments + testcases = testdata.NoSignal.infsup.absRevBin; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + # Reshape data + i = -1; + do + i = i + 1; + testsize = factor (numel (in1) + i); + until (numel (testsize) > 2) + in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); + out = reshape ([out; out(1:i)], testsize); + assert (isequaln (absrev (in1, in2), out)); +31 tests, 31 passed, 0 known failure, 0 skipped +[inst/@infsup/cos.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cos.m ***** # from the documentation string -***** assert (isequal (infsupdec (-5, 6) .^ infsupdec (2, 3), infsupdec (-125, 216, "trv"))); +***** assert (cos (infsup (1)) == "[0x1.14A280FB5068Bp-1, 0x1.14A280FB5068Cp-1]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + testcases = testdata.NoSignal.infsup.cos; for testcase = [testcases]' assert (isequaln (... - power (testcase.in{1}, 2), ... + cos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + testcases = testdata.NoSignal.infsup.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (power (in1, 2), out)); + assert (isequaln (cos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsup.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5699,32 +6004,51 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (power (in1, 2), out)); + assert (isequaln (cos (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/asinh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/asinh.m +[inst/@infsup/numel.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/numel.m +***** assert (numel (infsup ([])), 0); +***** assert (numel (infsup (0)), 1); +***** assert (numel (infsup (zeros (3, 1))), 3); +***** assert (numel (infsup (zeros (1, 4))), 4); +***** assert (numel (infsup (zeros (3, 4))), 12); +***** assert (numel (infsup (ones (2, 3)), 3:5), 3); +***** assert (numel (infsup (ones (2, 3)), ":", 2), 2); +***** assert (numel (infsup (ones (2, 3)), 2, ":"), 3); +***** # numel is called implicitly during this subsref expression (see bug #53375) +***** assert (infsup ()(:).inf, inf); +***** error numel (1, infsup(1)); +10 tests, 10 passed, 0 known failure, 0 skipped +[inst/@infsup/cosrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cosrev.m ***** # from the documentation string -***** assert (isequal (asinh (infsupdec (1)), infsupdec ("[0x1.C34366179D426p-1, 0x1.C34366179D427p-1]"))); +***** assert (cosrev (0, infsup (6, 9)) == "[0x1.F6A7A2955385Ep2, 0x1.F6A7A2955386p2]"); +***** # correct use of signed zeros +***** test + x = cosrev (infsup (1), infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.asinh; + testcases = testdata.NoSignal.infsup.cosRev; for testcase = [testcases]' assert (isequaln (... - asinh (testcase.in{1}), ... + cosrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.asinh; + testcases = testdata.NoSignal.infsup.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (asinh (in1), out)); + assert (isequaln (cosrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asinh; + testcases = testdata.NoSignal.infsup.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5735,33 +6059,25 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (asinh (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/max.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/max.m -***** # from the documentation string -***** assert (isequal (max (infsupdec (2, 3), infsupdec (1, 2)), infsupdec (2, 3))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (cosrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.max; + testcases = testdata.NoSignal.infsup.cosRevBin; for testcase = [testcases]' assert (isequaln (... - max (testcase.in{1}, testcase.in{2}), ... + cosrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.max; + testcases = testdata.NoSignal.infsup.cosRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (max (in1, in2), out)); + assert (isequaln (cosrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.max; + testcases = testdata.NoSignal.infsup.cosRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -5774,32 +6090,32 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (max (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/tanrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tanrev.m + assert (isequaln (cosrev (in1, in2), out)); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsup/sec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sec.m ***** # from the documentation string -***** assert (isequal (tanrev (infsupdec (0), infsupdec (2, 4)), infsupdec ("pi", "trv"))); +***** assert (sec (infsup (1)) == "[0x1.D9CF0F125CC29, 0x1.D9CF0F125CC2A]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.tanRev; + testcases = testdata.NoSignal.infsup.sec; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}), ... + sec (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tanRev; + testcases = testdata.NoSignal.infsup.sec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1), out)); + assert (isequaln (sec (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.tanRev; + testcases = testdata.NoSignal.infsup.sec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5810,27 +6126,38 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tanrev (in1), out)); + assert (isequaln (sec (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/issingleton.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/issingleton.m +***** assert (issingleton (infsup (0))); +***** assert (issingleton (infsupdec (0))); +***** assert (not (issingleton (entire ()))); +***** assert (not (issingleton (intervalpart (entire ())))); +***** assert (not (issingleton (empty ()))); +***** assert (not (issingleton (intervalpart (empty ())))); +***** warning assert (not (issingleton (infsupdec (2, 1)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.tanRevBin; + testcases = testdata.NoSignal.infsup.isSingleton; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}, testcase.in{2}), ... + issingleton (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tanRevBin; + testcases = testdata.NoSignal.infsup.isSingleton; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1, in2), out)); + assert (isequaln (issingleton (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.tanRevBin; + testcases = testdata.NoSignal.infsup.isSingleton; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5839,37 +6166,27 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tanrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/overlap.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/overlap.m -***** assert (overlap (infsupdec (1, 2), infsupdec (3, 4)), "before"); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (issingleton (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.overlap; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isSingleton; for testcase = [testcases]' assert (isequaln (... - overlap (testcase.in{1}, testcase.in{2}), ... + issingleton (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.overlap; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.isSingleton; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = {testcases.out}'; - assert (isequaln (overlap (in1, in2), out)); + out = vertcat (testcases.out); + assert (isequaln (issingleton (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.overlap; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.isSingleton; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = {testcases.out}'; + out = vertcat (testcases.out); # Reshape data i = -1; do @@ -5877,34 +6194,64 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (overlap (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/acosh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acosh.m + assert (isequaln (issingleton (in1), out)); +13 tests, 13 passed, 0 known failure, 0 skipped +[inst/@infsup/horzcat.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/horzcat.m +***** assert (horzcat (infsup (1), infsup (2)) == infsup (horzcat (1, 2))); +***** test + # from the documentation string + a = infsup (2, 5); + assert (horzcat (a, a, a) == infsup ([2, 2, 2], [5, 5, 5])); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/nextout.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/nextout.m ***** # from the documentation string -***** assert (isequal (acosh (infsupdec (2)), infsupdec ("[0x1.5124271980434, 0x1.5124271980435]"))); +***** test + x = nextout (infsup (1)); + assert (inf (x), 1 - eps / 2); + assert (sup (x), 1 + eps); +***** # correct use of signed zeros +***** test + x = nextout (infsup (pow2 (-1074))); + assert (signbit (inf (x))); +***** test + x = nextout (infsup (-pow2 (-1074))); + assert (not (signbit (sup (x)))); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/realsqrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/realsqrt.m +***** # from the documentation string +***** assert (realsqrt (infsup (-6, 4)) == infsup (0, 2)); +***** # correct use of signed zeros +***** test + x = realsqrt (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = realsqrt (infsup (0, 2)); + assert (signbit (inf (x))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.acosh; + testcases = testdata.NoSignal.infsup.sqrt; for testcase = [testcases]' assert (isequaln (... - acosh (testcase.in{1}), ... + realsqrt (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.acosh; + testcases = testdata.NoSignal.infsup.sqrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (acosh (in1), out)); + assert (isequaln (realsqrt (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acosh; + testcases = testdata.NoSignal.infsup.sqrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5915,34 +6262,98 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (acosh (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/log10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log10.m -***** # from the documentation string -***** assert (isequal (log10 (infsupdec (2)), infsupdec ("[0x1.34413509F79FEp-2, 0x1.34413509F79FFp-2]"))); + assert (isequaln (realsqrt (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/overlap.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/overlap.m +***** test + [s, n] = overlap (infsup (), infsup ()); + assert (s, "bothEmpty"); + assert (n, uint16 (32768)); +***** test + [s, n] = overlap (infsup (), infsup (0)); + assert (s, "firstEmpty"); + assert (n, uint16 (16384)); +***** test + [s, n] = overlap (infsup (0), infsup ()); + assert (s, "secondEmpty"); + assert (n, uint16 (8192)); +***** test + [s, n] = overlap (infsup (1, 2), infsup (3, 4)); + assert (s, "before"); + assert (n, uint16 (4096)); +***** test + [s, n] = overlap (infsup (1, 2), infsup (2, 3)); + assert (s, "meets"); + assert (n, uint16 (2048)); +***** test + [s, n] = overlap (infsup (1, 3), infsup (2, 4)); + assert (s, "overlaps"); + assert (n, uint16 (1024)); +***** test + [s, n] = overlap (infsup (1, 2), infsup (1, 3)); + assert (s, "starts"); + assert (n, uint16 (512)); +***** test + [s, n] = overlap (infsup (2, 3), infsup (1, 4)); + assert (s, "containedBy"); + assert (n, uint16 (256)); +***** test + [s, n] = overlap (infsup (2, 3), infsup (1, 3)); + assert (s, "finishes"); + assert (n, uint16 (128)); +***** test + [s, n] = overlap (infsup (1, 2), infsup (1, 2)); + assert (s, "equals"); + assert (n, uint16 (64)); +***** test + [s, n] = overlap (infsup (1, 3), infsup (2, 3)); + assert (s, "finishedBy"); + assert (n, uint16 (32)); +***** test + [s, n] = overlap (infsup (1, 4), infsup (2, 3)); + assert (s, "contains"); + assert (n, uint16 (16)); +***** test + [s, n] = overlap (infsup (1, 3), infsup (1, 2)); + assert (s, "startedBy"); + assert (n, uint16 (8)); +***** test + [s, n] = overlap (infsup (2, 4), infsup (1, 3)); + assert (s, "overlappedBy"); + assert (n, uint16 (4)); +***** test + [s, n] = overlap (infsup (2, 3), infsup (1, 2)); + assert (s, "metBy"); + assert (n, uint16 (2)); +***** test + [s, n] = overlap (infsup (3, 4), infsup (1, 2)); + assert (s, "after"); + assert (n, uint16 (1)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.log10; + testcases = testdata.NoSignal.infsup.overlap; for testcase = [testcases]' assert (isequaln (... - log10 (testcase.in{1}), ... + overlap (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.log10; + testcases = testdata.NoSignal.infsup.overlap; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (log10 (in1), out)); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = {testcases.out}'; + assert (isequaln (overlap (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsup.overlap; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = {testcases.out}'; # Reshape data i = -1; do @@ -5950,69 +6361,45 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (log10 (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/dilog.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/dilog.m -***** assert (isequal (dilog (infsupdec (-inf, inf)), infsupdec ("[-Inf, +0x1.3BD3CC9BE45DFp1]_dac"))); -***** # from the documentation string -***** assert (isequal (dilog (infsupdec (1)), infsupdec ("[0x1.A51A6625307D3, 0x1.A51A6625307D4]_com"))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsupdec/triu.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/triu.m -***** assert (triu (infsupdec (magic (10))) == triu (magic (10))); -***** assert (triu (infsupdec (magic (10)), 1) == triu (magic (10), 1)); -***** assert (triu (infsupdec (magic (10)), -1) == triu (magic (10), -1)); -***** assert (triu (infsupdec (magic (10)), 0, "pack") == triu (magic (10), 0, "pack")); -***** test - A = infsupdec (zeros (3), "trv"); - assert (decorationpart (triu (A)), {"trv", "trv", "trv"; "com", "trv", "trv"; "com", "com", "trv"}); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sum.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sum.m -***** # from the documentation string -***** assert (isequal (sum ([infsupdec(1), pow2(-1074), -1]), infsupdec (pow2 (-1074)))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/subsasgn.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subsasgn.m + assert (isequaln (overlap (in1, in2), out)); +19 tests, 19 passed, 0 known failure, 0 skipped +[inst/@infsup/norm.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/norm.m ***** test - A = infsupdec (magic (3)); - A(4, 4) = 42; - assert (inf (A), [magic(3),[0;0;0];0,0,0,42]); - assert (sup (A), [magic(3),[0;0;0];0,0,0,42]); - assert (decorationpart (A), {"com", "com", "com", "com"; "com", "com", "com", "com"; "com", "com", "com", "com"; "com", "com", "com", "com"}); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/hypot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/hypot.m -***** # from the documentation string -***** assert (isequal (hypot (infsupdec (2, 3), infsupdec (1, 2)), infsupdec ("[0x1.1E3779B97F4A7p1, 0x1.CD82B446159F4p1]"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/log.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log.m + A = infsup ("0 [Empty] [0, 1] 1"); + assert (isequal (norm (A, 0, "cols"), infsup ("0 [Empty] [0, 1] 1"))); +***** assert (norm (infsup (magic (3)), inf, 1) == 45); +***** assert (norm (infsup (-magic (3), magic (3)), inf, 1) == "[0, 45]"); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/times.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/times.m ***** # from the documentation string -***** assert (isequal (log (infsupdec (2)), infsupdec ("[0x1.62E42FEFA39EFp-1, 0x1.62E42FEFA39Fp-1]"))); +***** assert (infsup (2, 3) .* infsup (1, 2) == infsup (2, 6)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.log; + testcases = testdata.NoSignal.infsup.mul; for testcase = [testcases]' assert (isequaln (... - log (testcase.in{1}), ... + times (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.log; + testcases = testdata.NoSignal.infsup.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (log (in1), out)); + assert (isequaln (times (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log; + testcases = testdata.NoSignal.infsup.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6021,44 +6408,50 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (log (in1), out)); + assert (isequaln (times (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/intervalpart.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/intervalpart.m -***** warning id=interval:IntvlPartOfNaI - assert (intervalpart (nai ()) == infsup ()); -***** assert (intervalpart (infsupdec (2, 3)) == infsup (2, 3)); +[inst/@infsup/strictsubset.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/strictsubset.m +***** assert (strictsubset (infsup (1, 2), infsup (1, 3))); +***** assert (strictsubset (infsup (2, 3), infsup (1, 3))); +***** assert (not (strictsubset (infsup (1, 2), infsup (1, 2)))); +***** assert (not (strictsubset (infsup (1, 3), infsup (1, 2)))); +***** assert (strictsubset (infsup (), infsup (1, 3))); +***** assert (not (strictsubset (infsup (), infsup ()))); +***** assert (strictsubset (infsup (), infsup (-inf, inf))); +***** assert (strictsubset (infsup (0, inf), infsup (-inf, inf))); +***** assert (strictsubset (infsup (-inf, 0), infsup (-inf, inf))); +***** assert (not (strictsubset (infsup (-inf, inf), infsup (-inf, inf)))); +10 tests, 10 passed, 0 known failure, 0 skipped +[inst/@infsup/strictprecedes.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/strictprecedes.m +***** assert (strictprecedes (infsup (1, 1.9), infsup (2.1, 3))); +***** assert (not (strictprecedes (infsup (1, 2), infsup (2, 3)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.intervalPart; + testcases = testdata.NoSignal.infsup.strictPrecedes; for testcase = [testcases]' assert (isequaln (... - intervalpart (testcase.in{1}), ... + strictprecedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.intervalPart; + testcases = testdata.NoSignal.infsup.strictPrecedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (intervalpart (in1), out)); -***** warning - testcases = testdata.IntvlPartOfNaI.infsupdec.intervalPart; - for testcase = [testcases]' - lastwarn ("", ""); - assert (isequaln (... - intervalpart (testcase.in{1}), ... - testcase.out)); - assert (nthargout (2, @lastwarn), "interval:IntvlPartOfNaI"); - endfor + assert (isequaln (strictprecedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.intervalPart; + testcases = testdata.NoSignal.infsup.strictPrecedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6067,41 +6460,60 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (intervalpart (in1), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsupdec/prepad.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/prepad.m -***** assert (isequal (prepad (infsupdec (2:4), 4, 1), infsupdec (1:4))); -***** assert (isequal (prepad (infsupdec (0:2), 2, 1), infsupdec (1:2))); -***** assert (isequal (prepad (infsupdec (0), 10, 0, 3), infsupdec (zeros (1, 1, 10)))); -***** assert (isequal (prepad (infsupdec (zeros (1, 2, 2)), 3), infsupdec (zeros (1, 3, 2)))); + assert (isequaln (strictprecedes (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/mldivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mldivide.m +***** # unique solution +***** assert (infsup ([1, 0; 0, 2]) \ [2, 0; 0, 4] == [2, 0; 0 2]); +***** # no solution +***** assert (all (isempty (infsup ([1, 0; 2, 0]) \ [3; 0]))); +***** # many solutions +***** assert (infsup ([1, 0; 2, 0]) \ [4; 8] == infsup ([4; -inf], [4; inf])); +***** assert (all (subset (infsup ([2, -1; -1, 2], [4, 1; 1, 4]) \ infsup ([-3; .8], [3; .8]), infsup ([-2.3; -1.1], [2.3; 1.6])))); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cosh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cosh.m -***** # from the documentation string -***** assert (isequal (cosh (infsupdec (1)), infsupdec ("[0x1.8B07551D9F55, 0x1.8B07551D9F551]"))); +[inst/@infsup/isvector.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isvector.m +***** assert (not (isvector (infsup ([])))); +***** assert (isvector (infsup (0))); +***** assert (isvector (infsup (zeros (1, 2)))); +***** assert (isvector (infsup (zeros (2, 1)))); +***** assert (not (isvector (infsup (zeros (5))))); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/atan2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2.m +***** test "from the documentation string"; +***** assert (atan2 (infsup (1), infsup (-1)) == "[0x1.2D97C7F3321D2p1, 0x1.2D97C7F3321D3p1]"); +***** # correct use of signed zeros +***** test + x = atan2 (0, infsup (1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.cosh; + testcases = testdata.NoSignal.infsup.atan2; for testcase = [testcases]' assert (isequaln (... - cosh (testcase.in{1}), ... + atan2 (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cosh; + testcases = testdata.NoSignal.infsup.atan2; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cosh (in1), out)); + assert (isequaln (atan2 (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosh; + testcases = testdata.NoSignal.infsup.atan2; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6110,38 +6522,42 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cosh (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/reshape.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/reshape.m -***** assert (isequal (reshape (infsupdec (1 : 6), 2, 3), infsupdec (reshape (1 : 6, 2, 3)))); -***** assert (isequal (reshape (infsupdec (1 : 24), 2, [], 4), infsupdec (reshape (1 : 24, 2, 3, 4)))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cosrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cosrev.m -***** # from the documentation string -***** assert (isequal (cosrev (0, infsupdec (6, 9)), infsupdec ("[0x1.F6A7A2955385Ep2, 0x1.F6A7A2955386p2]_trv"))); + assert (isequaln (atan2 (in1, in2), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/iscommoninterval.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/iscommoninterval.m +***** assert (iscommoninterval (infsup (2, 3))); +***** assert (not (iscommoninterval (infsup (2, inf)))); +***** assert (not (iscommoninterval (infsup ()))); +***** assert (not (iscommoninterval (infsup (-inf, inf)))); +***** assert (iscommoninterval (infsupdec (2, 3, "com"))); +***** assert (iscommoninterval (infsupdec (2, 3, "trv"))); +***** assert (not (iscommoninterval (infsupdec (2, inf, "trv")))); +***** assert (not (iscommoninterval (empty ()))); +***** assert (not (iscommoninterval (entire ()))); +***** warning assert (not (iscommoninterval (infsupdec (2, 1)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.cosRev; + testcases = testdata.NoSignal.infsup.isCommonInterval; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}), ... + iscommoninterval (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cosRev; + testcases = testdata.NoSignal.infsup.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1), out)); + assert (isequaln (iscommoninterval (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.cosRev; + testcases = testdata.NoSignal.infsup.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6152,27 +6568,25 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cosrev (in1), out)); + assert (isequaln (iscommoninterval (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.cosRevBin; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isCommonInterval; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}, testcase.in{2}), ... + iscommoninterval (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cosRevBin; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1, in2), out)); + assert (isequaln (iscommoninterval (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.cosRevBin; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6181,41 +6595,41 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cosrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cot.m -***** # from the documentation string -***** assert (isequal (cot (infsupdec (1)), infsupdec ("[0x1.48C05D04E1CFDp-1, 0x1.48C05D04E1CFEp-1]"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/pown.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pown.m + assert (isequaln (iscommoninterval (in1), out)); +16 tests, 16 passed, 0 known failure, 0 skipped +[inst/@infsup/plus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plus.m ***** # from the documentation string -***** assert (isequal (pown (infsupdec (5, 6), 2), infsupdec (25, 36))); -***** assert (pown (infsupdec (-2, 1), 2) == infsupdec (0, 4)); +***** assert (infsup (2, 3) + infsup (1, 2) == infsup (3, 5)); +***** # correct use of signed zeros +***** test + x = plus (infsup (0), infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + testcases = testdata.NoSignal.infsup.add; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, 2), ... + plus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + testcases = testdata.NoSignal.infsup.add; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, 2), out)); + assert (isequaln (plus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + testcases = testdata.NoSignal.infsup.add; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6224,28 +6638,94 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pown (in1, 2), out)); + assert (isequaln (plus (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/plot3.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plot3.m +***** # this test is rather pointless +***** test + clf + plot3 (empty (), empty (), empty ()); + close +warning: using the gnuplot graphics toolkit is discouraged + +The gnuplot graphics toolkit is not actively maintained and has a number +of limitations that are unlikely to be fixed. Communication with gnuplot +uses a one-directional pipe and limited information is passed back to the +Octave interpreter so most changes made interactively in the plot window +will not be reflected in the graphics properties managed by Octave. For +example, if the plot window is closed with a mouse click, Octave will not +be notified and will not update its internal list of open figure windows. +The qt toolkit is recommended instead. +***** demo + clf + colormap hot + x = y = z = (1 : 3) + infsup ("[0, 1]"); + plot3 (x, y, z); + grid on +***** demo + clf + colormap jet + z = 1 : 8; + x = y = infsup ("[-1, 1]") ./ z; + plot3 (x, y, z); + grid on +***** demo + clf + [x, y] = meshgrid (mince (infsup ("[-5, 5]"), 20), ... + mince (infsup ("[0.1, 5]"), 10)); + z = log (hypot (x, y)); + blue = [38 139 210]/255; base2 = [238 232 213]/255; + plot3 (x, y, z, base2, blue); + view (330, 12) +***** demo + clf + [x, y] = meshgrid (midrad (-10 : 0.5 : 10, .25)); + z = sin (hypot (x, y)) .* hypot (x, y); + plot3 (mid (x), mid (y), z); + grid on +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/polyval.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/polyval.m +***** assert (polyval (infsup (42), 0) == 42); +***** assert (polyval (infsup ([42 42]), 0) == 42); +***** assert (polyval (infsup ([42 42]), 1) == 84); +***** assert (polyval (infsup ([42 42]), -1) == 0); +***** assert (polyval (infsup ([-42 42 42]), .5) == -42*0.5^2 + 42*0.5 + 42); +***** assert (polyval (infsup (vec (pascal (3))), 0.1) == "[0X6.502E9A7231A08P+0, 0X6.502E9A7231A0CP+0]"); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/gt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gt.m +***** assert (not (gt (infsup (2, 3), infsup (1, 3)))); +***** assert (gt (infsup (2, 3.1), infsup (1, 3))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/sup.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sup.m +***** # from the documentation string +***** assert (sup (infsup (2.5, 3.5)), 3.5); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.pown; + testcases = testdata.NoSignal.infsup.sup; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, testcase.in{2}), ... + sup (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pown; + testcases = testdata.NoSignal.infsup.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, in2), out)); + assert (isequaln (sup (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pown; + testcases = testdata.NoSignal.infsup.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6254,109 +6734,74 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pown (in1, in2), out)); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsupdec/log1p.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log1p.m -***** # from the documentation string -***** assert (isequal (log1p (infsupdec (eps)), infsupdec ("[0x1.FFFFFFFFFFFFFp-53, 0x1p-52]"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/rem.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rem.m -***** assert (isequal (rem (infsupdec (), infsupdec ()), infsupdec ())); -***** assert (isequal (rem (infsupdec (0), infsupdec ()), infsupdec ())); -***** assert (isequal (rem (infsupdec (), infsupdec (0)), infsupdec ())); -***** assert (isequal (rem (infsupdec (0), infsupdec (0)), infsupdec ())); -***** assert (isequal (rem (infsupdec (1), infsupdec (0)), infsupdec ())); -***** assert (isequal (rem (infsupdec (0, 1), infsupdec (0)), infsupdec ())); -***** assert (isequal (rem (infsupdec (1, 2), infsupdec (0)), infsupdec ())); -***** assert (isequal (rem (infsupdec (0, inf), infsupdec (0)), infsupdec ())); -***** assert (isequal (rem (infsupdec (1, inf), infsupdec (0)), infsupdec ())); -***** assert (isequal (rem (infsupdec (realmax, inf), infsupdec (0)), infsupdec ())); -***** assert (isequal (rem (infsupdec (0), infsupdec (1)), infsupdec (0))); -***** assert (isequal (rem (infsupdec (0), infsupdec (0, 1)), infsupdec (0, "trv"))); -***** assert (isequal (rem (infsupdec (0), infsupdec (1, 2)), infsupdec (0))); -***** assert (isequal (rem (infsupdec (0), infsupdec (0, inf)), infsupdec (0, "trv"))); -***** assert (isequal (rem (infsupdec (0), infsupdec (1, inf)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (0), infsupdec (realmax, inf)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (2), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (4), infsupdec (2)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (6), infsupdec (3)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (8), infsupdec (2)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (9), infsupdec (3)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (realmax), infsupdec (realmax)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (realmax), infsupdec (realmax / 2)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (realmax), infsupdec (realmax / 4)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (realmax), infsupdec (realmax / 8)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (realmax), infsupdec (realmax / 16)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (realmax), infsupdec (realmax / 32)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (0.1), infsupdec (0.1)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (0.1 * 2), infsupdec (0.1)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (0.1 * 4), infsupdec (0.1)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (pi), infsupdec (pi)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (pi), infsupdec (pi / 2)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (pi), infsupdec (pi / 4)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (pow2 (-1074)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (pow2 (-1073)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (pow2 (-1072)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (1), infsupdec (2)), infsupdec (1))); -***** assert (isequal (rem (infsupdec (0.5), infsupdec (1)), infsupdec (0.5))); -***** assert (isequal (rem (infsupdec (pi), infsupdec (3.15)), infsupdec (pi))); -***** assert (isequal (rem (infsupdec (1), infsupdec (2, 3)), infsupdec (1))); -***** assert (isequal (rem (infsupdec (1), infsupdec (2, inf)), infsupdec (1, "dac"))); -***** assert (isequal (rem (infsupdec (0.5), infsupdec (1, 2)), infsupdec (0.5))); -***** assert (isequal (rem (infsupdec (0.5), infsupdec (1, inf)), infsupdec (0.5, "dac"))); -***** assert (isequal (rem (infsupdec (pi), infsupdec (3.15)), infsupdec (pi))); -***** assert (isequal (rem (infsupdec (pi), infsupdec (3.15, inf)), infsupdec (pi, "dac"))); -***** assert (isequal (rem (infsupdec (0, 1), infsupdec (0, 1)), infsupdec (0, 1, "trv"))); -***** assert (isequal (rem (infsupdec (0, 2), infsupdec (0, 1)), infsupdec (0, 1, "trv"))); -***** assert (isequal (rem (infsupdec (0, 1), infsupdec (0, 2)), infsupdec (0, 1, "trv"))); -***** assert (isequal (rem (infsupdec (0, realmax), infsupdec (0, realmax)), infsupdec (0, realmax, "trv"))); -***** assert (isequal (rem (infsupdec (realmax, inf), infsupdec (realmax, inf)), infsupdec (0, inf, "def"))); -***** assert (isequal (rem (infsupdec (0, inf), infsupdec (0, inf)), infsupdec (0, inf, "trv"))); -***** assert (isequal (rem (infsupdec (0), infsupdec (1)), infsupdec (0))); -***** assert (isequal (rem (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (0, 1), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (rem (infsupdec (1, 2), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (rem (infsupdec (0, inf), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (rem (infsupdec (1, inf), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (rem (infsupdec (realmax, inf), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (rem (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (rem (infsupdec (1), infsupdec (0, 1)), infsupdec (0, 0.5, "trv"))); -***** assert (isequal (rem (infsupdec (1), infsupdec (1, 2)), infsupdec (0, 1, "def"))); -***** assert (isequal (rem (infsupdec (1), infsupdec (0, inf)), infsupdec (0, 1, "trv"))); -***** assert (isequal (rem (infsupdec (1), infsupdec (1, inf)), infsupdec (0, 1, "def"))); -***** assert (isequal (rem (infsupdec (1), infsupdec (2, inf)), infsupdec (1, "dac"))); -***** assert (isequal (rem (infsupdec (1), infsupdec (realmax, inf)), infsupdec (1, "dac"))); -66 tests, 66 passed, 0 known failure, 0 skipped -[inst/@infsupdec/asin.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/asin.m + assert (isequaln (sup (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/intersect.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/intersect.m +***** # Empty interval +***** assert (intersect (infsup (), infsup ()) == infsup ()); +***** assert (intersect (infsup (), infsup (1)) == infsup ()); +***** assert (intersect (infsup (0), infsup ()) == infsup ()); +***** assert (intersect (infsup (-inf, inf), infsup ()) == infsup ()); +***** # Singleton intervals +***** assert (intersect (infsup (0), infsup (1)) == infsup ()); +***** assert (intersect (infsup (0), infsup (0)) == infsup (0)); +***** # Bounded intervals +***** assert (intersect (infsup (1, 2), infsup (3, 4)) == infsup ()); +***** assert (intersect (infsup (1, 2), infsup (2, 3)) == infsup (2)); +***** assert (intersect (infsup (1, 2), infsup (1.5, 2.5)) == infsup (1.5, 2)); +***** assert (intersect (infsup (1, 2), infsup (1, 2)) == infsup (1, 2)); +***** # Unbounded intervals +***** assert (intersect (infsup (0, inf), infsup (-inf, 0)) == infsup (0)); +***** assert (intersect (infsup (1, inf), infsup (-inf, -1)) == infsup ()); +***** assert (intersect (infsup (-1, inf), infsup (-inf, 1)) == infsup (-1, 1)); +***** assert (intersect (infsup (-inf, inf), infsup (42)) == infsup (42)); +***** assert (intersect (infsup (42), infsup (-inf, inf)) == infsup (42)); +***** assert (intersect (infsup (-inf, 0), infsup (-inf, inf)) == infsup (-inf, 0)); +***** assert (intersect (infsup (-inf, inf), infsup (-inf, inf)) == infsup (-inf, inf)); ***** # from the documentation string -***** assert (isequal (asin (infsupdec (.5)), infsupdec ("[0x1.0C152382D7365p-1, 0x1.0C152382D7366p-1]"))); +***** assert (intersect (infsup (1, 3), infsup (2, 4)) == infsup (2, 3)); +***** # correct use of signed zeros +***** test + x = intersect (infsup (0), infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = intersect (infsup (0), infsup (0, 1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = intersect (infsup (0, 1), infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = intersect (infsup (-1, 0), infsup (0, 1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.asin; + testcases = testdata.NoSignal.infsup.intersection; for testcase = [testcases]' assert (isequaln (... - asin (testcase.in{1}), ... + intersect (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.asin; + testcases = testdata.NoSignal.infsup.intersection; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (asin (in1), out)); + assert (isequaln (intersect (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsup.intersection; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6365,44 +6810,35 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (asin (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/setdiff.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/setdiff.m -***** assert (isempty (setdiff (infsupdec (), infsupdec (1, 4)))); -***** assert (setdiff (infsupdec (1, 3), infsupdec ()) == infsupdec (1, 3)); -***** assert (isempty (setdiff (infsupdec (1, 3), infsupdec (-inf, inf)))); -***** assert (isempty (setdiff (infsupdec (1, 3), infsupdec (1, 4)))); -***** assert (setdiff (infsupdec (-inf, inf), infsupdec (1, 4)) == infsupdec (-inf, inf)); + assert (isequaln (intersect (in1, in2), out)); +25 tests, 25 passed, 0 known failure, 0 skipped +[inst/@infsup/cancelminus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cancelminus.m ***** # from the documentation string -***** assert (setdiff (infsupdec (1, 3), infsupdec (2, 4)) == infsupdec (1, 2)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsupdec/disjoint.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/disjoint.m -***** assert (disjoint (infsupdec (3, 4), infsupdec (5, 6))); -***** assert (not (disjoint (infsupdec (3, 4), infsupdec (4, 5)))); +***** assert (cancelminus (infsup (2, 3), infsup (1, 1.5)) == infsup (1, 1.5)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.disjoint; + testcases = testdata.NoSignal.infsup.cancelMinus; for testcase = [testcases]' assert (isequaln (... - disjoint (testcase.in{1}, testcase.in{2}), ... + cancelminus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.disjoint; + testcases = testdata.NoSignal.infsup.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (disjoint (in1, in2), out)); + assert (isequaln (cancelminus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.disjoint; + testcases = testdata.NoSignal.infsup.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -6415,33 +6851,51 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (disjoint (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/isempty.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/isempty.m -***** assert (isempty (infsupdec ())); -***** assert (not (isempty (infsupdec (1, 2)))); + assert (isequaln (cancelminus (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/subsref.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subsref.m +***** assert (infsup (magic (3))([1, 2, 3]) == magic (3)([1, 2, 3])); +***** test + x = infsup (magic (3), magic (3) + 1); + assert (x(1) == infsup (8, 9)); +***** test + x = infsup (magic (3), magic (3) + 1); + assert (x(:, 2) == infsup ([1; 5; 9], [2; 6; 10])); +***** assert (infsup (3).inf, 3); +***** test + x = infsup (magic (3), magic (3) + 1); + assert (x.inf, magic (3)); +***** assert (reshape (infsup (1:16), 2, 2, 2, 2)(2, 7) == infsup (14)) +***** assert (reshape (infsup (1:16), 2, 2, 2, 2)(:, 2, 2, 2) == infsup ([15; 16])) +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/min.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/min.m +***** # from the documentation string +***** assert (min (infsup (2, 3), infsup (1, 2)) == infsup (1, 2)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.isEmpty; + testcases = testdata.NoSignal.infsup.min; for testcase = [testcases]' assert (isequaln (... - isempty (testcase.in{1}), ... + min (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.isEmpty; + testcases = testdata.NoSignal.infsup.min; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (isempty (in1), out)); + assert (isequaln (min (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEmpty; + testcases = testdata.NoSignal.infsup.min; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6450,44 +6904,47 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (isempty (in1), out)); + assert (isequaln (min (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/length.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/length.m +***** assert (length (infsup ([])), 0); +***** assert (length (infsup (0)), 1); +***** assert (length (infsup (zeros (3, 1))), 3); +***** assert (length (infsup (zeros (1, 4))), 4); +***** assert (length (infsup (zeros (3, 4))), 4); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/bisect.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/bisect.m +[inst/@infsup/atanh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atanh.m ***** # from the documentation string +***** assert (atanh (infsup (.5)) == "[0x1.193EA7AAD030Ap-1, 0x1.193EA7AAD030Bp-1]"); +***** # correct use of signed zeros ***** test - [a, b] = bisect (infsupdec (2, 32)); - assert (a == infsupdec (2, 8, "trv")); - assert (b == infsupdec (8, 32, "trv")); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/inf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/inf.m -***** assert (inf (infsupdec (2.5, 3.5)), 2.5); -***** assert (inf (infsupdec ()), +inf); -***** assert (inf (infsupdec ("[nai]")), nan); -***** warning id=interval:UndefinedOperation - assert (inf (infsupdec (2, 1)), nan); + x = atanh (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.inf; + testcases = testdata.NoSignal.infsup.atanh; for testcase = [testcases]' assert (isequaln (... - inf (testcase.in{1}), ... + atanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.inf; + testcases = testdata.NoSignal.infsup.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (inf (in1), out)); + assert (isequaln (atanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.inf; + testcases = testdata.NoSignal.infsup.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6498,70 +6955,50 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (inf (in1), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/bitunpack.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/bitunpack.m -***** test - littleendian = bitunpack (uint16 (1))(1); - b = zeros (1, 136); - if (littleendian) - b([52, 63, 117, 127, 133]) = 1; - else - b([7, 12, 71, 77, 133]) = 1; - endif - assert (bitunpack (infsupdec (3, 4)), logical (b)); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/abs.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/abs.m -***** # Empty interval -***** assert (isequal (abs (infsupdec ()), infsupdec ())); -***** # Singleton intervals -***** assert (isequal (abs (infsupdec (1)), infsupdec (1))); -***** assert (isequal (abs (infsupdec (0)), infsupdec (0))); -***** assert (isequal (abs (infsupdec (-1)), infsupdec (1))); -***** assert (isequal (abs (infsupdec (realmax)), infsupdec (realmax))); -***** assert (isequal (abs (infsupdec (realmin)), infsupdec (realmin))); -***** assert (isequal (abs (infsupdec (-realmin)), infsupdec (realmin))); -***** assert (isequal (abs (infsupdec (-realmax)), infsupdec (realmax))); -***** # Bounded intervals -***** assert (isequal (abs (infsupdec (1, 2)), infsupdec (1, 2))); -***** assert (isequal (abs (infsupdec (0, 1)), infsupdec (0, 1))); -***** assert (isequal (abs (infsupdec (-1, 1)), infsupdec (0, 1))); -***** assert (isequal (abs (infsupdec (-1, 0)), infsupdec (0, 1))); -***** assert (isequal (abs (infsupdec (-2, -1)), infsupdec (1, 2))); -***** # Unbounded intervals -***** assert (isequal (abs (infsupdec (0, inf)), infsupdec (0, inf))); -***** assert (isequal (abs (infsupdec (-inf, inf)), infsupdec (0, inf))); -***** assert (isequal (abs (infsupdec (-inf, 0)), infsupdec (0, inf))); -***** assert (isequal (abs (infsupdec (1, inf)), infsupdec (1, inf))); -***** assert (isequal (abs (infsupdec (-1, inf)), infsupdec (0, inf))); -***** assert (isequal (abs (infsupdec (-inf, -1)), infsupdec (1, inf))); -***** assert (isequal (abs (infsupdec (-inf, 1)), infsupdec (0, inf))); + assert (isequaln (atanh (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/cancelplus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cancelplus.m ***** # from the documentation string -***** assert (isequal (abs (infsupdec (2.5, 3.5)), infsupdec (2.5, 3.5))); -***** assert (isequal (abs (infsupdec (-0.5, 5.5)), infsupdec (0, 5.5))); +***** assert (cancelplus (infsup (2, 3), infsup (1, 1.5)) == infsup (3.5, 4)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.abs; + testcases = testdata.NoSignal.infsup.cancelPlus; for testcase = [testcases]' assert (isequaln (... - abs (testcase.in{1}), ... + cancelplus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.abs; + testcases = testdata.NoSignal.infsup.cancelPlus; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (abs (in1), out)); + assert (isequaln (cancelplus (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.abs; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.cancelPlus; + for testcase = [testcases]' + assert (isequaln (... + cancelplus (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.cancelPlus; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + assert (isequaln (cancelplus (in1, in2), out)); +***** test + # N-dimensional array vector evaluation + testcases = testdata.NoSignal.infsupdec.cancelPlus; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6570,34 +7007,40 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (abs (in1), out)); -25 tests, 25 passed, 0 known failure, 0 skipped -[inst/@infsupdec/atanh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atanh.m -***** # from the documentation string -***** assert (isequal (atanh (infsupdec (.5)), infsupdec ("[0x1.193EA7AAD030Ap-1, 0x1.193EA7AAD030Bp-1]"))); + assert (isequaln (cancelplus (in1, in2), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/ismember.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ismember.m +***** assert (ismember (0, entire ())); +***** assert (ismember (0, intervalpart (entire ()))); +***** assert (not (ismember (0, empty ()))); +***** assert (not (ismember (0, intervalpart (empty ())))); +***** warning assert (not (ismember (0, infsupdec (2, 1)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.atanh; + testcases = testdata.NoSignal.infsup.isMember; for testcase = [testcases]' assert (isequaln (... - atanh (testcase.in{1}), ... + ismember (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.atanh; + testcases = testdata.NoSignal.infsup.isMember; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (atanh (in1), out)); + assert (isequaln (ismember (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsup.isMember; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6606,58 +7049,29 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atanh (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/mince.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mince.m -***** assert (isequal (mince (infsupdec (0, 10), 10), infsupdec (0 : 9, 1 : 10, "trv"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/psi.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/psi.m -***** assert (isempty (psi (infsupdec (0)))); -***** assert (isempty (psi (infsupdec (-1)))); -***** assert (isempty (psi (infsupdec (-2)))); -***** assert (isempty (psi (infsupdec (-3)))); -***** assert (isequal (psi (infsupdec (pow2 (-1074), inf)), infsupdec ("[Entire]_dac"))); -***** assert (isequal (psi (infsupdec (0, inf)), infsupdec ("[Entire]_trv"))); -***** assert (isequal (psi (infsupdec (-inf, -43.23)), infsupdec ("[Entire]_trv"))); -***** assert (isequal (psi (infsupdec (-1, 0)), infsupdec ("[Entire]_trv"))); -***** assert (isequal (psi (infsupdec (-2, -1)), infsupdec ("[Entire]_trv"))); -***** assert (isequal (psi (infsupdec (-eps, eps)), infsupdec ("[Entire]_trv"))); -***** assert (isequal (psi (infsupdec (-1-eps, -1+eps)), infsupdec ("[Entire]_trv"))); -***** assert (isequal (psi (infsupdec (-4.1, -3.9)), infsupdec ("[Entire]_trv"))); -***** # from the documentation string -***** assert (isequal (psi (infsupdec (1)), infsupdec ("[-0x1.2788CFC6FB619p-1, -0x1.2788CFC6FB618p-1]_com"))); -13 tests, 13 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sign.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sign.m -***** # from the documentation string -***** assert (isequal (sign (infsupdec (2, 3)), infsupdec (1))); -***** assert (isequal (sign (infsupdec (0)), infsupdec (0, "dac"))); -***** assert (isequal (sign (infsupdec (0, 5)), infsupdec (0, 1, "def"))); -***** assert (isequal (sign (infsupdec (-17)), infsupdec (-1))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (ismember (in1, in2), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sign; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isMember; for testcase = [testcases]' assert (isequaln (... - sign (testcase.in{1}), ... + ismember (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sign; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.isMember; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sign (in1), out)); + assert (isequaln (ismember (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sign; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.isMember; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6666,47 +7080,43 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sign (in1), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/factorial.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/factorial.m -***** # from the documentation string -***** assert (isequal (factorial (infsupdec (6)), infsupdec (720))); -***** assert (isequal (factorial (infsupdec (0)), infsupdec (1))); -***** assert (isequal (factorial (infsupdec ("[0, 1.99]")), infsupdec (1, "trv"))); -***** assert (isequal (factorial (infsupdec ("[0, 2]")), infsupdec (1, 2, "trv"))); -***** assert (isequal (factorial (infsupdec ("[1.4, 1.6]")), empty ())); -***** assert (isequal (factorial (infsupdec (23)), infsupdec ("[0x1.5e5c335f8a4cdp+74, 0x1.5e5c335f8a4cep+74]_com"))); -***** assert (isequal (factorial (infsupdec (171)), infsupdec ("[0x1.fffffffffffffp+1023, Inf]_dac"))); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/plus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/plus.m + assert (isequaln (ismember (in1, in2), out)); +11 tests, 11 passed, 0 known failure, 0 skipped +[inst/@infsup/subsasgn.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subsasgn.m +***** test + A = infsup (magic (3)); + A(4, 4) = 42; + assert (inf (A), [magic(3),[0;0;0];0,0,0,42]); + assert (sup (A), [magic(3),[0;0;0];0,0,0,42]); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/coshrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/coshrev.m ***** # from the documentation string -***** assert (isequal (infsupdec (2, 3) + infsupdec (1, 2), infsupdec (3, 5))); +***** assert (coshrev (infsup (-2, 1)) == 0); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.add; + testcases = testdata.NoSignal.infsup.coshRev; for testcase = [testcases]' assert (isequaln (... - plus (testcase.in{1}, testcase.in{2}), ... + coshrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.add; + testcases = testdata.NoSignal.infsup.coshRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (plus (in1, in2), out)); + assert (isequaln (coshrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.add; + testcases = testdata.NoSignal.infsup.coshRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6715,47 +7125,29 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (plus (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/decorationpart.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/decorationpart.m -***** assert (decorationpart (infsupdec (3, 4)), {"com"}); -***** assert (decorationpart (infsupdec (3, inf)), {"dac"}); -***** assert (decorationpart (infsupdec ("[3, 4]_def")), {"def"}); -***** assert (decorationpart (infsupdec ()), {"trv"}); -***** assert (decorationpart (nai), {"ill"}); -***** assert (decorationpart (nai, "uint8") ... - < decorationpart (infsupdec ("[3, 4]_trv"), "uint8")); -***** assert (decorationpart (infsupdec ("[3, 4]_trv"), "uint8") ... - < decorationpart (infsupdec ("[3, 4]_def"), "uint8")); -***** assert (decorationpart (infsupdec ("[3, 4]_def"), "uint8") ... - < decorationpart (infsupdec ("[3, 4]_dac"), "uint8")); -***** assert (decorationpart (infsupdec ("[3, 4]_dac"), "uint8") ... - < decorationpart (infsupdec ("[3, 4]_com"), "uint8")); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (coshrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.decorationPart; + testcases = testdata.NoSignal.infsup.coshRevBin; for testcase = [testcases]' assert (isequaln (... - decorationpart (testcase.in{1}), ... - {testcase.out})); + coshrev (testcase.in{1}, testcase.in{2}), ... + testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.decorationPart; + testcases = testdata.NoSignal.infsup.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = {testcases.out}'; - assert (isequaln (decorationpart (in1), out)); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + assert (isequaln (coshrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.decorationPart; + testcases = testdata.NoSignal.infsup.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = {testcases.out}'; + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); # Reshape data i = -1; do @@ -6763,36 +7155,46 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (decorationpart (in1), out)); -12 tests, 12 passed, 0 known failure, 0 skipped -[inst/@infsupdec/min.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/min.m + assert (isequaln (coshrev (in1, in2), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/postpad.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/postpad.m +***** assert (postpad (infsup (1:3), 4, 4) == infsup (1:4)); +***** assert (postpad (infsup (1:3), 2, 4) == infsup (1:2)); +***** assert (postpad (infsup (0), 10, 0, 3) == infsup (zeros (1, 1, 10))) +***** assert (postpad (infsup (zeros (1, 2, 2)), 3) == infsup (zeros (1, 3, 2))); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/sech.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sech.m ***** # from the documentation string -***** assert (isequal (min (infsupdec (2, 3), infsupdec (1, 2)), infsupdec (1, 2))); +***** assert (sech (infsup (1)) == "[0x1.4BCDC50ED6BE7p-1, 0x1.4BCDC50ED6BE8p-1]"); +***** # correct use of signed zeros +***** test + x = sech (infsup (0, inf)); + assert (signbit (inf (x))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.min; + testcases = testdata.NoSignal.infsup.sech; for testcase = [testcases]' assert (isequaln (... - min (testcase.in{1}, testcase.in{2}), ... + sech (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.min; + testcases = testdata.NoSignal.infsup.sech; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (min (in1, in2), out)); + assert (isequaln (sech (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.min; + testcases = testdata.NoSignal.infsup.sech; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6801,35 +7203,34 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (min (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/strictprecedes.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/strictprecedes.m -***** assert (strictprecedes (infsupdec (1, 1.9), infsupdec (2.1, 3))); -***** assert (not (strictprecedes (infsupdec (1, 2), infsupdec (2, 3)))); + assert (isequaln (sech (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/lt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/lt.m +***** assert (not (lt (infsup (1, 3), infsup (3)))); +***** assert (lt (infsup (1, 3), infsup (3.1))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.strictPrecedes; + testcases = testdata.NoSignal.infsup.strictLess; for testcase = [testcases]' assert (isequaln (... - strictprecedes (testcase.in{1}, testcase.in{2}), ... + lt (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.strictPrecedes; + testcases = testdata.NoSignal.infsup.strictLess; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (strictprecedes (in1, in2), out)); + assert (isequaln (lt (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.strictPrecedes; + testcases = testdata.NoSignal.infsup.strictLess; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -6842,253 +7243,591 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (strictprecedes (in1, in2), out)); + assert (isequaln (lt (in1, in2), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/infsupdec.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/infsupdec.m -***** # [NaI]s -***** assert (isnai (infsupdec ("[nai]"))); # quiet [NaI] -***** assert (isnai (infsupdec (" [ nai ] "))); # quiet [NaI] -***** assert (isnai (infsupdec ({0, "[nai]"})), [false, true]); # quiet [NaI] +[inst/@infsup/infsup.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/infsup.m +***** # Empty intervals +***** test + x = infsup (); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("[]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("[ ]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("[\t]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("[empty]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("[EMPTY]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("[ empty ]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("\t[\t Empty\t]\t"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** # Entire interval +***** test + x = infsup ("[,]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[entire]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[ENTIRE]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[ entire ]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup (" [Entire \t] "); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[-inf,+inf]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[-infinity, +infinity]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[-INF, +INFinitY]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** # double boundaries +***** test + x = infsup (0); + assert (inf (x), 0); + assert (sup (x), 0); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = infsup (2, 3); + assert (inf (x), 2); + assert (sup (x), 3); +***** test + x = infsup (-inf, 0.1); + assert (inf (x), -inf); + assert (sup (x), 0.1); +***** test + x = infsup (-inf, +inf); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** # NaN values ***** warning id=interval:UndefinedOperation - assert (isnai (infsupdec (3, 2))); # illegal boundaries + x = infsup (nan); + assert (inf (x), +inf); + assert (sup (x), -inf); ***** warning id=interval:UndefinedOperation - assert (isnai (infsupdec (inf, -inf))); # illegal boundaries + x = infsup (nan, 2); + assert (inf (x), +inf); + assert (sup (x), -inf); ***** warning id=interval:UndefinedOperation - assert (isnai (infsupdec ("Flugeldufel"))); # illegal literal + x = infsup (3, nan); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** # illegal numeric boundaries ***** warning id=interval:UndefinedOperation - assert (isnai (infsupdec ("[1, Inf]_com"))); # illegal decorated literal + x = infsup (+inf, -inf); + assert (inf (x), +inf); + assert (sup (x), -inf); ***** warning id=interval:UndefinedOperation - assert (isnai (infsupdec ("[Empty]_def"))); # illegal decorated literal -***** # decoration adjustments, setDec function + x = infsup (+inf, +inf); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup (-inf, -inf); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup (3, 2); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup (3, -inf); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** # double matrix ***** test - x = infsupdec (42, inf, "com"); - assert (inf (x), 42); - assert (sup (x), inf); - assert (decorationpart (x), {"dac"}); + x = infsup (magic (4)); + assert (inf (x), magic (4)); + assert (sup (x), magic (4)); ***** test - x = infsupdec (-inf, inf, {"com"}); - assert (inf (x), -inf); - assert (sup (x), inf); - assert (decorationpart (x), {"dac"}); + x = infsup (magic (3), magic (3) + 1); + assert (inf (x), magic (3)); + assert (sup (x), magic (3) + 1); +***** warning id=interval:UndefinedOperation + x = infsup (nan (3)); + assert (inf (x), +inf (3)); + assert (sup (x), -inf (3)); ***** test - x = infsupdec ("def"); - assert (inf (x), inf); - assert (sup (x), -inf); - assert (decorationpart (x), {"trv"}); -***** # overflow + x = infsup (-inf (3), +inf (3)); + assert (inf (x), -inf (3)); + assert (sup (x), +inf (3)); +***** # decimal boundaries ***** test - x = infsupdec ("[1, 1e999]_com"); + x = infsup ("0.1"); + assert (inf (x), 0.1 - eps / 16); + assert (sup (x), 0.1); +***** test + x = infsup ("0.1e1"); assert (inf (x), 1); - assert (sup (x), inf); - assert (decorationpart (x), {"dac"}); -***** # decorated interval literal + assert (sup (x), 1); +***** # hexadecimal boundaries ***** test - x = infsupdec ("[2, 3]_def"); - assert (inf (x), 2); - assert (sup (x), 3); - assert (decorationpart (x), {"def"}); + x = infsup ("0xff"); + assert (inf (x), 255); + assert (sup (x), 255); ***** test - x = infsupdec ("[1, 5]_dac"); - assert (inf (x), 1); - assert (sup (x), 5); - assert (decorationpart (x), {"dac"}); + x = infsup ("0xff.1"); + assert (inf (x), 255.0625); + assert (sup (x), 255.0625); ***** test - x = infsupdec ("[1, Infinity]_dac"); - assert (inf (x), 1); - assert (sup (x), inf); - assert (decorationpart (x), {"dac"}); + x = infsup ("0xff.1p-1"); + assert (inf (x), 127.53125); + assert (sup (x), 127.53125); +***** # named constants ***** test - x = infsupdec ("[Empty]_trv"); - assert (inf (x), inf); - assert (sup (x), -inf); - assert (decorationpart (x), {"trv"}); -***** # automatic decoration / undecorated interval literal / newDec function + x = infsup ("pi"); + assert (inf (x), pi); + assert (sup (x), pi + 2 * eps); ***** test - x = infsupdec ("[2, 3]"); - assert (inf (x), 2); - assert (sup (x), 3); - assert (decorationpart (x), {"com"}); + x = infsup ("e"); + assert (inf (x), e); + assert (sup (x), e + eps); +***** # uncertain form ***** test - x = infsupdec ("[Empty]"); - assert (inf (x), inf); - assert (sup (x), -inf); - assert (decorationpart (x), {"trv"}); + x = infsup ("32?"); + assert (inf (x), 31.5); + assert (sup (x), 32.5); ***** test - x = infsupdec ("[Entire]"); + x = infsup ("32?8"); + assert (inf (x), 24); + assert (sup (x), 40); +***** test + x = infsup ("32?u"); + assert (inf (x), 32); + assert (sup (x), 32.5); +***** test + x = infsup ("32?d"); + assert (inf (x), 31.5); + assert (sup (x), 32); +***** test + x = infsup ("32??"); assert (inf (x), -inf); - assert (sup (x), inf); - assert (decorationpart (x), {"dac"}); + assert (sup (x), +inf); ***** test - x = infsupdec (""); + x = infsup ("32??d"); assert (inf (x), -inf); - assert (sup (x), inf); - assert (decorationpart (x), {"dac"}); -***** # separate decoration information + assert (sup (x), 32); ***** test - x = infsupdec ("[2, 3]", "def"); + x = infsup ("32??u"); + assert (inf (x), 32); + assert (sup (x), +inf); +***** test + x = infsup ("32?e5"); + assert (inf (x), 3150000); + assert (sup (x), 3250000); +***** # rational form +***** test + x = infsup ("6/9"); + assert (inf (x), 2 / 3); + assert (sup (x), 2 / 3 + eps / 2); +***** test + x = infsup ("6e1/9"); + assert (inf (x), 20 / 3 - eps * 2); + assert (sup (x), 20 / 3); +***** test + x = infsup ("6/9e1"); + assert (inf (x), 2 / 30); + assert (sup (x), 2 / 30 + eps / 16); +***** test + x = infsup ("-6/9"); + assert (inf (x), -(2 / 3 + eps / 2)); + assert (sup (x), -2 / 3); +***** test + x = infsup ("6/-9"); + assert (inf (x), -(2 / 3 + eps / 2)); + assert (sup (x), -2 / 3); +***** test + x = infsup ("-6/-9"); + assert (inf (x), 2 / 3); + assert (sup (x), 2 / 3 + eps / 2); +***** test + x = infsup ("6.6/9.9"); + assert (inf (x), 2 / 3); + assert (sup (x), 2 / 3 + eps / 2); +***** # inf-sup interval literal +***** test + x = infsup ("[2, 3]"); assert (inf (x), 2); assert (sup (x), 3); - assert (decorationpart (x), {"def"}); -***** # cell array with decorated interval literals ***** test - x = infsupdec ({"[2, 3]_def", "[4, 5]_dac"}); - assert (inf (x), [2, 4]); - assert (sup (x), [3, 5]); - assert (decorationpart (x), {"def", "dac"}); -***** #cell array with separate decoration cell array + x = infsup ("[0.1]"); + assert (inf (x), 0.1 - eps / 16); + assert (sup (x), 0.1); ***** test - x = infsupdec ({"[2, 3]", "[4, 5]"}, {"def", "dac"}); - assert (inf (x), [2, 4]); - assert (sup (x), [3, 5]); - assert (decorationpart (x), {"def", "dac"}); -***** # cell array with separate decoration vector + x = infsup ("[0xff, 0xff.1]"); + assert (inf (x), 255); + assert (sup (x), 255.0625); ***** test - x = infsupdec ({"[2, 3]"; "[4, 5]"}, ["def"; "dac"]); - assert (inf (x), [2; 4]); - assert (sup (x), [3; 5]); - assert (decorationpart (x), {"def"; "dac"}); -***** # cell array with broadcasting decoration + x = infsup ("[e, pi]"); + assert (inf (x), e); + assert (sup (x), pi + 2 * eps); ***** test - x = infsupdec ({"[2, 3]", "[4, 5]"}, "def"); - assert (inf (x), [2, 4]); - assert (sup (x), [3, 5]); - assert (decorationpart (x), {"def", "def"}); + x = infsup ("[6/9, 6e1/9]"); + assert (inf (x), 2 / 3); + assert (sup (x), 20 / 3); +***** # corner cases ***** test - x = infsupdec ({"[2, 3]", "[4, 5]"}, "def; dac"); - assert (inf (x), [2, 4; 2, 4]); - assert (sup (x), [3, 5; 3, 5]); - assert (decorationpart (x), {"def", "def"; "dac", "dac"}); -***** # separate boundaries with decoration + x = infsup (","); + assert (inf (x), -inf); + assert (sup (x), +inf); ***** test - x = infsupdec (2, 3, "def"); - assert (inf (x), 2); + x = infsup ("[, 3]"); + assert (inf (x), -inf); assert (sup (x), 3); - assert (decorationpart (x), {"def"}); -***** # matrix boundaries with decoration ***** test - x = infsupdec ([3, 16], {"def", "trv"}); - assert (inf (x), [3, 16]); - assert (sup (x), [3, 16]); - assert (decorationpart (x), {"def", "trv"}); -***** # separate matrix boundaries with broadcasting decoration + x = infsup ("", "3"); + assert (inf (x), -inf); + assert (sup (x), 3); ***** test - x = infsupdec (magic (3), magic (3) + 1, "def"); + x = infsup ("[2, ]"); + assert (inf (x), 2); + assert (sup (x), inf); +***** test + x = infsup ("2", ""); + assert (inf (x), 2); + assert (sup (x), inf); +***** # decimal vector +***** test + x = infsup (["0.1"; "0.2"; "0.3"]); + assert (inf (x), [0.1 - eps / 16; 0.2 - eps / 8; 0.3]); + assert (sup (x), [0.1; 0.2; 0.3 + eps / 8]); +***** test + x = infsup ("0.1; 0.2; 0.3"); + assert (inf (x), [0.1 - eps / 16; 0.2 - eps / 8; 0.3]); + assert (sup (x), [0.1; 0.2; 0.3 + eps / 8]); +***** test + x = infsup ("0.1\n0.2\n0.3"); + assert (inf (x), [0.1 - eps / 16; 0.2 - eps / 8; 0.3]); + assert (sup (x), [0.1; 0.2; 0.3 + eps / 8]); +***** # cell array with mixed boundaries +***** test + x = infsup ({"0.1", 42; "e", "3.2/8"}, {"0xffp2", "42e1"; "pi", 2}); + assert (inf (x), [0.1 - eps / 16, 42; e, 0.4 - eps / 4]); + assert (sup (x), [1020, 420; pi + 2 * eps, 2]); +***** test + x = infsup ({"[2, 3]", "3/4", "[Entire]", "42?3", 1, "0xf"}); + assert (inf (x), [2, 0.75, -inf, 39, 1, 15]); + assert (sup (x), [3, 0.75, +inf, 45, 1, 15]); +***** # broadcasting +***** test + x = infsup (magic (3), 10); assert (inf (x), magic (3)); - assert (sup (x), magic (3) + 1); - assert (decorationpart (x), {"def", "def", "def"; "def", "def", "def"; "def", "def", "def"}); + assert (sup (x), 10 .* ones (3)); +***** test + x = infsup (zeros (1, 20), ones (20, 1)); + assert (inf (x), zeros (20, 20)); + assert (sup (x), ones (20, 20)); +***** # nai +***** warning id=interval:UndefinedOperation + x = infsup ("[nai]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup ("Ausgeschnitzel"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** # interval literals vs. two arguments +***** warning id=interval:UndefinedOperation + x = infsup ("[empty]", 42); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup ("0?", 42); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** # extraction of single errors +***** warning id=interval:UndefinedOperation + x = infsup ("0 1 2 [xxx] 3 4"); + assert (inf (x), [0 1 2 +inf 3 4]); + assert (sup (x), [0 1 2 -inf 3 4]); +***** warning id=interval:UndefinedOperation + x = infsup ({1 2; 3 "[xxx]"}); + assert (inf (x), [1 2; 3 +inf]); + assert (sup (x), [1 2; 3 -inf]); +***** # complex values +***** warning id=interval:InvalidOperand + x = infsup ([1 2 3+i 4+0i]); + assert (inf (x), [1 2 +inf 4]); + assert (sup (x), [1 2 -inf 4]); +***** # inaccurate conversion +***** warning id=interval:PossiblyUndefinedOperation + x = infsup ("1.000000000000000000002", "1.000000000000000000001"); + assert (inf (x), 1); + assert (sup (x), 1 + eps); +***** test + n = uint64(2 ^ 53); + x = infsup (n, n + 1); + assert (inf (x), double (n)); + assert (sup (x), double (n + 2)); +***** test + n = uint64(2 ^ 53); + x = infsup ({n}, n + 1); + assert (inf (x), double (n)); + assert (sup (x), double (n + 2)); +***** test + n = uint64(2 ^ 53); + x = infsup (n + 1, n + 1); + assert (inf (x), double (n)); + assert (sup (x), double (n + 2)); +***** test + n = uint64(2 ^ 54); + x = infsup (n, n + 1); + assert (inf (x), double (n)); + assert (sup (x), double (n + 4)); +***** warning id=interval:PossiblyUndefinedOperation + n = uint64(2 ^ 54); + x = infsup (n + 1, n + 2); + assert (inf (x), double (n)); + assert (sup (x), double (n + 4)); +***** warning id=interval:PossiblyUndefinedOperation + x = infsup ("pi", "3.141592653589793"); + assert (inf (x), pi); + assert (sup (x), pi); +***** warning id=interval:PossiblyUndefinedOperation + x = infsup ("pi", "3.1415926535897932"); + assert (inf (x), pi); + assert (sup (x), pi + 2 * eps); +***** # isexact flag +***** test + [~, isexact] = infsup (); + assert (isexact); +***** test + [~, isexact] = infsup (0); + assert (isexact); +***** test + [~, isexact] = infsup ("1 2 3"); + assert (isexact, true); +***** test + [~, isexact] = infsup ("1 2 3.1"); + assert (isexact, false); +***** warning + [~, isexact] = infsup ("[nai]"); + assert (not (isexact)); +***** # overflow flag +***** test + [~, ~, overflow] = infsup (); + assert (not (overflow)); +***** test + [~, ~, overflow] = infsup (0); + assert (not (overflow)); +***** test + [~, ~, overflow] = infsup ([1 2 3]); + assert (overflow, false (1, 3)); +***** warning + [~, ~, overflow] = infsup ("[nai]"); + assert (not (overflow)); +***** test + [~, ~, overflow] = infsup ("1e3000"); + assert (overflow); +***** test + [~, ~, overflow] = infsup ("[1, inf]"); + assert (not (overflow)); +***** # isnai flag +***** test + [~, ~, ~, isnai] = infsup (); + assert (not (isnai)); +***** test + [~, ~, ~, isnai] = infsup (0); + assert (not (isnai)); +***** test + [~, ~, ~, isnai] = infsup ([1 2 3]); + assert (isnai, false (1, 3)); +***** warning + [~, ~, ~, isnai] = infsup ("[nai]"); + assert (isnai); +***** warning + [~, ~, ~, isnai] = infsup ("xxx"); + assert (isnai); +***** warning + [~, ~, ~, isnai] = infsup ("1 2 xxx 4"); + assert (isnai, [false, false, true, false]); +***** warning + [~, ~, ~, isnai] = infsup ("[-inf, inf] [inf, inf]"); + assert (isnai, [false, true]); ***** # N-dimensional arrays ***** test - x = infsupdec (zeros (2, 2, 2)); + x = infsup (zeros (2, 2, 2)); assert (inf (x), zeros (2, 2, 2)); assert (sup (x), zeros (2, 2, 2)); - assert (decorationpart (x), repmat ({"com"}, [2, 2, 2])); ***** test - x = infsupdec (zeros (2, 2, 2), ones (2, 2, 2), repmat ({"trv"}, [2, 2, 2])); + x = infsup (zeros (2, 2, 2), ones (2, 2, 2)); assert (inf (x), zeros (2, 2, 2)); assert (sup (x), ones (2, 2, 2)); - assert (decorationpart (x), repmat ({"trv"}, [2, 2, 2])); ***** test - x = infsupdec (zeros (1, 1, 2), ones (1, 2, 1), {"trv"; "trv"}); - assert (inf (x), zeros (2, 2, 2)); - assert (sup (x), ones (2, 2, 2)); - assert (decorationpart (x), repmat ({"trv"}, [2, 2, 2])); + x = infsup (zeros (2, 1, 2, 1, 2, 1), ones (1, 3, 1, 3, 1, 3)); + assert (inf (x), zeros (2, 3, 2, 3, 2, 3)); + assert (sup (x), ones (2, 3, 2, 3, 2, 3)); ***** test c1 = reshape ({1, 2, 3, 4, 5, 6, 7, 8}, 2, 2, 2); c2 = reshape ({2, 3, 4, 5, 6, 7, 8, 9}, 2, 2, 2); - decpart = reshape ({"trv", "def", "dac", "com", "trv", "def", "dac", "com"}, 2, 2, 2); - x = infsupdec (c1, c2, decpart); + x = infsup (c1, c2); assert (inf (x), reshape (1:8, 2, 2, 2)); assert (sup (x), reshape (2:9, 2, 2, 2)); - assert (decorationpart (x), decpart) ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.setDec; + testcases = testdata.NoSignal.infsup.("b-numsToInterval"); for testcase = [testcases]' assert (isequaln (... - infsupdec (testcase.in{1}, testcase.in{2}), ... + infsup (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.setDec; + testcases = testdata.NoSignal.infsup.("b-numsToInterval"); in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (infsupdec (in1, in2), out)); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.("d-numsToInterval"); - for testcase = [testcases]' - assert (isequaln (... - infsupdec (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor + assert (isequaln (infsup (in1, in2), out)); ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.("d-numsToInterval"); + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.("b-numsToInterval"); in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (infsupdec (in1, in2), out)); -***** test + # Reshape data + i = -1; + do + i = i + 1; + testsize = factor (numel (in1) + i); + until (numel (testsize) > 2) + in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); + out = reshape ([out; out(1:i)], testsize); + assert (isequaln (infsup (in1, in2), out)); +***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.("d-textToInterval"); + testcases = testdata.NoSignal.infsup.("b-textToInterval"); for testcase = [testcases]' assert (isequaln (... - infsupdec (testcase.in{1}), ... + infsup (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.("d-textToInterval"); + testcases = testdata.NoSignal.infsup.("b-textToInterval"); in1 = vertcat (testcases.in); out = vertcat (testcases.out); - assert (isequaln (infsupdec (in1), out)); + assert (isequaln (infsup (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.("b-numsToInterval"); + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + # Reshape data + i = -1; + do + i = i + 1; + testsize = factor (numel (in1) + i); + until (numel (testsize) > 2) + in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); + out = reshape ([out; out(1:i)], testsize); + assert (isequaln (infsup (in1, in2), out)); ***** warning - testcases = testdata.PossiblyUndefinedOperation.infsupdec.("d-textToInterval"); + testcases = testdata.PossiblyUndefinedOperation.infsup.("b-textToInterval"); for testcase = [testcases]' lastwarn ("", ""); assert (isequaln (... - infsupdec (testcase.in{1}), ... + infsup (testcase.in{1}), ... testcase.out)); assert (nthargout (2, @lastwarn), "interval:PossiblyUndefinedOperation"); endfor ***** warning - testcases = testdata.UndefinedOperation.infsupdec.("d-textToInterval"); + testcases = testdata.UndefinedOperation.infsup.("b-textToInterval"); for testcase = [testcases]' lastwarn ("", ""); assert (isequaln (... - infsupdec (testcase.in{1}), ... + infsup (testcase.in{1}), ... testcase.out)); assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); endfor ***** warning - testcases = testdata.UndefinedOperation.infsupdec.("d-numsToInterval"); + testcases = testdata.UndefinedOperation.infsup.("b-numsToInterval"); for testcase = [testcases]' lastwarn ("", ""); assert (isequaln (... - infsupdec (testcase.in{1}, testcase.in{2}), ... + infsup (testcase.in{1}, testcase.in{2}), ... testcase.out)); assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); endfor -***** warning - testcases = testdata.UndefinedOperation.infsup.setDec; +117 tests, 117 passed, 0 known failure, 0 skipped +[inst/@infsup/sdist.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sdist.m +***** # from the documentation string +***** assert (sdist (infsup (0, 6), infsup (7, 20)), -1); +***** assert (sdist (infsup (3, 5), infsup (0, 1)), 2); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/mpower.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mpower.m +***** # from the documentation string +***** assert (isequal (infsup (magic (3)) ^ 2, infsup (magic (3) ^ 2))); +***** # correct use of signed zeros +***** test + x = mpower (infsup (eye (2)), 2); + assert (signbit (inf (x(1, 2)))); + assert (not (signbit (sup (x(1, 2))))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/coth.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/coth.m +***** # from the documentation string +***** assert (coth (infsup (1)) == "[0x1.50231499B6B1D, 0x1.50231499B6B1E]"); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.coth; for testcase = [testcases]' - lastwarn ("", ""); assert (isequaln (... - infsupdec (testcase.in{1}, testcase.in{2}), ... + coth (testcase.in{1}), ... testcase.out)); - assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); endfor ***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.coth; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (coth (in1), out)); +***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.("d-numsToInterval"); + testcases = testdata.NoSignal.infsup.coth; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7097,48 +7836,134 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (infsupdec (in1, in2), out)); -44 tests, 44 passed, 0 known failure, 0 skipped -[inst/@infsupdec/mtimes.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mtimes.m -***** assert (isequal (infsupdec ([1, 2; 7, 15], [2, 2; 7.5, 15], {"com", "def"; "dac", "com"}) * infsupdec ([3, 3; 0, 1], [3, 3.25; 0, 2]), infsupdec ([3, 5; 21, 36], [6, 10.5; 22.5, 54.375], {"def", "def"; "dac", "dac"}))); -***** # from the documentation string -***** assert (isequal (infsupdec ([1, 2; 7, 15], [2, 2; 7.5, 15]) * infsupdec ([3, 3; 0, 1], [3, 3.25; 0, 2]), infsupdec ([3, 5; 21, 36], [6, 10.5; 22.5, 54.375]))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsupdec/coth.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/coth.m -***** # from the documentation string -***** assert (isequal (coth (infsupdec (1)), infsupdec ("[0x1.50231499B6B1D, 0x1.50231499B6B1E]_com"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cancelminus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cancelminus.m -***** # from the documentation string -***** assert (isequal (cancelminus (infsupdec (2, 3), infsupdec (1, 1.5)), infsupdec (1, 1.5, "trv"))); + assert (isequaln (coth (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/mod.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mod.m +***** assert (mod (infsup (), infsup ()) == infsup ()); +***** assert (mod (infsup (0), infsup ()) == infsup ()); +***** assert (mod (infsup (), infsup (0)) == infsup ()); +***** assert (mod (infsup (0), infsup (0)) == infsup ()); +***** assert (mod (infsup (1), infsup (0)) == infsup ()); +***** assert (mod (infsup (0, 1), infsup (0)) == infsup ()); +***** assert (mod (infsup (1, 2), infsup (0)) == infsup ()); +***** assert (mod (infsup (0, inf), infsup (0)) == infsup ()); +***** assert (mod (infsup (1, inf), infsup (0)) == infsup ()); +***** assert (mod (infsup (realmax, inf), infsup (0)) == infsup ()); +***** assert (mod (infsup (0), infsup (1)) == infsup (0)); +***** assert (mod (infsup (0), infsup (0, 1)) == infsup (0)); +***** assert (mod (infsup (0), infsup (1, 2)) == infsup (0)); +***** assert (mod (infsup (0), infsup (0, inf)) == infsup (0)); +***** assert (mod (infsup (0), infsup (1, inf)) == infsup (0)); +***** assert (mod (infsup (0), infsup (realmax, inf)) == infsup (0)); +***** assert (mod (infsup (1), infsup (1)) == infsup (0)); +***** assert (mod (infsup (2), infsup (1)) == infsup (0)); +***** assert (mod (infsup (4), infsup (2)) == infsup (0)); +***** assert (mod (infsup (6), infsup (3)) == infsup (0)); +***** assert (mod (infsup (8), infsup (2)) == infsup (0)); +***** assert (mod (infsup (9), infsup (3)) == infsup (0)); +***** assert (mod (infsup (realmax), infsup (realmax)) == infsup (0)); +***** assert (mod (infsup (realmax), infsup (realmax / 2)) == infsup (0)); +***** assert (mod (infsup (realmax), infsup (realmax / 4)) == infsup (0)); +***** assert (mod (infsup (realmax), infsup (realmax / 8)) == infsup (0)); +***** assert (mod (infsup (realmax), infsup (realmax / 16)) == infsup (0)); +***** assert (mod (infsup (realmax), infsup (realmax / 32)) == infsup (0)); +***** assert (mod (infsup (0.1), infsup (0.1)) == infsup (0)); +***** assert (mod (infsup (0.1 * 2), infsup (0.1)) == infsup (0)); +***** assert (mod (infsup (0.1 * 4), infsup (0.1)) == infsup (0)); +***** assert (mod (infsup (pi), infsup (pi)) == infsup (0)); +***** assert (mod (infsup (pi), infsup (pi / 2)) == infsup (0)); +***** assert (mod (infsup (pi), infsup (pi / 4)) == infsup (0)); +***** assert (mod (infsup (pow2 (-1074)), infsup (pow2 (-1074))) == infsup (0)); +***** assert (mod (infsup (pow2 (-1073)), infsup (pow2 (-1074))) == infsup (0)); +***** assert (mod (infsup (pow2 (-1072)), infsup (pow2 (-1074))) == infsup (0)); +***** assert (mod (infsup (1), infsup (2)) == infsup (1)); +***** assert (mod (infsup (0.5), infsup (1)) == infsup (0.5)); +***** assert (mod (infsup (pi), infsup (3.15)) == infsup (pi)); +***** assert (mod (infsup (1), infsup (2, 3)) == infsup (1)); +***** assert (mod (infsup (1), infsup (2, inf)) == infsup (1)); +***** assert (mod (infsup (0.5), infsup (1, 2)) == infsup (0.5)); +***** assert (mod (infsup (0.5), infsup (1, inf)) == infsup (0.5)); +***** assert (mod (infsup (pi), infsup (3.15)) == infsup (pi)); +***** assert (mod (infsup (pi), infsup (3.15, inf)) == infsup (pi)); +***** assert (mod (infsup (0, 1), infsup (0, 1)) == infsup (0, 1)); +***** assert (mod (infsup (0, 2), infsup (0, 1)) == infsup (0, 1)); +***** assert (mod (infsup (0, 1), infsup (0, 2)) == infsup (0, 1)); +***** assert (mod (infsup (0, realmax), infsup (0, realmax)) == infsup (0, realmax)); +***** assert (mod (infsup (realmax, inf), infsup (realmax, inf)) == infsup (0, inf)); +***** assert (mod (infsup (0, inf), infsup (0, inf)) == infsup (0, inf)); +***** assert (mod (infsup (0), infsup (1)) == infsup (0)); +***** assert (mod (infsup (1), infsup (1)) == infsup (0)); +***** assert (mod (infsup (0, 1), infsup (1)) == infsup (0, 1)); +***** assert (mod (infsup (1, 2), infsup (1)) == infsup (0, 1)); +***** assert (mod (infsup (0, inf), infsup (1)) == infsup (0, 1)); +***** assert (mod (infsup (1, inf), infsup (1)) == infsup (0, 1)); +***** assert (mod (infsup (realmax, inf), infsup (1)) == infsup (0, 1)); +***** assert (mod (infsup (1), infsup (1)) == infsup (0)); +***** assert (mod (infsup (1), infsup (0, 1)) == infsup (0, 0.5)); +***** assert (mod (infsup (1), infsup (1, 2)) == infsup (0, 1)); +***** assert (mod (infsup (1), infsup (0, inf)) == infsup (0, 1)); +***** assert (mod (infsup (1), infsup (1, inf)) == infsup (0, 1)); +***** assert (mod (infsup (1), infsup (2, inf)) == infsup (1)); +***** assert (mod (infsup (1), infsup (realmax, inf)) == infsup (1)); +66 tests, 66 passed, 0 known failure, 0 skipped +[inst/@infsup/roundb.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/roundb.m +***** # Empty interval +***** assert (roundb (infsup ()) == infsup ()); +***** # Singleton intervals +***** assert (roundb (infsup (0)) == infsup (0)); +***** assert (roundb (infsup (0.5)) == infsup (0)); +***** assert (roundb (infsup (0.25)) == infsup (0)); +***** assert (roundb (infsup (0.75)) == infsup (1)); +***** assert (roundb (infsup (1.5)) == infsup (2)); +***** assert (roundb (infsup (-0.5)) == infsup (0)); +***** assert (roundb (infsup (-1.5)) == infsup (-2)); +***** # Bounded intervals +***** assert (roundb (infsup (-0.5, 0)) == infsup (0)); +***** assert (roundb (infsup (0, 0.5)) == infsup (0)); +***** assert (roundb (infsup (0.25, 0.5)) == infsup (0)); +***** assert (roundb (infsup (-1, 0)) == infsup (-1, 0)); +***** assert (roundb (infsup (-1, 1)) == infsup (-1, 1)); +***** assert (roundb (infsup (-realmin, realmin)) == infsup (0)); +***** assert (roundb (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); +***** # Unbounded intervals +***** assert (roundb (infsup (-realmin, inf)) == infsup (0, inf)); +***** assert (roundb (infsup (-realmax, inf)) == infsup (-realmax, inf)); +***** assert (roundb (infsup (-inf, realmin)) == infsup (-inf, 0)); +***** assert (roundb (infsup (-inf, realmax)) == infsup (-inf, realmax)); +***** assert (roundb (infsup (-inf, inf)) == infsup (-inf, inf)); +***** # correct use of signed zeros +***** test + x = roundb (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = roundb (infsup (-0.25, 0.25)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.cancelMinus; + testcases = testdata.NoSignal.infsup.roundTiesToEven; for testcase = [testcases]' assert (isequaln (... - cancelminus (testcase.in{1}, testcase.in{2}), ... + roundb (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cancelMinus; + testcases = testdata.NoSignal.infsup.roundTiesToEven; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelminus (in1, in2), out)); + assert (isequaln (roundb (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.cancelMinus; + testcases = testdata.NoSignal.infsup.roundTiesToEven; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7147,430 +7972,37 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cancelminus (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/nai.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/nai.m -***** assert (isnai (nai ())); -***** assert (isnai (nai (2)), true (2)); -***** assert (isnai (nai (3, 4)), true (3, 4)); -***** assert (decorationpart (nai ()), {"ill"}); -***** assert (isnai (nai (2, 2, 2)), true (2, 2, 2)) -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/__split_interval_literals__.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/__split_interval_literals__.m -***** assert (__split_interval_literals__ (""), {""}); -***** assert (__split_interval_literals__ (","), {""}); -***** assert (__split_interval_literals__ ("1"), {"1"}); -***** assert (__split_interval_literals__ ("1?"), {"1?"}); -***** assert (__split_interval_literals__ ("1?u"), {"1?u"}); -***** assert (__split_interval_literals__ ("1?u3"), {"1?u3"}); -***** assert (__split_interval_literals__ ("[Empty]"), {"[Empty]"}); -***** assert (__split_interval_literals__ ("[Entire]"), {"[Entire]"}); -***** assert (__split_interval_literals__ ("[]"), {"[]"}); -***** assert (__split_interval_literals__ ("[,]"), {"[,]"}); -***** assert (__split_interval_literals__ ("[1]"), {"[1]"}); -***** assert (__split_interval_literals__ ("[1,2]"), {"[1,2]"}); -***** assert (__split_interval_literals__ ("1 2"), {"1", "2"}); -***** assert (__split_interval_literals__ ("1, , , , , , ,2"), {"1", "2"}); -***** assert (__split_interval_literals__ ("1;;2"), {"1"; ""; "2"}); -***** assert (__split_interval_literals__ ("1; ;2"), {"1"; ""; "2"}); -***** assert (__split_interval_literals__ ("[1,2] [3,4]"), {"[1,2]", "[3,4]"}); -***** assert (__split_interval_literals__ ("[1,2],[3,4]"), {"[1,2]", "[3,4]"}); -***** assert (__split_interval_literals__ ("[1,2], [3,4]"), {"[1,2]", "[3,4]"}); -***** assert (__split_interval_literals__ ("[1,2]\n[3,4]"), {"[1,2]"; "[3,4]"}); -***** assert (__split_interval_literals__ ("[1,2];[3,4]"), {"[1,2]"; "[3,4]"}); -***** assert (__split_interval_literals__ ("[1,2]; [3,4]"), {"[1,2]"; "[3,4]"}); -***** assert (__split_interval_literals__ (["[1,2]"; "[3,4]"]), {"[1,2]"; "[3,4]"}); -***** assert (__split_interval_literals__ ("1 [3,4]"), {"1", "[3,4]"}); -***** assert (__split_interval_literals__ ("1,[3,4]"), {"1", "[3,4]"}); -***** assert (__split_interval_literals__ ("1, [3,4]"), {"1", "[3,4]"}); -***** assert (__split_interval_literals__ ("1\n[3,4]"), {"1"; "[3,4]"}); -***** assert (__split_interval_literals__ ("1;[3,4]"), {"1"; "[3,4]"}); -***** assert (__split_interval_literals__ ("1; [3,4]"), {"1"; "[3,4]"}); -***** assert (__split_interval_literals__ (["1"; "[3,4]"]), {"1"; "[3,4]"}); -***** assert (__split_interval_literals__ ("[1,2] 3"), {"[1,2]", "3"}); -***** assert (__split_interval_literals__ ("[1,2],3"), {"[1,2]", "3"}); -***** assert (__split_interval_literals__ ("[1,2], 3"), {"[1,2]", "3"}); -***** assert (__split_interval_literals__ ("[1,2]\n3"), {"[1,2]"; "3"}); -***** assert (__split_interval_literals__ ("[1,2];3"), {"[1,2]"; "3"}); -***** assert (__split_interval_literals__ ("[1,2]; 3"), {"[1,2]"; "3"}); -***** assert (__split_interval_literals__ (["[1,2]"; "3"]), {"[1,2]"; "3"}); -***** assert (__split_interval_literals__ ("1 3"), {"1", "3"}); -***** assert (__split_interval_literals__ ("1,3"), {"1", "3"}); -***** assert (__split_interval_literals__ ("1, 3"), {"1", "3"}); -***** assert (__split_interval_literals__ ("1\n3"), {"1"; "3"}); -***** assert (__split_interval_literals__ ("1;3"), {"1"; "3"}); -***** assert (__split_interval_literals__ ("1; 3"), {"1"; "3"}); -***** assert (__split_interval_literals__ (["1"; "3"]), {"1"; "3"}); -***** assert (__split_interval_literals__ ("[1,2] [3,4] [5,6]"), {"[1,2]", "[3,4]", "[5,6]"}); -***** assert (__split_interval_literals__ ("[1,2],[3,4],[5,6]"), {"[1,2]", "[3,4]", "[5,6]"}); -***** assert (__split_interval_literals__ ("[1,2], [3,4], [5,6]"), {"[1,2]", "[3,4]", "[5,6]"}); -***** assert (__split_interval_literals__ ("[1,2]\n[3,4];[5,6]"), {"[1,2]"; "[3,4]"; "[5,6]"}); -***** assert (__split_interval_literals__ ("[1,2];[3,4] [5,6]"), {"[1,2]", "[Empty]"; "[3,4]", "[5,6]"}); -***** assert (__split_interval_literals__ ("[1,2] [3,4];[5,6]"), {"[1,2]", "[3,4]"; "[5,6]", "[Empty]"}); -***** assert (__split_interval_literals__ ("1 [3,4] [5,6]"), {"1", "[3,4]", "[5,6]"}); -***** assert (__split_interval_literals__ ("1,[3,4],[5,6]"), {"1", "[3,4]", "[5,6]"}); -***** assert (__split_interval_literals__ ("1, [3,4], [5,6]"), {"1", "[3,4]", "[5,6]"}); -***** assert (__split_interval_literals__ ("1\n[3,4];[5,6]"), {"1"; "[3,4]"; "[5,6]"}); -***** assert (__split_interval_literals__ ("1;[3,4] [5,6]"), {"1", "[Empty]"; "[3,4]", "[5,6]"}); -***** assert (__split_interval_literals__ ("1 [3,4];[5,6]"), {"1", "[3,4]"; "[5,6]", "[Empty]"}); -***** assert (__split_interval_literals__ ("[1,2] 3 [5,6]"), {"[1,2]", "3", "[5,6]"}); -***** assert (__split_interval_literals__ ("[1,2],3,[5,6]"), {"[1,2]", "3", "[5,6]"}); -***** assert (__split_interval_literals__ ("[1,2], 3, [5,6]"), {"[1,2]", "3", "[5,6]"}); -***** assert (__split_interval_literals__ ("[1,2]\n3;[5,6]"), {"[1,2]"; "3"; "[5,6]"}); -***** assert (__split_interval_literals__ ("[1,2];3 [5,6]"), {"[1,2]", "[Empty]"; "3", "[5,6]"}); -***** assert (__split_interval_literals__ ("[1,2] 3;[5,6]"), {"[1,2]", "3"; "[5,6]", "[Empty]"}); -***** assert (__split_interval_literals__ ("[1,2] [3,4] 5"), {"[1,2]", "[3,4]", "5"}); -***** assert (__split_interval_literals__ ("[1,2],[3,4],5"), {"[1,2]", "[3,4]", "5"}); -***** assert (__split_interval_literals__ ("[1,2], [3,4], 5"), {"[1,2]", "[3,4]", "5"}); -***** assert (__split_interval_literals__ ("[1,2]\n[3,4];5"), {"[1,2]"; "[3,4]"; "5"}); -***** assert (__split_interval_literals__ ("[1,2];[3,4] 5"), {"[1,2]", "[Empty]"; "[3,4]", "5"}); -***** assert (__split_interval_literals__ ("[1,2] [3,4];5"), {"[1,2]", "[3,4]"; "5", "[Empty]"}); -***** assert (__split_interval_literals__ ("1 [3,4] 5"), {"1", "[3,4]", "5"}); -***** assert (__split_interval_literals__ ("1,[3,4],5"), {"1", "[3,4]", "5"}); -***** assert (__split_interval_literals__ ("1, [3,4], 5"), {"1", "[3,4]", "5"}); -***** assert (__split_interval_literals__ ("1\n[3,4];5"), {"1"; "[3,4]"; "5"}); -***** assert (__split_interval_literals__ ("1;[3,4] 5"), {"1", "[Empty]"; "[3,4]", "5"}); -***** assert (__split_interval_literals__ ("1 [3,4];5"), {"1", "[3,4]"; "5", "[Empty]"}); -***** assert (__split_interval_literals__ ("1 3 [5,6]"), {"1", "3", "[5,6]"}); -***** assert (__split_interval_literals__ ("1,3,[5,6]"), {"1", "3", "[5,6]"}); -***** assert (__split_interval_literals__ ("1, 3, [5,6]"), {"1", "3", "[5,6]"}); -***** assert (__split_interval_literals__ ("1\n3;[5,6]"), {"1"; "3"; "[5,6]"}); -***** assert (__split_interval_literals__ ("1;3 [5,6]"), {"1", "[Empty]"; "3", "[5,6]"}); -***** assert (__split_interval_literals__ ("1 3;[5,6]"), {"1", "3"; "[5,6]", "[Empty]"}); -***** assert (__split_interval_literals__ ("[1,2] 3 5"), {"[1,2]", "3", "5"}); -***** assert (__split_interval_literals__ ("[1,2],3,5"), {"[1,2]", "3", "5"}); -***** assert (__split_interval_literals__ ("[1,2], 3, 5"), {"[1,2]", "3", "5"}); -***** assert (__split_interval_literals__ ("[1,2]\n3;5"), {"[1,2]"; "3"; "5"}); -***** assert (__split_interval_literals__ ("[1,2];3 5"), {"[1,2]", "[Empty]"; "3", "5"}); -***** assert (__split_interval_literals__ ("[1,2] 3;5"), {"[1,2]", "3"; "5", "[Empty]"}); -***** assert (__split_interval_literals__ ("1 3 5"), {"1", "3", "5"}); -***** assert (__split_interval_literals__ ("1,3,5"), {"1", "3", "5"}); -***** assert (__split_interval_literals__ ("1, 3, 5"), {"1", "3", "5"}); -***** assert (__split_interval_literals__ ("1\n3;5"), {"1"; "3"; "5"}); -***** assert (__split_interval_literals__ ("1;3 5"), {"1", "[Empty]"; "3", "5"}); -***** assert (__split_interval_literals__ ("1 3;5"), {"1", "3"; "5", "[Empty]"}); -92 tests, 92 passed, 0 known failure, 0 skipped -[inst/ctc_union.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/ctc_union.m -***** function [fval, cx] = ctc_sin (y, x) - fval = sin (x); - y = intersect (y, fval); - cx = sinrev (y, x); -***** endfunction -***** function [fval, cx] = ctc_cos (y, x) - fval = cos (x); - y = intersect (y, fval); - cx = cosrev (y, x); -***** endfunction -***** shared c - c = ctc_union (@ctc_sin, 0, @ctc_cos, 0); -***** test - x = infsup (0); - y = infsup (0); - [fval, cx] = c (y, x); - assert (fval == 0); - assert (cx == 0) -***** test - x = infsup ("pi") / 2; - y = infsup (0); - [fval, cx] = c (y, x); - assert (fval == "[0, 1]"); - assert (cx == x); -***** test - x = infsup ("pi") / 4; - y = infsup (0); - [fval, cx] = c (y, x); - assert (fval > 0); - assert (isempty (cx)); -***** test - x = infsup (0, eps); - y = infsup (0); - [fval, cx] = c (y, x); - assert (fval == "[0, 1]"); - assert (cx == 0); -***** test - x = infsup ("[0, pi]") / 2; - y = infsup (0); - [fval, cx] = c (y, x); - assert (fval == "[0, 1]"); - assert (cx == x); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/verlinineqnn.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verlinineqnn.m -***** test - A = [-2, -3; -2, -1]; - b = [-1500; -1000]; - [x, y] = verlinineqnn (A, b); - assert (x, [375; 250], 1e-9); - assert (all (x >= [375; 250])); - assert (isnan (y)); -***** test - A = [1, 2; 3, 4]; - b = [-1; 0]; - [x, y] = verlinineqnn (A, b); - assert (y, [1; 0], 1e-9); - assert (all (y >= [1; 0])); - assert (isnan (x)); -***** test - A = [1, 2; 3, 4]; - b = [1; 1]; - [x, y] = verlinineqnn (A, b); - assert (x, [0; 0]); - assert (isnan (y)); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/vereigback.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/vereigback.m -***** test - [lambda, X, ep] = vereigback (eye (2)); - assert (lambda, [1; 1]); - assert (X, eye (2)); - assert (ep, zeros (2, 1)); -***** test - [lambda, X, ep] = vereigback ([2 1; 1 2]); - assert (lambda, [1; 3]); - assert (X, [-1 1; 1 1] ./ sqrt (2), eps); - assert (ep, zeros (2, 1)); -***** test - [lambda, X, ep] = vereigback ([2 0 0; 0 3 4; 0 4 9]); - assert (lambda, [1; 2; 11]); - assert (ep, zeros (3, 1)); -***** test - [lambda, X, ep] = vereigback ([1 2 3; 0 1 2; 1 1 1]); - assert (max (ep) < 1e-14); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/hull.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/hull.m -***** assert (isnai (hull (nai))); -***** assert (isempty (hull (nan))); -***** assert (isequal (hull (2, nan, 3, 5), infsupdec (2, 5, "trv"))); -***** assert (isequal (hull ([1, 2, 3], [5; 0; 2]), infsupdec ([1, 2, 3; 0, 0, 0; 1, 2, 2], [5, 5, 5; 1, 2, 3; 2, 2, 3], "com"))); -***** assert (isequal (hull (magic (3), 10), infsupdec (magic (3), 10 (ones (3)), "com"))); -***** assert (isequal (hull (2, magic (3), [nan, 2, 3; nan, 1, 1; 99, 100, nan]), infsupdec ([2, 1, 2; 2, 1, 1; 2, 2, 2], [8, 2, 6; 3, 5, 7; 99, 100, 2], {"trv", "com", "com"; "trv", "com", "com"; "com", "com", "trv"}))); -***** assert (isnai (hull ([nai, 2])), logical ([1 0])); -***** assert (isnai (hull ([nai, 2], [nai, 3])), logical ([1 0])); -***** assert (isnai (hull ([nai, 2], nai)), logical ([1 1])); -***** assert (isnai (hull ([nai, 2], [2, nai])), logical ([1 1])); -***** assert (isequal (hull (zeros (2, 2, 2, 2), ones (2, 2, 2, 2)), infsupdec (zeros (2, 2, 2, 2), ones (2, 2, 2, 2)))) -***** assert (isequal (hull (zeros (2, 1, 4, 1), ones (1, 3, 1, 5), -1), infsupdec (-ones (2, 3, 4, 5), ones (2, 3, 4, 5)))) -***** assert (isnai (hull (zeros (2, 2, 2, 2), ones (2, 2, 2, 2), nai)), logical (ones (2, 2, 2, 2))) -***** error hull (1:2, 1:3); -***** error hull ((1:2)', (1:3)'); -***** error hull (ones (2, 2, 2), ones (2, 2, 3)); -***** test "from the documentation string"; - assert (isequal (hull (1, 2, 3, 4), infsupdec (1, 4, "com"))); - assert (isequal (hull (empty, entire), infsupdec (-inf, inf, "trv"))); - assert (isequal (hull ("0.1", "pi", "e"), infsupdec (0.1 - eps / 16, pi + eps * 2, "com"))); - assert (isequal (hull ("[0, 3]", "[4, 7]"), infsupdec ("[0, 7]_com"))); -17 tests, 17 passed, 0 known failure, 0 skipped -[inst/empty.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/empty.m -***** assert (inf (empty ()), inf); -***** assert (sup (empty ()), -inf); -***** assert (decorationpart (empty ()), {"trv"}); -***** assert (inf (empty (5)), inf (5)); -***** assert (sup (empty (5)), -inf (5)); -***** assert (strcmp (decorationpart (empty (5)), "trv"), true (5)); -***** assert (inf (empty (5, 6)), inf (5, 6)); -***** assert (sup (empty (5, 6)), -inf (5, 6)); -***** assert (strcmp (decorationpart (empty (5, 6)), "trv"), true (5, 6)); -***** assert (inf (empty (5, 6, 7)), inf (5, 6, 7)); -***** assert (sup (empty (5, 6, 7)), -inf (5, 6, 7)); -***** assert (strcmp (decorationpart (empty (5, 6, 7)), "trv"), true (5, 6, 7)); -12 tests, 12 passed, 0 known failure, 0 skipped -[inst/midrad.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/midrad.m -***** assert (isempty (midrad ())); -***** warning id=interval:UndefinedOperation - assert (isnai (midrad (0, -inf))); -***** warning id=interval:UndefinedOperation - assert (isnai (midrad (0, -.1))); -***** warning id=interval:UndefinedOperation - assert (isnai (midrad (0, "-.1"))); -***** warning id=interval:UndefinedOperation - assert (isnai (midrad (0, infsup("-.1")))); -***** assert (isequal (midrad ("pi"), infsupdec ("pi"))); -***** warning id=interval:ImplicitPromote - assert (isequal (midrad (infsup (2), 2), infsupdec (0, 4))); -***** assert (isequal (midrad (2, infsup (2)), infsupdec (0, 4))); -***** warning id=interval:ImplicitPromote - assert (isequal (midrad (infsup (2), infsup (2)), infsupdec (0, 4))); -***** assert (isequal (midrad (2, infsupdec (2)), infsupdec (0, 4))); -***** assert (isequal (midrad (infsupdec (2), 2), infsupdec (0, 4))); -***** warning id=interval:ImplicitPromote - assert (isequal (midrad (infsup (2), infsupdec (2)), infsupdec (0, 4))); -***** assert (isequal (midrad (infsupdec (2), infsup (2)), infsupdec (0, 4))); -***** assert (isequal (midrad (infsupdec (2), infsupdec (2)), infsupdec (0, 4))); -***** assert (isequal (midrad (1, magic (3)), infsupdec ([-7, 0, -5; -2, -4, -6; -3, -8, -1], [9, 2, 7; 4, 6, 8; 5, 10, 3]))); -***** assert (isequal (midrad (magic (3), 1), infsupdec ([7, 0, 5; 2, 4, 6; 3, 8, 1], [9, 2, 7; 4, 6, 8; 5, 10, 3]))); -***** # from the documentation string -***** assert (isequal (midrad (42, 3), infsupdec (39, 45))); -***** assert (isequal (midrad (0, inf), entire ())); -***** assert (isequal (midrad ("1.1", "0.1"), infsupdec (1 - eps, "1.2"))); -***** # N-dimensional arrays -***** assert (isequal (midrad (zeros (2, 2, 2), ones (2, 2, 2)), infsupdec (-ones (2, 2, 2), ones (2, 2, 2)))); -***** assert (isequal (midrad (zeros (2, 2, 2), 1), infsupdec (-ones (2, 2, 2), ones (2, 2, 2)))); -***** assert (isequal (midrad (0, ones (2, 2, 2)), infsupdec (-ones (2, 2, 2), ones (2, 2, 2)))); -***** test - [M, R] = midrad (infsupdec (-ones (2, 2, 2), ones (2, 2, 2))); - assert (M, zeros (2, 2, 2)); - assert (R, ones (2, 2, 2)); -23 tests, 23 passed, 0 known failure, 0 skipped -[inst/verinvnonneg.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verinvnonneg.m -***** assert (verinvnonneg (eye (1)), 1) -***** assert (verinvnonneg (eye (2)), 1) -***** assert (verinvnonneg (eye (3)), 1) -***** assert (verinvnonneg (eye (4)), 1) -***** assert (verinvnonneg (eye (5)), 1) -***** assert (verinvnonneg (eye (6)), 1) -***** assert (verinvnonneg (eye (7)), 1) -***** assert (verinvnonneg (eye (8)), 1) -***** assert (verinvnonneg (zeros (1)), 0) -***** assert (verinvnonneg (zeros (2)), 0) -***** assert (verinvnonneg (zeros (3)), 0) -***** assert (verinvnonneg (zeros (4)), 0) -***** assert (verinvnonneg (zeros (5)), 0) -***** assert (verinvnonneg (zeros (6)), 0) -***** assert (verinvnonneg (zeros (7)), 0) -***** assert (verinvnonneg (zeros (8)), 0) -***** assert (verinvnonneg (magic (7)), 0) -***** assert (verinvnonneg (infsup (-inf, inf)), -1) -18 tests, 18 passed, 0 known failure, 0 skipped -[inst/ctc_intersect.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/ctc_intersect.m -***** function [fval, x] = ctc_abs (y, x) - fval = abs (x); - x = absrev (intersect (fval, y), x); -***** endfunction -***** shared c - c = ctc_intersect (@ctc_abs, "[0, 2]", @ctc_abs, "[1, 3]"); -***** test - [fval, x] = c (infsup (0), infsup ("[1, 3]")); - assert (ismember (0, fval) && 0 != fval); - assert (x == infsup ("[1, 2]")); -***** test - [fval, x] = c (infsup (0), infsup ("[1, 2]")); - assert (0 == fval); - assert (x == infsup ("[1, 2]")); -***** test - [fval, x] = c (infsup (0), infsup ("[entire]")); - assert (ismember (0, fval) && 0 != fval); - assert (x == infsup ("[-2, 2]")); -***** test - [fval, x] = c (infsup (0), infsup ("[0, inf]")); - assert (ismember (0, fval) && 0 != fval); - assert (x == infsup ("[1, 2]")); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/__check_crlibm__.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/__check_crlibm__.m -***** assert (__check_crlibm__ ()); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/interval_bitpack.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/interval_bitpack.m -***** test "bare"; - littleendian = bitunpack (uint16 (1))(1); - b = zeros (1, 128); - if (littleendian) - b([52, 63, 117, 127]) = 1; - else - b([7, 12, 71, 77]) = 1; - endif - decoded = interval_bitpack (logical (b)); - assert (eq (decoded, infsup (3, 4))); -***** test "decorated"; - littleendian = bitunpack (uint16 (1))(1); - b = zeros (1, 136); - if (littleendian) - b([52, 63, 117, 127, 133]) = 1; - else - b([7, 12, 71, 77, 133]) = 1; - endif - decoded = interval_bitpack (logical (b)); - assert (eq (decoded, infsupdec (3, 4))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/verintlinineqs.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verintlinineqs.m -***** test - A = [-2, -3; -2, -1]; - b = [-1500; -1000]; - [x, As] = verintlinineqs (A, b); - assert (x, [375; 250], 1e-9); - assert (all (x >= [375; 250])); - assert (all (all (isempty (As)))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/entire.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/entire.m -***** assert (inf (entire ()), -inf); -***** assert (sup (entire ()), inf); -***** assert (decorationpart (entire ()), {"dac"}); -***** assert (inf (entire (5)), -inf (5)); -***** assert (sup (entire (5)), inf (5)); -***** assert (strcmp (decorationpart (entire (5)), "dac"), true (5)); -***** assert (inf (entire (5, 6)), -inf (5, 6)); -***** assert (sup (entire (5, 6)), inf (5, 6)); -***** assert (strcmp (decorationpart (entire (5, 6)), "dac"), true (5, 6)); -***** assert (inf (entire (5, 6, 7)), -inf (5, 6, 7)); -***** assert (sup (entire (5, 6, 7)), inf (5, 6, 7)); -***** assert (strcmp (decorationpart (entire (5, 6, 7)), "dac"), true (5, 6, 7)); -12 tests, 12 passed, 0 known failure, 0 skipped -[inst/vereigvec.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/vereigvec.m -***** test - A = [1 0 0; 0 1 1; 0 0 1]; - assert (vereigvec (A, [1; 0; 0]), 1); - assert (vereigvec (A, [0; 1; 0]), 1); - assert (vereigvec (A, [0; 0; 1]), 0); -***** test - A = magic (3); - [evc, lambda] = vereigvec (A, [1 1 1]); - assert (evc, 1); - assert (lambda == 15); - assert (vereigvec (A, [1; 0; 0]), 0); - assert (vereigvec (A, [0; 1; 0]), 0); - assert (vereigvec (A, [0; 0; 1]), 0); -***** test - A = magic (3) + infsup ("[-5, 5]"); - [evc, lambda, As] = vereigvec (A, [1 0 0]); - assert (evc, 1); - assert (lambda == "[3, 13]"); - assert (ismember ([8 1 6; 0 2 4; 0 5 -2], As)); - assert (max (max (wid (As))) < 1e-14); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/fprintf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fprintf.m -***** xtest - assert (evalc ("n = fprintf ('%g', infsup ('pi'));"), "3.14159 3.1416"); - assert (n, 14); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/cos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cos.m + assert (isequaln (roundb (in1), out)); +25 tests, 25 passed, 0 known failure, 0 skipped +[inst/@infsup/rdivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rdivide.m ***** # from the documentation string -***** assert (cos (infsup (1)) == "[0x1.14A280FB5068Bp-1, 0x1.14A280FB5068Cp-1]"); +***** assert (infsup (2, 3) ./ infsup (1, 2) == infsup (1, 3)); +***** assert (1 ./ infsup (1, 4) == infsup (0.25, 1)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cos; + testcases = testdata.NoSignal.infsup.div; for testcase = [testcases]' assert (isequaln (... - cos (testcase.in{1}), ... + rdivide (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cos; + testcases = testdata.NoSignal.infsup.div; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cos (in1), out)); + assert (isequaln (rdivide (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cos; + testcases = testdata.NoSignal.infsup.div; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7579,33 +8011,26 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cos (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/sup.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sup.m -***** # from the documentation string -***** assert (sup (infsup (2.5, 3.5)), 3.5); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (rdivide (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sup; + testcases = testdata.NoSignal.infsup.recip; for testcase = [testcases]' assert (isequaln (... - sup (testcase.in{1}), ... + rdivide (1, testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sup; + testcases = testdata.NoSignal.infsup.recip; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sup (in1), out)); + assert (isequaln (rdivide (1, in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sup; + testcases = testdata.NoSignal.infsupdec.recip; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7616,45 +8041,49 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sup (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/det.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/det.m + assert (isequaln (rdivide (1, in1), out)); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsup/isrow.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isrow.m +***** assert (not (isrow (infsup ([])))); +***** assert (isrow (infsup (0))); +***** assert (isrow (infsup (zeros (1, 2)))); +***** assert (not (isrow (infsup (zeros (2, 1))))); +***** assert (not (isrow (infsup (zeros (5))))); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/atan2rev2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2rev2.m ***** # from the documentation string -***** assert (det (infsup (magic (3))) == -360); +***** assert (atan2rev2 (infsup (1, 2), infsup ("pi") / 4) == "[0x1.FFFFFFFFFFFFEp-1, 0x1.0000000000001p1]"); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/vertcat.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/vertcat.m -***** assert (vertcat (infsup (1), infsup (2)) == infsup (vertcat (1, 2))); -***** test - # from the documentation string - a = infsup (2, 5); - assert (vertcat (a, a, a) == infsup ([2; 2; 2], [5; 5; 5])); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/sec.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sec.m +[inst/@infsup/rad.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rad.m +***** test; + [m, r] = rad (infsup (2.5, 3.5)); + assert (m, 3); + assert (r, .5); ***** # from the documentation string -***** assert (sec (infsup (1)) == "[0x1.D9CF0F125CC29, 0x1.D9CF0F125CC2A]"); +***** assert (rad (infsup (2.5, 3.5)), .5); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sec; + testcases = testdata.NoSignal.infsup.rad; for testcase = [testcases]' assert (isequaln (... - sec (testcase.in{1}), ... + rad (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sec; + testcases = testdata.NoSignal.infsup.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sec (in1), out)); + assert (isequaln (rad (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sec; + testcases = testdata.NoSignal.infsup.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7665,14 +8094,40 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sec (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/sdist.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sdist.m -***** # from the documentation string -***** assert (sdist (infsup (0, 6), infsup (7, 20)), -1); -***** assert (sdist (infsup (3, 5), infsup (0, 1)), 2); -2 tests, 2 passed, 0 known failure, 0 skipped + assert (isequaln (rad (in1), out)); +***** test + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.rad; + for testcase = [testcases]' + assert (isequaln (... + rad (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.rad; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (rad (in1), out)); +***** test + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.rad; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + # Reshape data + i = -1; + do + i = i + 1; + testsize = factor (numel (in1) + i); + until (numel (testsize) > 2) + in1 = reshape ([in1; in1(1:i)], testsize); + out = reshape ([out; out(1:i)], testsize); + assert (isequaln (rad (in1), out)); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsup/intervaltoexact.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/intervaltoexact.m +***** assert (intervaltoexact (infsup (1 + eps)), "[0x1.0000000000001p+0]"); +1 test, 1 passed, 0 known failure, 0 skipped [inst/@infsup/nthroot.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/nthroot.m ***** assert (nthroot (infsup (25, 36), 2) == infsup (5, 6)); @@ -7732,33 +8187,36 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (nthroot (in1, in2), out)); 11 tests, 11 passed, 0 known failure, 0 skipped -[inst/@infsup/union.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/union.m +[inst/@infsup/exp.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/exp.m ***** # from the documentation string -***** assert (union (infsup (1, 3), infsup (2, 4)) == infsup (1, 4)); +***** assert (exp (infsup (1)) == infsup ("e")); +***** # correct use of signed zeros +***** test + x = exp (infsup (-realmax)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.convexHull; + testcases = testdata.NoSignal.infsup.exp; for testcase = [testcases]' assert (isequaln (... - union (testcase.in{1}, testcase.in{2}), ... + exp (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.convexHull; + testcases = testdata.NoSignal.infsup.exp; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (union (in1, in2), out)); + assert (isequaln (exp (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.convexHull; + testcases = testdata.NoSignal.infsup.exp; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7767,33 +8225,33 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (union (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/mag.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mag.m -***** assert (mag (infsup (-3, 4)), 4); -***** assert (mag (infsup (-4, 3)), 4); + assert (isequaln (exp (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/inf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/inf.m +***** # from the documentation string +***** assert (inf (infsup (2.5, 3.5)), 2.5); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mag; + testcases = testdata.NoSignal.infsup.inf; for testcase = [testcases]' assert (isequaln (... - mag (testcase.in{1}), ... + inf (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mag; + testcases = testdata.NoSignal.infsup.inf; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mag (in1), out)); + assert (isequaln (inf (in1), out)); +***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mag; + testcases = testdata.NoSignal.infsup.inf; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7804,24 +8262,79 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mag (in1), out)); + assert (isequaln (inf (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/ldivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ldivide.m +***** # from the documentation string +***** assert (ldivide (infsup (2, 3), infsup (1, 2)) == "[1/3, 1]"); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/sumabs.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sumabs.m +***** # from the documentation string +***** assert (sumabs ([infsup(1), pow2(-1074), -1]) == infsup (2, 2+eps*2)); +***** assert (sumabs (infsup ([])) == 0); +***** # correct use of signed zeros ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.mag; + x = sumabs (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/abs.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/abs.m +***** # Empty interval +***** assert (abs (infsup ()) == infsup ()); +***** # Singleton intervals +***** assert (abs (infsup (1)) == infsup (1)); +***** assert (abs (infsup (0)) == infsup (0)); +***** assert (abs (infsup (-1)) == infsup (1)); +***** assert (abs (infsup (realmax)) == infsup (realmax)); +***** assert (abs (infsup (realmin)) == infsup (realmin)); +***** assert (abs (infsup (-realmin)) == infsup (realmin)); +***** assert (abs (infsup (-realmax)) == infsup (realmax)); +***** # Bounded intervals +***** assert (abs (infsup (1, 2)) == infsup (1, 2)); +***** assert (abs (infsup (0, 1)) == infsup (0, 1)); +***** assert (abs (infsup (-1, 1)) == infsup (0, 1)); +***** assert (abs (infsup (-1, 0)) == infsup (0, 1)); +***** assert (abs (infsup (-2, -1)) == infsup (1, 2)); +***** # Unbounded intervals +***** assert (abs (infsup (0, inf)) == infsup (0, inf)); +***** assert (abs (infsup (-inf, inf)) == infsup (0, inf)); +***** assert (abs (infsup (-inf, 0)) == infsup (0, inf)); +***** assert (abs (infsup (1, inf)) == infsup (1, inf)); +***** assert (abs (infsup (-1, inf)) == infsup (0, inf)); +***** assert (abs (infsup (-inf, -1)) == infsup (1, inf)); +***** assert (abs (infsup (-inf, 1)) == infsup (0, inf)); +***** # from the documentation string +***** assert (abs (infsup (2.5, 3.5)) == infsup (2.5, 3.5)); +***** assert (abs (infsup (-0.5, 5.5)) == infsup (0, 5.5)); +***** # correct use of signed zeros +***** assert (signbit (inf (abs (infsup (-1, 0))))); +***** test + x = abs (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.abs; for testcase = [testcases]' assert (isequaln (... - mag (testcase.in{1}), ... + abs (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.mag; + # Vector evaluation + testcases = testdata.NoSignal.infsup.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mag (in1), out)); + assert (isequaln (abs (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mag; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7832,53 +8345,128 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mag (in1), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/size.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/size.m -***** assert (size (infsup (zeros (3, 4))), [3 4]); -***** assert (size (infsup (zeros (2, 3, 4))), [2, 3, 4]); + assert (isequaln (abs (in1), out)); +27 tests, 27 passed, 0 known failure, 0 skipped +[inst/@infsup/fminsearch.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fminsearch.m ***** test - [x y z] = size (infsup (magic (3))); - assert (x, 3); - assert (y, 3); - assert (z, 1); -***** assert (ismatrix (infsup ([]))); -***** assert (ismatrix (infsup (0))); -***** assert (ismatrix (infsup (zeros (3, 1)))); -***** assert (ismatrix (infsup (zeros (1, 4)))); -***** assert (ismatrix (infsup (zeros (3, 4)))); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/minus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/minus.m -***** # from the documentation string -***** assert (infsup (2, 3) - infsup (1, 2) == infsup (0, 2)); -***** # correct use of signed zeros + sqr = @(x) x .^ 2; + [x, y] = fminsearch (sqr, infsup (-inf, inf)); + assert (y == 0); +***** demo + clf + hold on + draw = @(x) plot (x(1), x(2), [238 232 213]/255, [88 110 117]/255); + f = @(x) (x(1) - 2) .^ 2 - x(2) .^ 2; + fminsearch (f, infsup ("[1, 3] [0, 1]"), ... + optimset ('OutputFcn', draw)); + hold off +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/plot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plot.m +***** # this test is rather pointless ***** test - x = minus (infsup (0), infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + clf + plot (empty ()); + close +***** demo + clf + hold on + plot (infsup (0), infsup (0)); + plot (infsup (1, 2), infsup (0)); + plot (infsup (0), infsup (1, 2)); + plot (infsup (1, 2), infsup (1, 2)); + axis ([-.5, 2.5, -.5, 2.5]); + hold off +***** demo + clf + plot (infsup (-rand (50, 1), +rand (50, 1))); +***** demo + clf + hold on + axis off + range = infsup (0, 9); + x = linspace (inf (range), sup (range), 250); + X = mince (range, 9); + f = @ (x) 0.5 * sin (x) .* x .^ 2; + y = f (x); + Y = f (X); + plot (range, f (range), [42 161 152]/255); + plot (X, Y, [238 232 213]/255, [88 110 117]/255); + plot (x, y, '-', 'color', [220 50 47]/255, 'linewidth', 2); + hold off +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/columns.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/columns.m +***** assert (columns (infsup (zeros (3, 4))), 4); +***** assert (columns (infsup (zeros (0, 4))), 4); +***** assert (columns (infsup (zeros (3, 0))), 0); +***** assert (columns (infsup (zeros (3, 1))), 1); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/smig.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/smig.m +***** assert (smig (infsup (-1, 2)), 0); +***** assert (smig (infsup (-42, -23)), -23); +***** assert (smig (infsup (23, 42)), 23); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/mrdivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mrdivide.m +***** # from the documentation string +***** assert (infsup ([1, 2; 3, 4]) / [3, 4; 1, 2] == infsup ([0, 1; 1, 0])); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/tanrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tanrev.m +***** # from the documentation string +***** assert (tanrev (infsup (0), infsup (2, 4)) == infsup ("pi")); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sub; + testcases = testdata.NoSignal.infsup.tanRev; for testcase = [testcases]' assert (isequaln (... - minus (testcase.in{1}, testcase.in{2}), ... + tanrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sub; + testcases = testdata.NoSignal.infsup.tanRev; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (tanrev (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.tanRev; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + # Reshape data + i = -1; + do + i = i + 1; + testsize = factor (numel (in1) + i); + until (numel (testsize) > 2) + in1 = reshape ([in1; in1(1:i)], testsize); + out = reshape ([out; out(1:i)], testsize); + assert (isequaln (tanrev (in1), out)); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.tanRevBin; + for testcase = [testcases]' + assert (isequaln (... + tanrev (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.tanRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (minus (in1, in2), out)); + assert (isequaln (tanrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sub; + testcases = testdata.NoSignal.infsup.tanRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -7891,34 +8479,32 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (minus (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/newdec.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/newdec.m -***** # from the documentation string -***** assert (isequal (newdec (infsup (2, 3)), infsupdec (2, 3))); -***** assert (isequal (newdec (infsupdec (2, 3)), infsupdec (2, 3))); -***** assert (isequal (newdec (infsupdec (1, "trv")), infsupdec (1, "trv"))); + assert (isequaln (tanrev (in1, in2), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/isempty.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isempty.m +***** assert (isempty (infsup ())); +***** assert (not (isempty (infsup (1, 2)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.newDec; + testcases = testdata.NoSignal.infsup.isEmpty; for testcase = [testcases]' assert (isequaln (... - newdec (testcase.in{1}), ... + isempty (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.newDec; + testcases = testdata.NoSignal.infsup.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (newdec (in1), out)); + assert (isequaln (isempty (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.newDec; + testcases = testdata.NoSignal.infsup.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7929,42 +8515,83 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (newdec (in1), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/intervaltoexact.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/intervaltoexact.m -***** assert (intervaltoexact (infsup (1 + eps)), "[0x1.0000000000001p+0]"); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/pow.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow.m -***** # from the documentation string -***** assert (pow (infsup (5, 6), infsup (2, 3)) == infsup (25, 216)); -***** # correct use of signed zeros + assert (isequaln (isempty (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/fsolve.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fsolve.m ***** test - x = pow (infsup (0), infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + sqr = @(x) x .^ 2; + assert (subset (sqrt (infsup (2)), fsolve (sqr, infsup (0, 3), 2))); +***** test + sqr = @(x) x .^ 2; + assert (subset (sqrt (infsup (2)), fsolve (sqr, infsup (0, 3), 2, struct ("Vectorize", false)))); +***** function [fval, x] = contractor (y, x) + fval = x .^ 2; + y = intersect (y, fval); + x = sqrrev (y, x); +***** endfunction +***** assert (subset (sqrt (infsup (2)), fsolve (@contractor, infsup (0, 3), 2, struct ("Contract", true)))); +***** assert (subset (sqrt (infsup (2)), fsolve (@contractor, infsup (0, 3), 2, struct ("Contract", true, "Vectorize", false)))); +***** demo + clf + hold on + grid on + axis equal + shade = [238 232 213] / 255; + blue = [38 139 210] / 255; + cyan = [42 161 152] / 255; + red = [220 50 47] / 255; + # 2D ring + f = @(x, y) hypot (x, y); + [outer, paving, inner] = fsolve (f, infsup ([-3; -3], [3; 3]), ... + infsup (0.5, 2), ... + optimset ('TolX', 0.1)); + # Plot the outer interval enclosure + plot (outer(1), outer(2), shade) + # Plot the guaranteed inner interval enclosures of the preimage + plot (paving(1, inner), paving(2, inner), blue, cyan); + # Plot the boundary of the preimage + plot (paving(1, not (inner)), paving(2, not (inner)), red); +***** demo + clf + hold on + grid on + shade = [238 232 213] / 255; + blue = [38 139 210] / 255; + # This 3D ring is difficult to approximate with interval boxes + f = @(x, y, z) hypot (hypot (x, y) - 2, z); + [~, paving, inner] = fsolve (f, infsup ([-4; -4; -2], [4; 4; 2]), ... + infsup (0, 0.5), ... + optimset ('TolX', 0.2)); + plot3 (paving(1, not (inner)), ... + paving(2, not (inner)), ... + paving(3, not (inner)), shade, blue); + view (50, 60) +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/interior.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/interior.m +***** assert (interior (infsup (1, 2), infsup (0, 3))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.pow; + testcases = testdata.NoSignal.infsup.interior; for testcase = [testcases]' assert (isequaln (... - pow (testcase.in{1}, testcase.in{2}), ... + interior (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pow; + testcases = testdata.NoSignal.infsup.interior; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pow (in1, in2), out)); + assert (isequaln (interior (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pow; + testcases = testdata.NoSignal.infsup.interior; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -7977,15 +8604,17 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pow (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/tanh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tanh.m + assert (isequaln (interior (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/sign.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sign.m ***** # from the documentation string -***** assert (tanh (infsup (1)) == "[0x1.85EFAB514F394p-1, 0x1.85EFAB514F395p-1]"); +***** assert (sign (infsup (2, 3)) == infsup (1)); +***** assert (sign (infsup (0, 5)) == infsup (0, 1)); +***** assert (sign (infsup (-17)) == infsup (-1)); ***** # correct use of signed zeros ***** test - x = tanh (infsup (0)); + x = sign (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -7993,21 +8622,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.tanh; + testcases = testdata.NoSignal.infsup.sign; for testcase = [testcases]' assert (isequaln (... - tanh (testcase.in{1}), ... + sign (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tanh; + testcases = testdata.NoSignal.infsup.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tanh (in1), out)); + assert (isequaln (sign (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanh; + testcases = testdata.NoSignal.infsup.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8018,49 +8647,37 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tanh (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/cat.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cat.m -***** assert (size (cat (1, infsup ([]), infsup ([]))), [0 0]); -***** assert (cat (1, infsup (1), infsup (2)) == infsup (cat (1, 1, 2))); -***** assert (cat (2, infsup (1), infsup (2)) == infsup (cat (2, 1, 2))); -***** assert (cat (5, infsup (1), infsup (2)) == infsup (cat (5, 1, 2))); -***** assert (cat (1, infsup (zeros (2, 2, 2)), infsup (ones (2, 2, 2))) == infsup (cat (1, zeros (2, 2, 2), ones (2, 2, 2)))); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/linspace.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/linspace.m -***** assert (isequal (linspace (infsup (0), infsup (10), 9), infsup (linspace (0, 10, 9)))); + assert (isequaln (sign (in1), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/atan.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan.m +***** # from the documentation string +***** assert (atan (infsup (1)) == "[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-1]"); ***** # correct use of signed zeros ***** test - x = linspace (infsup (0), infsup (0)); - assert (all (signbit (inf (x)))); - assert (all (not (signbit (sup (x))))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/mig.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mig.m -***** assert (mig (infsup (-1, 2)), 0); -***** assert (mig (infsup (-42, -23)), 23); + x = atan (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mig; + testcases = testdata.NoSignal.infsup.atan; for testcase = [testcases]' assert (isequaln (... - mig (testcase.in{1}), ... + atan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mig; + testcases = testdata.NoSignal.infsup.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mig (in1), out)); + assert (isequaln (atan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mig; + testcases = testdata.NoSignal.infsup.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8071,24 +8688,39 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mig (in1), out)); + assert (isequaln (atan (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/hdist.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/hdist.m +***** # from the documentation string +***** assert (hdist (infsup (1, 6), infsup (2, 8)), 2); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/newdec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/newdec.m +***** # from the documentation string +***** assert (isequal (newdec (infsup (2, 3)), infsupdec (2, 3))); +***** assert (isequal (newdec (infsupdec (2, 3)), infsupdec (2, 3))); +***** assert (isequal (newdec (infsupdec (1, "trv")), infsupdec (1, "trv"))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mig; + testcases = testdata.NoSignal.infsup.newDec; for testcase = [testcases]' assert (isequaln (... - mig (testcase.in{1}), ... + newdec (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mig; + testcases = testdata.NoSignal.infsup.newDec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mig (in1), out)); + assert (isequaln (newdec (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mig; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.newDec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8099,39 +8731,16 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mig (in1), out)); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/round.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/round.m -***** # Empty interval -***** assert (round (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (round (infsup (0)) == infsup (0)); -***** assert (round (infsup (0.5)) == infsup (1)); -***** assert (round (infsup (0.25)) == infsup (0)); -***** assert (round (infsup (0.75)) == infsup (1)); -***** assert (round (infsup (-0.5)) == infsup (-1)); -***** # Bounded intervals -***** assert (round (infsup (-0.5, 0)) == infsup (-1, 0)); -***** assert (round (infsup (0, 0.5)) == infsup (0, 1)); -***** assert (round (infsup (0.25, 0.5)) == infsup (0, 1)); -***** assert (round (infsup (-1, 0)) == infsup (-1, 0)); -***** assert (round (infsup (-1, 1)) == infsup (-1, 1)); -***** assert (round (infsup (-realmin, realmin)) == infsup (0)); -***** assert (round (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); -***** # Unbounded intervals -***** assert (round (infsup (-realmin, inf)) == infsup (0, inf)); -***** assert (round (infsup (-realmax, inf)) == infsup (-realmax, inf)); -***** assert (round (infsup (-inf, realmin)) == infsup (-inf, 0)); -***** assert (round (infsup (-inf, realmax)) == infsup (-inf, realmax)); -***** assert (round (infsup (-inf, inf)) == infsup (-inf, inf)); + assert (isequaln (newdec (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/power.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/power.m +***** # from the documentation string +***** assert (infsup (-5, 6) .^ infsup (2, 3) == infsup (-125, 216)); +***** assert (infsup (-10, 0) .^ infsup (0, 1:8) == infsup ([-1e1, -1e1, -1e3, -1e3, -1e5, -1e5, -1e7, -1e7], [1e0, 1e2, 1e2, 1e4, 1e4, 1e6, 1e6, 1e8])); ***** # correct use of signed zeros ***** test - x = round (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = round (infsup (-0.25, 0.25)); + x = power (infsup (0), infsup (1)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -8139,21 +8748,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.sqr; for testcase = [testcases]' assert (isequaln (... - round (testcase.in{1}), ... + power (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (round (in1), out)); + assert (isequaln (power (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8164,35 +8773,156 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (round (in1), out)); -23 tests, 23 passed, 0 known failure, 0 skipped -[inst/@infsup/lt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/lt.m -***** assert (not (lt (infsup (1, 3), infsup (3)))); -***** assert (lt (infsup (1, 3), infsup (3.1))); + assert (isequaln (power (in1, 2), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/dot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/dot.m +***** # matrix × matrix +***** assert (dot (infsup (magic (3)), magic (3)) == [89, 107, 89]); +***** assert (dot (infsup (magic (3)), magic (3), 1) == [89, 107, 89]); +***** assert (dot (infsup (magic (3)), magic (3), 2) == [101; 83; 101]); +***** # matrix × vector +***** assert (dot (infsup (magic (3)), [1, 2, 3]) == [28; 34; 28]); +***** assert (dot (infsup (magic (3)), [1, 2, 3], 1) == [15, 30, 45]); +***** assert (dot (infsup (magic (3)), [1, 2, 3], 2) == [28; 34; 28]); +***** assert (dot (infsup (magic (3)), [1; 2; 3]) == [26, 38, 26]); +***** assert (dot (infsup (magic (3)), [1; 2; 3], 1) == [26, 38, 26]); +***** assert (dot (infsup (magic (3)), [1; 2; 3], 2) == [15; 30; 45]); +***** # matrix × scalar +***** assert (dot (infsup (magic (3)), 42) == [630, 630, 630]); +***** assert (dot (infsup (magic (3)), 42, 1) == [630, 630, 630]); +***** assert (dot (infsup (magic (3)), 42, 2) == [630; 630; 630]); +***** # vector x vector +***** assert (dot (infsup([1, 2, 3]), [4, 5, 6]) == 32); +***** assert (dot (infsup([1, 2, 3]), [4, 5, 6], 1) == [4, 10, 18]); +***** assert (dot (infsup([1, 2, 3]), [4, 5, 6], 2) == 32); +***** assert (dot (infsup([1; 2; 3]), [4; 5; 6]) == 32); +***** assert (dot (infsup([1; 2; 3]), [4; 5; 6], 1) == 32); +***** assert (dot (infsup([1; 2; 3]), [4; 5; 6], 2) == [4; 10; 18]); +***** # vector × scalar +***** assert (dot (infsup ([1, 2, 3]), 42) == 252); +***** assert (dot (infsup ([1, 2, 3]), 42, 1) == [42, 84, 126]); +***** assert (dot (infsup ([1, 2, 3]), 42, 2) == 252); +***** assert (dot (infsup ([1; 2; 3]), 42) == 252); +***** assert (dot (infsup ([1; 2; 3]), 42, 1) == 252); +***** assert (dot (infsup ([1; 2; 3]), 42, 2) == [42; 84; 126]); +***** # N-dimensional arrays +***** test + x = infsup (reshape (1:24, 2, 3, 4)); + y = infsup (2.*ones (2, 3, 4)); + assert (dot (x, y, 3) == infsup ([80, 96, 112; 88, 104, 120])) +***** test + x = infsup (ones (2, 2, 2, 2)); + y = infsup (1); + assert (size (dot (x, y)), [1, 2, 2, 2]); + assert (size (dot (x, y, 1)), [1, 2, 2, 2]); + assert (size (dot (x, y, 2)), [2, 1, 2, 2]); + assert (size (dot (x, y, 3)), [2, 2, 1, 2]); + assert (size (dot (x, y, 4)), [2, 2, 2]); + assert (size (dot (x, y, 5)), [2, 2, 2, 2]); +***** # from the documentation string +***** assert (dot ([infsup(1), 2, 3], [infsup(2), 3, 4]) == 20); +***** assert (dot (infsup ([realmax; realmin; realmax]), [1; -1; -1], 1) == -realmin); +28 tests, 28 passed, 0 known failure, 0 skipped +[inst/@infsup/rem.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rem.m +***** assert (rem (infsup (), infsup ()) == infsup ()); +***** assert (rem (infsup (0), infsup ()) == infsup ()); +***** assert (rem (infsup (), infsup (0)) == infsup ()); +***** assert (rem (infsup (0), infsup (0)) == infsup ()); +***** assert (rem (infsup (1), infsup (0)) == infsup ()); +***** assert (rem (infsup (0, 1), infsup (0)) == infsup ()); +***** assert (rem (infsup (1, 2), infsup (0)) == infsup ()); +***** assert (rem (infsup (0, inf), infsup (0)) == infsup ()); +***** assert (rem (infsup (1, inf), infsup (0)) == infsup ()); +***** assert (rem (infsup (realmax, inf), infsup (0)) == infsup ()); +***** assert (rem (infsup (0), infsup (1)) == infsup (0)); +***** assert (rem (infsup (0), infsup (0, 1)) == infsup (0)); +***** assert (rem (infsup (0), infsup (1, 2)) == infsup (0)); +***** assert (rem (infsup (0), infsup (0, inf)) == infsup (0)); +***** assert (rem (infsup (0), infsup (1, inf)) == infsup (0)); +***** assert (rem (infsup (0), infsup (realmax, inf)) == infsup (0)); +***** assert (rem (infsup (1), infsup (1)) == infsup (0)); +***** assert (rem (infsup (2), infsup (1)) == infsup (0)); +***** assert (rem (infsup (4), infsup (2)) == infsup (0)); +***** assert (rem (infsup (6), infsup (3)) == infsup (0)); +***** assert (rem (infsup (8), infsup (2)) == infsup (0)); +***** assert (rem (infsup (9), infsup (3)) == infsup (0)); +***** assert (rem (infsup (realmax), infsup (realmax)) == infsup (0)); +***** assert (rem (infsup (realmax), infsup (realmax / 2)) == infsup (0)); +***** assert (rem (infsup (realmax), infsup (realmax / 4)) == infsup (0)); +***** assert (rem (infsup (realmax), infsup (realmax / 8)) == infsup (0)); +***** assert (rem (infsup (realmax), infsup (realmax / 16)) == infsup (0)); +***** assert (rem (infsup (realmax), infsup (realmax / 32)) == infsup (0)); +***** assert (rem (infsup (0.1), infsup (0.1)) == infsup (0)); +***** assert (rem (infsup (0.1 * 2), infsup (0.1)) == infsup (0)); +***** assert (rem (infsup (0.1 * 4), infsup (0.1)) == infsup (0)); +***** assert (rem (infsup (pi), infsup (pi)) == infsup (0)); +***** assert (rem (infsup (pi), infsup (pi / 2)) == infsup (0)); +***** assert (rem (infsup (pi), infsup (pi / 4)) == infsup (0)); +***** assert (rem (infsup (pow2 (-1074)), infsup (pow2 (-1074))) == infsup (0)); +***** assert (rem (infsup (pow2 (-1073)), infsup (pow2 (-1074))) == infsup (0)); +***** assert (rem (infsup (pow2 (-1072)), infsup (pow2 (-1074))) == infsup (0)); +***** assert (rem (infsup (1), infsup (2)) == infsup (1)); +***** assert (rem (infsup (0.5), infsup (1)) == infsup (0.5)); +***** assert (rem (infsup (pi), infsup (3.15)) == infsup (pi)); +***** assert (rem (infsup (1), infsup (2, 3)) == infsup (1)); +***** assert (rem (infsup (1), infsup (2, inf)) == infsup (1)); +***** assert (rem (infsup (0.5), infsup (1, 2)) == infsup (0.5)); +***** assert (rem (infsup (0.5), infsup (1, inf)) == infsup (0.5)); +***** assert (rem (infsup (pi), infsup (3.15)) == infsup (pi)); +***** assert (rem (infsup (pi), infsup (3.15, inf)) == infsup (pi)); +***** assert (rem (infsup (0, 1), infsup (0, 1)) == infsup (0, 1)); +***** assert (rem (infsup (0, 2), infsup (0, 1)) == infsup (0, 1)); +***** assert (rem (infsup (0, 1), infsup (0, 2)) == infsup (0, 1)); +***** assert (rem (infsup (0, realmax), infsup (0, realmax)) == infsup (0, realmax)); +***** assert (rem (infsup (realmax, inf), infsup (realmax, inf)) == infsup (0, inf)); +***** assert (rem (infsup (0, inf), infsup (0, inf)) == infsup (0, inf)); +***** assert (rem (infsup (0), infsup (1)) == infsup (0)); +***** assert (rem (infsup (1), infsup (1)) == infsup (0)); +***** assert (rem (infsup (0, 1), infsup (1)) == infsup (0, 1)); +***** assert (rem (infsup (1, 2), infsup (1)) == infsup (0, 1)); +***** assert (rem (infsup (0, inf), infsup (1)) == infsup (0, 1)); +***** assert (rem (infsup (1, inf), infsup (1)) == infsup (0, 1)); +***** assert (rem (infsup (realmax, inf), infsup (1)) == infsup (0, 1)); +***** assert (rem (infsup (1), infsup (1)) == infsup (0)); +***** assert (rem (infsup (1), infsup (0, 1)) == infsup (0, 0.5)); +***** assert (rem (infsup (1), infsup (1, 2)) == infsup (0, 1)); +***** assert (rem (infsup (1), infsup (0, inf)) == infsup (0, 1)); +***** assert (rem (infsup (1), infsup (1, inf)) == infsup (0, 1)); +***** assert (rem (infsup (1), infsup (2, inf)) == infsup (1)); +***** assert (rem (infsup (1), infsup (realmax, inf)) == infsup (1)); +66 tests, 66 passed, 0 known failure, 0 skipped +[inst/@infsup/cbrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cbrt.m +***** # from the documentation string +***** assert (cbrt (infsup (-27, 27)) == infsup (-3, 3)); +***** # correct use of signed zeros +***** test + x = cbrt (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.strictLess; + testcases = testdata.NoSignal.infsup.cbrt; for testcase = [testcases]' assert (isequaln (... - lt (testcase.in{1}, testcase.in{2}), ... + cbrt (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.strictLess; + testcases = testdata.NoSignal.infsup.cbrt; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (lt (in1, in2), out)); + assert (isequaln (cbrt (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.strictLess; + testcases = testdata.NoSignal.infsup.cbrt; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -8201,56 +8931,66 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (lt (in1, in2), out)); + assert (isequaln (cbrt (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/printf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/printf.m -***** xtest - assert (evalc ("n = printf ('%g', infsup ('pi'));"), "3.14159 3.1416"); - assert (n, 14); +[inst/@infsup/gamma.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gamma.m +***** # from the documentation string +***** assert (gamma (infsup (1.5)) == "[0x1.C5BF891B4EF6Ap-1, 0x1.C5BF891B4EF6Bp-1]"); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/lu.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/lu.m +[inst/@infsup/inv.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/inv.m +***** # from the wiki ***** test - [l, u] = lu (infsup (magic (3))); - assert (l == infsup ({1, 0, 0; .375, 1, 0; .5, "68/37", 1}));, ... - assert (subset (u, infsup ({8, 1, 6; 0, 4.625, 4.75; 0, 0, "-0x1.3759F2298375Bp3"}, ... - {8, 1, 6; 0, 4.625, 4.75; 0, 0, "-0x1.3759F22983759p3"}))); + A = infsup ([1, 2, 3; 4, 0, 0; 0, 0, 1]); + A (2, 3) = "[0, 6]"; + B = inv (A); + assert (inf (B) == [0, .25, -1.5; .5, -.125, -1.5; 0, 0, 1]); + assert (sup (B) == [0, .25, 0; .5, -.125, -.75; 0, 0, 1]); +***** # from the documentation string +***** assert (inv (infsup ([2, 1, 1; 0, 1, 0; 1, 0, 0])) == [0, 0, 1; 0, 1, 0; 1, -1, -2]); +***** assert (inv (infsup ([1, 2, 3; 4, 0, 6; 0, 0, 1])) == [0, .25, -1.5; .5, -.125, -.75; 0, 0, 1]); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/rsqrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rsqrt.m +***** # from the documentation string +***** assert (rsqrt (infsup (-6, 4)) == infsup (.5, inf)); +***** # correct use of signed zeros ***** test - A = magic (3); - A([1, 5, 9]) = 0; - [l, u, p] = lu (infsup (A)); - assert (p, [0, 0, 1; 1, 0, 0; 0, 1, 0]); - assert (l == infsup ({1, 0, 0; "4/3", 1, 0; 0, "1/9", 1})); - assert (subset (u, infsup ({3, 0, 7; 0, 9, "-0x1.2AAAAAAAAAAACp3"; 0, 0, "0x1.C25ED097B425Ep2"}, ... - {3, 0, 7; 0, 9, "-0x1.2AAAAAAAAAAAAp3"; 0, 0, "0x1.C25ED097B426p2"}))); + x = rsqrt (infsup (0, inf)); + assert (signbit (inf (x))); 2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/sinrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinrev.m +[inst/@infsup/ndims.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ndims.m +***** assert (ndims (infsup ([])), 2); +***** assert (ndims (infsup (0)), 2); +***** assert (ndims (infsup (magic (3))), 2); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/wid.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/wid.m ***** # from the documentation string -***** assert (sinrev (infsup (-1), infsup (0, 6)) == "[0x1.2D97C7F3321D2p2, 0x1.2D97C7F3321D3p2]"); +***** assert (wid (infsup (2.5, 3.5)), 1); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sinRev; + testcases = testdata.NoSignal.infsup.wid; for testcase = [testcases]' assert (isequaln (... - sinrev (testcase.in{1}), ... + wid (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sinRev; + testcases = testdata.NoSignal.infsup.wid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sinrev (in1), out)); + assert (isequaln (wid (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sinRev; + testcases = testdata.NoSignal.infsup.wid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8261,27 +9001,25 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sinrev (in1), out)); + assert (isequaln (wid (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.sinRevBin; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.wid; for testcase = [testcases]' assert (isequaln (... - sinrev (testcase.in{1}, testcase.in{2}), ... + wid (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.sinRevBin; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.wid; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sinrev (in1, in2), out)); + assert (isequaln (wid (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sinRevBin; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.wid; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -8290,21 +9028,33 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sinrev (in1, in2), out)); + assert (isequaln (wid (in1), out)); 7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/ge.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ge.m -***** assert (ge (infsup (2, 3), infsup (1, 3))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/uminus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/uminus.m +[inst/@infsup/acos.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/acos.m +***** # Empty interval +***** assert (acos (infsup ()) == infsup ()); +***** # Singleton intervals +***** assert (acos (infsup (-1)) == infsup ("pi")); +***** assert (subset (acos (infsup (-.5)), union ((infsup ("pi") / 2), infsup ("pi")))); +***** assert (acos (infsup (0)) == infsup ("pi") / 2); +***** assert (subset (acos (infsup (.5)), union ((infsup ("pi") / 2), infsup (0)))); +***** assert (acos (infsup (1)) == infsup (0)); +***** # Bounded intervals +***** assert (acos (infsup (-1, 0)) == union ((infsup ("pi") / 2), infsup ("pi"))); +***** assert (acos (infsup (0, 1)) == union ((infsup ("pi") / 2), infsup (0))); +***** assert (acos (infsup (-1, 1)) == infsup (0, "pi")); +***** assert (acos (infsup (-2, 2)) == infsup (0, "pi")); +***** # Unbounded intervals +***** assert (acos (infsup (0, inf)) == union ((infsup ("pi") / 2), infsup (0))); +***** assert (acos (infsup (-inf, 0)) == union ((infsup ("pi") / 2), infsup ("pi"))); +***** assert (acos (infsup (-inf, inf)) == infsup (0, "pi")); ***** # from the documentation string -***** assert (-infsup (2, 3) == infsup (-3, -2)); +***** assert (acos (infsup (.5)) == "[0x1.0C152382D7365, 0x1.0C152382D7366]"); ***** # correct use of signed zeros ***** test - x = uminus (infsup (0)); + x = acos (infsup (1)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -8312,21 +9062,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.neg; + testcases = testdata.NoSignal.infsup.acos; for testcase = [testcases]' assert (isequaln (... - uminus (testcase.in{1}), ... + acos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.neg; + testcases = testdata.NoSignal.infsup.acos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (uminus (in1), out)); + assert (isequaln (acos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.neg; + testcases = testdata.NoSignal.infsup.acos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8337,55 +9087,79 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (uminus (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/mpower.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mpower.m + assert (isequaln (acos (in1), out)); +18 tests, 18 passed, 0 known failure, 0 skipped +[inst/@infsup/diag.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/diag.m +***** assert (diag (infsup (-inf, inf)) == "[Entire]"); +***** assert (diag (infsup ()) == "[Empty]"); +***** assert (numel (diag (infsup ([]))), 0); +***** assert (isequal (diag (infsup (magic (3))), infsup ([8; 5; 2]))); +***** assert (isequal (diag (infsup ([8 5 3])), infsup ([8 0 0; 0 5 0; 0 0 3]))); +***** assert (isequal (diag (infsup (1:2), 2, 3), infsup ([1 0 0; 0 2 0]))); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/fix.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fix.m +***** # Empty interval +***** assert (fix (infsup ()) == infsup ()); +***** # Singleton intervals +***** assert (fix (infsup (0)) == infsup (0)); +***** assert (fix (infsup (1)) == infsup (1)); +***** assert (fix (infsup (1+eps)) == infsup (1)); +***** assert (fix (infsup (-1)) == infsup (-1)); +***** assert (fix (infsup (0.5)) == infsup (0)); +***** assert (fix (infsup (-0.5)) == infsup (0)); +***** # Bounded intervals +***** assert (fix (infsup (-0.5, 0)) == infsup (0)); +***** assert (fix (infsup (0, 0.5)) == infsup (0)); +***** assert (fix (infsup (0.25, 0.5)) == infsup (0)); +***** assert (fix (infsup (-1, 0)) == infsup (-1, 0)); +***** assert (fix (infsup (-1, 1)) == infsup (-1, 1)); +***** assert (fix (infsup (-realmin, realmin)) == infsup (0)); +***** assert (fix (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); +***** # Unbounded intervals +***** assert (fix (infsup (-realmin, inf)) == infsup (0, inf)); +***** assert (fix (infsup (-realmax, inf)) == infsup (-realmax, inf)); +***** assert (fix (infsup (-inf, realmin)) == infsup (-inf, 0)); +***** assert (fix (infsup (-inf, realmax)) == infsup (-inf, realmax)); +***** assert (fix (infsup (-inf, inf)) == infsup (-inf, inf)); ***** # from the documentation string -***** assert (isequal (infsup (magic (3)) ^ 2, infsup (magic (3) ^ 2))); +***** assert (fix (infsup (2.5, 3.5)) == infsup (2, 3)); +***** assert (fix (infsup (-0.5, 5)) == infsup (0, 5)); ***** # correct use of signed zeros ***** test - x = mpower (infsup (eye (2)), 2); - assert (signbit (inf (x(1, 2)))); - assert (not (signbit (sup (x(1, 2))))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/horzcat.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/horzcat.m -***** assert (horzcat (infsup (1), infsup (2)) == infsup (horzcat (1, 2))); + x = fix (infsup (0.5)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** test - # from the documentation string - a = infsup (2, 5); - assert (horzcat (a, a, a) == infsup ([2, 2, 2], [5, 5, 5])); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/powrev2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/powrev2.m -***** # from the documentation string -***** assert (powrev2 (infsup (2, 5), infsup (3, 6)) == "[0x1.5D7E8F22BA886p-1, 0x1.4AE00D1CFDEB5p1]"); + x = fix (infsup (-0.5)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = fix (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.powRev2; + testcases = testdata.NoSignal.infsup.trunc; for testcase = [testcases]' assert (isequaln (... - powrev2 (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + fix (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.powRev2; + testcases = testdata.NoSignal.infsup.trunc; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (powrev2 (in1, in2, in3), out)); + assert (isequaln (fix (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.powRev2; + testcases = testdata.NoSignal.infsup.trunc; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -8394,73 +9168,62 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (powrev2 (in1, in2, in3), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/nextout.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/nextout.m + assert (isequaln (fix (in1), out)); +27 tests, 27 passed, 0 known failure, 0 skipped +[inst/@infsup/det.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/det.m ***** # from the documentation string +***** assert (det (infsup (magic (3))) == -360); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/ge.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ge.m +***** assert (ge (infsup (2, 3), infsup (1, 3))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/mulrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mulrev.m +***** #IEEE Std 1788-2015 mulRevToPair examples ***** test - x = nextout (infsup (1)); - assert (inf (x), 1 - eps / 2); - assert (sup (x), 1 + eps); -***** # correct use of signed zeros + [u, v] = mulrev (infsup (0), infsup (1, 2)); + assert (isempty (u) & isempty (v)); ***** test - x = nextout (infsup (pow2 (-1074))); - assert (signbit (inf (x))); + [u, v] = mulrev (infsup (0), infsup (0, 1)); + assert (isentire (u) & isempty (v)); ***** test - x = nextout (infsup (-pow2 (-1074))); - assert (not (signbit (sup (x)))); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/smig.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/smig.m -***** assert (smig (infsup (-1, 2)), 0); -***** assert (smig (infsup (-42, -23)), -23); -***** assert (smig (infsup (23, 42)), 23); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/sumabs.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sumabs.m -***** # from the documentation string -***** assert (sumabs ([infsup(1), pow2(-1074), -1]) == infsup (2, 2+eps*2)); -***** assert (sumabs (infsup ([])) == 0); -***** # correct use of signed zeros + [u, v] = mulrev (infsup (1), infsup (1, 2)); + assert (eq (u, infsup (1, 2)) & isempty (v)); ***** test - x = sumabs (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/cbrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cbrt.m -***** # from the documentation string -***** assert (cbrt (infsup (-27, 27)) == infsup (-3, 3)); -***** # correct use of signed zeros + [u, v] = mulrev (infsup (1, inf), infsup (1)); + assert (eq (u, infsup (0, 1)) & isempty (v)); ***** test - x = cbrt (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + [u, v] = mulrev (infsup (-1, 1), infsup (1, 2)); + assert (eq (u, infsup (-inf, -1)) & eq (v, infsup (1, inf))); +***** test + [u, v] = mulrev (infsup (-inf, inf), infsup (1)); + assert (eq (u, infsup (-inf, 0)) & eq (v, infsup (0, inf))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cbrt; + testcases = testdata.NoSignal.infsup.mulRevToPair1; for testcase = [testcases]' assert (isequaln (... - cbrt (testcase.in{1}), ... + nthargout (1, 2, @mulrev, testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cbrt; + testcases = testdata.NoSignal.infsup.mulRevToPair1; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cbrt (in1), out)); + assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cbrt; + testcases = testdata.NoSignal.infsup.mulRevToPair1; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -8469,37 +9232,27 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cbrt (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/ismember.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ismember.m -***** assert (ismember (0, entire ())); -***** assert (ismember (0, intervalpart (entire ()))); -***** assert (not (ismember (0, empty ()))); -***** assert (not (ismember (0, intervalpart (empty ())))); -***** warning assert (not (ismember (0, infsupdec (2, 1)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.isMember; + testcases = testdata.NoSignal.infsup.mulRevToPair2; for testcase = [testcases]' assert (isequaln (... - ismember (testcase.in{1}, testcase.in{2}), ... + nthargout (2, @mulrev, testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isMember; + testcases = testdata.NoSignal.infsup.mulRevToPair2; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (ismember (in1, in2), out)); + assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isMember; + testcases = testdata.NoSignal.infsup.mulRevToPair2; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -8512,25 +9265,25 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (ismember (in1, in2), out)); + assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isMember; + # Scalar evaluation + testcases = testdata.NoSignal.infsup.mulRev; for testcase = [testcases]' assert (isequaln (... - ismember (testcase.in{1}, testcase.in{2}), ... + mulrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isMember; + # Vector evaluation + testcases = testdata.NoSignal.infsup.mulRev; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (ismember (in1, in2), out)); + assert (isequaln (mulrev (in1, in2), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.isMember; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mulRev; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -8543,71 +9296,29 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (ismember (in1, in2), out)); -11 tests, 11 passed, 0 known failure, 0 skipped -[inst/@infsup/prod.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/prod.m -***** # from the documentation string -***** assert (prod (infsup (1 : 4)) == 24); -***** assert (prod (infsup ([])) == 1); -***** assert (prod (infsup (magic (3))) == [96, 45, 84]); -***** assert (prod (infsup (magic (3)), 2) == [48; 105; 72]); -***** assert (prod (infsup (magic (3)), 3) == magic (3)); -***** assert (prod (prod (reshape (infsup (1:24), 1, 2, 3, 4))) == reshape ([720, 665280, 13366080, 96909120], 1, 1, 1, 4)) -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/absrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/absrev.m -***** # Empty interval -***** assert (absrev (infsup ()) == infsup ()); -***** assert (absrev (infsup (0, 1), infsup ()) == infsup ()); -***** assert (absrev (infsup (0, 1), infsup (7, 9)) == infsup ()); -***** assert (absrev (infsup (), infsup (0, 1)) == infsup ()); -***** assert (absrev (infsup (-2, -1)) == infsup ()); -***** # Singleton intervals -***** assert (absrev (infsup (1)) == infsup (-1, 1)); -***** assert (absrev (infsup (0)) == infsup (0)); -***** assert (absrev (infsup (-1)) == infsup ()); -***** assert (absrev (infsup (realmax)) == infsup (-realmax, realmax)); -***** assert (absrev (infsup (realmin)) == infsup (-realmin, realmin)); -***** assert (absrev (infsup (-realmin)) == infsup ()); -***** assert (absrev (infsup (-realmax)) == infsup ()); -***** # Bound intervals -***** assert (absrev (infsup (1, 2)) == infsup (-2, 2)); -***** assert (absrev (infsup (1, 2), infsup (0, 2)) == infsup (1, 2)); -***** assert (absrev (infsup (0, 1), infsup (-0.5, 2)) == infsup (-0.5, 1)); -***** assert (absrev (infsup (-1, 1)) == infsup (-1, 1)); -***** assert (absrev (infsup (-1, 0)) == infsup (0)); -***** # Unbound intervals -***** assert (absrev (infsup (0, inf)) == infsup (-inf, inf)); -***** assert (absrev (infsup (-inf, inf)) == infsup (-inf, inf)); -***** assert (absrev (infsup (-inf, 0)) == infsup (0)); -***** assert (absrev (infsup (1, inf), infsup (-inf, 0)) == infsup (-inf, -1)); -***** assert (absrev (infsup (-1, inf)) == infsup (-inf, inf)); -***** assert (absrev (infsup (-inf, -1)) == infsup ()); -***** assert (absrev (infsup (-inf, 1)) == infsup (-1, 1)); -***** # from the documentation string -***** assert (absrev (infsup (-2, 1)) == infsup (-1, 1)); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (mulrev (in1, in2), out)); ***** test - # Scalar evaluation with one argument - testcases = testdata.NoSignal.infsup.absRev; + # Scalar evaluation + testcases = testdata.NoSignal.infsup.mulRevTen; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}), ... + mulrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test - # Vector evaluation with one argument - testcases = testdata.NoSignal.infsup.absRev; + # Vector evaluation + testcases = testdata.NoSignal.infsup.mulRevTen; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1), out)); + assert (isequaln (mulrev (in1, in2, in3), out)); ***** test - # N-dimensional array evaluation with one argument - testcases = testdata.NoSignal.infsup.absRev; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mulRevTen; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -8616,28 +9327,78 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); + in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (absrev (in1), out)); + assert (isequaln (mulrev (in1, in2, in3), out)); +18 tests, 18 passed, 0 known failure, 0 skipped +[inst/@infsup/bitunpack.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/bitunpack.m +***** test; + littleendian = bitunpack (uint16 (1))(1); + b = zeros (1, 128); + if (littleendian) + b([52, 63, 117, 127]) = 1; + else + b([7, 12, 71, 77]) = 1; + endif + assert (bitunpack (infsup (3, 4)), logical (b)); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/ceil.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ceil.m +***** # Empty interval +***** assert (ceil (infsup ()) == infsup ()); +***** # Singleton intervals +***** assert (ceil (infsup (0)) == infsup (0)); +***** assert (ceil (infsup (0.5)) == infsup (1)); +***** assert (ceil (infsup (-0.5)) == infsup (0)); +***** # Bounded intervals +***** assert (ceil (infsup (-0.5, 0)) == infsup (0)); +***** assert (ceil (infsup (0, 0.5)) == infsup (0, 1)); +***** assert (ceil (infsup (0.25, 0.5)) == infsup (1)); +***** assert (ceil (infsup (-1, 0)) == infsup (-1, 0)); +***** assert (ceil (infsup (-1, 1)) == infsup (-1, 1)); +***** assert (ceil (infsup (-realmin, realmin)) == infsup (0, 1)); +***** assert (ceil (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); +***** # Unbounded intervals +***** assert (ceil (infsup (-realmin, inf)) == infsup (0, inf)); +***** assert (ceil (infsup (-realmax, inf)) == infsup (-realmax, inf)); +***** assert (ceil (infsup (-inf, realmin)) == infsup (-inf, 1)); +***** assert (ceil (infsup (-inf, realmax)) == infsup (-inf, realmax)); +***** assert (ceil (infsup (-inf, inf)) == infsup (-inf, inf)); +***** # from the documentation string +***** assert (ceil (infsup (2.5, 3.5)) == infsup (3, 4)); +***** assert (ceil (infsup (-.5, 5)) == infsup (0, 5)); +***** # correct use of signed zeros ***** test - # Scalar evaluation with two arguments - testcases = testdata.NoSignal.infsup.absRevBin; + x = ceil (infsup (-0.5)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = ceil (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.ceil; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}, testcase.in{2}), ... + ceil (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation with two arguments - testcases = testdata.NoSignal.infsup.absRevBin; + # Vector evaluation + testcases = testdata.NoSignal.infsup.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1, in2), out)); + assert (isequaln (ceil (in1), out)); ***** test - # N-dimensional array evaluation with two arguments - testcases = testdata.NoSignal.infsup.absRevBin; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -8646,52 +9407,36 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (absrev (in1, in2), out)); -31 tests, 31 passed, 0 known failure, 0 skipped -[inst/@infsup/fma.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fma.m -***** # from the documentation string -***** assert (fma (infsup (1+eps), infsup (7), infsup ("0.1")) == "[0x1.C666666666668p2, 0x1.C666666666669p2]"); -***** # correct use of signed zeros -***** test - x = fma (infsup (0), 0, 0); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = fma (infsup (1), 0, 0); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = fma (infsup (1), 1, -1); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + assert (isequaln (ceil (in1), out)); +23 tests, 23 passed, 0 known failure, 0 skipped +[inst/@infsup/disjoint.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/disjoint.m +***** assert (disjoint (infsup (3, 4), infsup (5, 6))); +***** assert (not (disjoint (infsup (3, 4), infsup (4, 5)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.fma; + testcases = testdata.NoSignal.infsup.disjoint; for testcase = [testcases]' assert (isequaln (... - fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + disjoint (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.fma; + testcases = testdata.NoSignal.infsup.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (fma (in1, in2, in3), out)); + assert (isequaln (disjoint (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.fma; + testcases = testdata.NoSignal.infsup.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -8701,33 +9446,35 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (fma (in1, in2, in3), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/isrow.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isrow.m -***** assert (not (isrow (infsup ([])))); -***** assert (isrow (infsup (0))); -***** assert (isrow (infsup (zeros (1, 2)))); -***** assert (not (isrow (infsup (zeros (2, 1))))); -***** assert (not (isrow (infsup (zeros (5))))); + assert (isequaln (disjoint (in1, in2), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/ei.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ei.m -***** assert (isempty (ei (infsup (0)))); -***** assert (isempty (ei (infsup (-inf, -2)))); -***** assert (isentire (ei (infsup (0, inf)))); +[inst/@infsup/gammaln.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gammaln.m +***** assert (gammaln (infsup (-inf, inf)) == "[-0x1.F19B9BCC38A42p-4, +Inf]"); ***** # from the documentation string -***** assert (ei (infsup (1)) == "[0x1.E52670F350D08, 0x1.E52670F350D09]"); +***** assert (gammaln (infsup (1.5)) == "[-0x1.EEB95B094C192p-4, -0x1.EEB95B094C191p-4]"); +***** # correct use of signed zeros +***** test + x = gammaln (infsup (1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = gammaln (infsup (2)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/atan.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan.m +[inst/@infsup/ne.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ne.m +***** assert (ne (infsup (1, 2), infsup (1, 3))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/asinh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/asinh.m ***** # from the documentation string -***** assert (atan (infsup (1)) == "[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-1]"); +***** assert (asinh (infsup (1)) == "[0x1.C34366179D426p-1, 0x1.C34366179D427p-1]"); ***** # correct use of signed zeros ***** test - x = atan (infsup (0)); + x = asinh (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -8735,21 +9482,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.asinh; for testcase = [testcases]' assert (isequaln (... - atan (testcase.in{1}), ... + asinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (atan (in1), out)); + assert (isequaln (asinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8760,183 +9507,51 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atan (in1), out)); + assert (isequaln (asinh (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/tril.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tril.m -***** assert (tril (infsup (magic (10))) == tril (magic (10))); -***** assert (tril (infsup (magic (10)), 1) == tril (magic (10), 1)); -***** assert (tril (infsup (magic (10)), -1) == tril (magic (10), -1)); -***** assert (tril (infsup (magic (10)), 0, "pack") == tril (magic (10), 0, "pack")); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/atan2rev1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2rev1.m +[inst/@infsup/idist.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/idist.m ***** # from the documentation string -***** assert (atan2rev1 (infsup (1, 2), infsup ("pi") / 4) == "[0x1.FFFFFFFFFFFFFp-1, 0x1.0000000000001p1]"); +***** assert (idist (infsup (0, 6), infsup (7, 20)), 1); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/disp.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/disp.m -***** assert (disp (infsup([])), ""); -***** assert (disp (infsup(zeros (0, 1))), ""); -***** assert (disp (infsup(zeros (1, 0))), ""); -***** assert (disp (infsup(0)), "[0]\n"); -***** assert (disp (infsup(0, 1)), "[0, 1]\n"); -***** assert (disp (infsup([0 0])), " [0] [0]\n"); -***** assert (disp (infsup([0 0; 0 0])), " [0] [0]\n [0] [0]\n"); -***** assert (disp (infsup([0; 0])), " [0]\n [0]\n"); -***** assert (disp (infsup (zeros (1, 1, 1, 0))), ""); -***** assert (disp (infsup(zeros(2, 2, 2))), "ans(:,:,1) =\n\n [0] [0]\n [0] [0]\n\nans(:,:,2) =\n\n [0] [0]\n [0] [0]\n") -***** test - i = infsupdec (reshape (1:24, 2, 3, 4)); - i(1, 1, 2) = entire (); - i(1, 1, 3) = empty (); - i(1, 1, 4) = nai (); - assert (disp (i(1,1,:)), "ans(:,:,1) = [1]_com\nans(:,:,2) = [Entire]_dac\nans(:,:,3) = [Empty]_trv\nans(:,:,4) = [NaI]\n") -***** test - x = infsup (zeros ([1 2 2])); - unwind_protect - format compact - compact = disp (x); - format loose - loose = disp (x); - unwind_protect_cleanup - format - end_unwind_protect - assert (compact, "ans(:,:,1) =\n [0] [0]\nans(:,:,2) =\n [0] [0]\n"); - assert (loose, "ans(:,:,1) =\n\n [0] [0]\n\nans(:,:,2) =\n\n [0] [0]\n"); -***** test - x = infsup (zeros ([1 1 2])); - unwind_protect - format compact - compact = disp (x); - format loose - loose = disp (x); - unwind_protect_cleanup - format - end_unwind_protect - assert (compact, "ans(:,:,1) = [0]\nans(:,:,2) = [0]\n"); - assert (loose, "ans(:,:,1) = [0]\nans(:,:,2) = [0]\n"); -warning: test: file /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/disp.m leaked global variables: current_print_indent_level -13 tests, 13 passed, 0 known failure, 0 skipped -[inst/@infsup/norm.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/norm.m -***** test - A = infsup ("0 [Empty] [0, 1] 1"); - assert (isequal (norm (A, 0, "cols"), infsup ("0 [Empty] [0, 1] 1"))); -***** assert (norm (infsup (magic (3)), inf, 1) == 45); -***** assert (norm (infsup (-magic (3), magic (3)), inf, 1) == "[0, 45]"); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/atan2rev2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2rev2.m +[inst/@infsup/sum.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sum.m ***** # from the documentation string -***** assert (atan2rev2 (infsup (1, 2), infsup ("pi") / 4) == "[0x1.FFFFFFFFFFFFEp-1, 0x1.0000000000001p1]"); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/fsolve.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fsolve.m -***** test - sqr = @(x) x .^ 2; - assert (subset (sqrt (infsup (2)), fsolve (sqr, infsup (0, 3), 2))); -***** test - sqr = @(x) x .^ 2; - assert (subset (sqrt (infsup (2)), fsolve (sqr, infsup (0, 3), 2, struct ("Vectorize", false)))); -***** function [fval, x] = contractor (y, x) - fval = x .^ 2; - y = intersect (y, fval); - x = sqrrev (y, x); -***** endfunction -***** assert (subset (sqrt (infsup (2)), fsolve (@contractor, infsup (0, 3), 2, struct ("Contract", true)))); -***** assert (subset (sqrt (infsup (2)), fsolve (@contractor, infsup (0, 3), 2, struct ("Contract", true, "Vectorize", false)))); -***** demo - clf - hold on - grid on - axis equal - shade = [238 232 213] / 255; - blue = [38 139 210] / 255; - cyan = [42 161 152] / 255; - red = [220 50 47] / 255; - # 2D ring - f = @(x, y) hypot (x, y); - [outer, paving, inner] = fsolve (f, infsup ([-3; -3], [3; 3]), ... - infsup (0.5, 2), ... - optimset ('TolX', 0.1)); - # Plot the outer interval enclosure - plot (outer(1), outer(2), shade) - # Plot the guaranteed inner interval enclosures of the preimage - plot (paving(1, inner), paving(2, inner), blue, cyan); - # Plot the boundary of the preimage - plot (paving(1, not (inner)), paving(2, not (inner)), red); -***** demo - clf - hold on - grid on - shade = [238 232 213] / 255; - blue = [38 139 210] / 255; - # This 3D ring is difficult to approximate with interval boxes - f = @(x, y, z) hypot (hypot (x, y) - 2, z); - [~, paving, inner] = fsolve (f, infsup ([-4; -4; -2], [4; 4; 2]), ... - infsup (0, 0.5), ... - optimset ('TolX', 0.2)); - plot3 (paving(1, not (inner)), ... - paving(2, not (inner)), ... - paving(3, not (inner)), shade, blue); - view (50, 60) -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/roundb.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/roundb.m -***** # Empty interval -***** assert (roundb (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (roundb (infsup (0)) == infsup (0)); -***** assert (roundb (infsup (0.5)) == infsup (0)); -***** assert (roundb (infsup (0.25)) == infsup (0)); -***** assert (roundb (infsup (0.75)) == infsup (1)); -***** assert (roundb (infsup (1.5)) == infsup (2)); -***** assert (roundb (infsup (-0.5)) == infsup (0)); -***** assert (roundb (infsup (-1.5)) == infsup (-2)); -***** # Bounded intervals -***** assert (roundb (infsup (-0.5, 0)) == infsup (0)); -***** assert (roundb (infsup (0, 0.5)) == infsup (0)); -***** assert (roundb (infsup (0.25, 0.5)) == infsup (0)); -***** assert (roundb (infsup (-1, 0)) == infsup (-1, 0)); -***** assert (roundb (infsup (-1, 1)) == infsup (-1, 1)); -***** assert (roundb (infsup (-realmin, realmin)) == infsup (0)); -***** assert (roundb (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); -***** # Unbounded intervals -***** assert (roundb (infsup (-realmin, inf)) == infsup (0, inf)); -***** assert (roundb (infsup (-realmax, inf)) == infsup (-realmax, inf)); -***** assert (roundb (infsup (-inf, realmin)) == infsup (-inf, 0)); -***** assert (roundb (infsup (-inf, realmax)) == infsup (-inf, realmax)); -***** assert (roundb (infsup (-inf, inf)) == infsup (-inf, inf)); +***** assert (sum ([infsup(1), pow2(-1074), -1]) == infsup (pow2 (-1074))); +***** assert (sum (infsup ([])) == 0); ***** # correct use of signed zeros ***** test - x = roundb (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = roundb (infsup (-0.25, 0.25)); + x = sum (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); +***** # N-dimensional arrays +***** assert (sum (infsup (ones (1, 1, 10))) == infsup (10)); +***** assert (sum (infsup (ones (1, 1, 10))) == infsup (10)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/mig.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mig.m +***** assert (mig (infsup (-1, 2)), 0); +***** assert (mig (infsup (-42, -23)), 23); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.mig; for testcase = [testcases]' assert (isequaln (... - roundb (testcase.in{1}), ... + mig (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (roundb (in1), out)); + assert (isequaln (mig (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8947,40 +9562,24 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (roundb (in1), out)); -25 tests, 25 passed, 0 known failure, 0 skipped -[inst/@infsup/iscommoninterval.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/iscommoninterval.m -***** assert (iscommoninterval (infsup (2, 3))); -***** assert (not (iscommoninterval (infsup (2, inf)))); -***** assert (not (iscommoninterval (infsup ()))); -***** assert (not (iscommoninterval (infsup (-inf, inf)))); -***** assert (iscommoninterval (infsupdec (2, 3, "com"))); -***** assert (iscommoninterval (infsupdec (2, 3, "trv"))); -***** assert (not (iscommoninterval (infsupdec (2, inf, "trv")))); -***** assert (not (iscommoninterval (empty ()))); -***** assert (not (iscommoninterval (entire ()))); -***** warning assert (not (iscommoninterval (infsupdec (2, 1)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (mig (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + testcases = testdata.NoSignal.infsupdec.mig; for testcase = [testcases]' assert (isequaln (... - iscommoninterval (testcase.in{1}), ... + mig (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + testcases = testdata.NoSignal.infsupdec.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (iscommoninterval (in1), out)); + assert (isequaln (mig (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8991,24 +9590,62 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (iscommoninterval (in1), out)); + assert (isequaln (mig (in1), out)); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsup/floor.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/floor.m +***** # Empty interval +***** assert (floor (infsup ()) == infsup ()); +***** # Singleton intervals +***** assert (floor (infsup (0)) == infsup (0)); +***** assert (floor (infsup (0.5)) == infsup (0)); +***** assert (floor (infsup (-0.5)) == infsup (-1)); +***** # Bounded intervals +***** assert (floor (infsup (-0.5, 0)) == infsup (-1, 0)); +***** assert (floor (infsup (0, 0.5)) == infsup (0)); +***** assert (floor (infsup (0.25, 0.5)) == infsup (0)); +***** assert (floor (infsup (-1, 0)) == infsup (-1, 0)); +***** assert (floor (infsup (-1, 1)) == infsup (-1, 1)); +***** assert (floor (infsup (-realmin, realmin)) == infsup (-1, 0)); +***** assert (floor (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); +***** # Unbounded intervals +***** assert (floor (infsup (-realmin, inf)) == infsup (-1, inf)); +***** assert (floor (infsup (-realmax, inf)) == infsup (-realmax, inf)); +***** assert (floor (infsup (-inf, realmin)) == infsup (-inf, 0)); +***** assert (floor (infsup (-inf, realmax)) == infsup (-inf, realmax)); +***** assert (floor (infsup (-inf, inf)) == infsup (-inf, inf)); +***** # from the documentation string +***** assert (floor (infsup (2.5, 3.5)) == infsup (2, 3)); +***** assert (floor (infsup (-0.5, 5)) == infsup (-1, 5)); +***** # correct use of signed zeros ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isCommonInterval; + x = floor (infsup (0.5)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = floor (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.floor; for testcase = [testcases]' assert (isequaln (... - iscommoninterval (testcase.in{1}), ... + floor (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isCommonInterval; + # Vector evaluation + testcases = testdata.NoSignal.infsup.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (iscommoninterval (in1), out)); + assert (isequaln (floor (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9019,38 +9656,197 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (iscommoninterval (in1), out)); -16 tests, 16 passed, 0 known failure, 0 skipped -[inst/@infsup/powrev1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/powrev1.m + assert (isequaln (floor (in1), out)); +23 tests, 23 passed, 0 known failure, 0 skipped +[inst/@infsup/display.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/display.m +***** # Test for the display function are also largely done with the help of the +***** # doctest package. +***** xtest + assert (evalc ("display (infsup ())"), "[Empty]\n\n"); + assert (evalc ("display (infsupdec ())"), "[Empty]_trv\n\n"); +***** test + assert (evalc ("a = infsup ()"), "a = [Empty]\n"); + assert (evalc ("b = infsupdec ()"), "b = [Empty]_trv\n"); +***** xtest + assert (evalc ("a = infsup (); display (a)"), "a = [Empty]\n"); + assert (evalc ("b = infsupdec (); display (b)"), "b = [Empty]_trv\n"); +***** xtest + if (ispc ()) + assert (evalc ("display (infsup (magic (3)))"), ... + ["3x3 interval matrix\n", ... + "\n", ... + " [8] [1] [6]\n", ... + " [3] [5] [7]\n", ... + " [4] [9] [2]\n", ... + "\n"]); + else + assert (evalc ("display (infsup (magic (3)))"), ... + ["3×3 interval matrix\n", ... + "\n", ... + " [8] [1] [6]\n", ... + " [3] [5] [7]\n", ... + " [4] [9] [2]\n", ... + "\n"]); + endif +***** test + if (ispc ()) + assert (evalc ("infsup (magic (3))"), ... + ["ans = 3x3 interval matrix\n", ... + "\n", ... + " [8] [1] [6]\n", ... + " [3] [5] [7]\n", ... + " [4] [9] [2]\n", ... + "\n"]); + else + assert (evalc ("infsup (magic (3))"), ... + ["ans = 3×3 interval matrix\n", ... + "\n", ... + " [8] [1] [6]\n", ... + " [3] [5] [7]\n", ... + " [4] [9] [2]\n", ... + "\n"]); + endif +***** test + if (ispc ()) + assert (evalc ("infsup ('pi')"), "ans = [3.1415, 3.1416]\n"); + else + assert (evalc ("infsup ('pi')"), "ans ⊂ [3.1415, 3.1416]\n"); + endif +***** test + if (ispc ()) + assert (evalc ("infsup (1:3)"), ... + ["ans = 1x3 interval vector\n", ... + "\n", ... + " [1] [2] [3]\n", ... + "\n"]); + else + assert (evalc ("infsup (1:3)"), ... + ["ans = 1×3 interval vector\n", ... + "\n", ... + " [1] [2] [3]\n", ... + "\n"]); + endif +***** test + if (ispc ()) + assert (evalc ("infsup (ones(2, 2, 2))"), ... + ["ans = 2x2x2 interval array\n", ... + "\n", ... + "ans(:,:,1) =\n", ... + "\n", ... + " [1] [1]\n", ... + " [1] [1]\n", ... + "\n", ... + "ans(:,:,2) =\n", ... + "\n", ... + " [1] [1]\n", ... + " [1] [1]\n", ... + "\n"]); + else + assert (evalc ("infsup (ones(2, 2, 2))"), ... + ["ans = 2×2×2 interval array\n", ... + "\n", ... + "ans(:,:,1) =\n", ... + "\n", ... + " [1] [1]\n", ... + " [1] [1]\n", ... + "\n", ... + "ans(:,:,2) =\n", ... + "\n", ... + " [1] [1]\n", ... + " [1] [1]\n", ... + "\n"]); + endif +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsup/sumsq.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sumsq.m ***** # from the documentation string -***** assert (powrev1 (infsup (2, 5), infsup (3, 6)) == "[0x1.3EE8390D43955, 0x1.3988E1409212Fp1]"); +***** assert (sumsq ([infsup(1), pow2(-1074), -1]) == infsup (2, 2+eps*2)); +***** assert (sumsq (infsup ([])) == 0); +***** # correct use of signed zeros +***** test + x = sumsq (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/sqrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sqrt.m +***** # from the documentation string +***** assert (sqrt (infsup (-6, 4)) == infsup (0, 2)); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/end.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/end.m +***** assert (infsup (magic (3))(end) == 2); +***** assert (infsup (magic (3))(end, 2) == 9); +***** assert (infsup (magic (3))(2, end) == 7); +***** assert (infsup ([1 2; 3 4; 5 6])(end:-1:1, :) == [5 6; 3 4; 1 2]); +***** assert (reshape (infsup (1:24), 2, 3, 4)(end, end) == 24) +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/ei.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ei.m +***** assert (isempty (ei (infsup (0)))); +***** assert (isempty (ei (infsup (-inf, -2)))); +***** assert (isentire (ei (infsup (0, inf)))); +***** # from the documentation string +***** assert (ei (infsup (1)) == "[0x1.E52670F350D08, 0x1.E52670F350D09]"); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/resize.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/resize.m +***** assert (resize (infsup (magic (3)), 4, 2) == infsup ([8, 1; 3, 5; 4, 9; 0, 0])); +***** assert (resize (infsup (ones (2, 2, 2)), 4, 1, 2) == infsup (resize (ones (2, 2, 2), 4, 1, 2))) +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/entire.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/entire.m +***** assert (inf (entire ()), -inf); +***** assert (sup (entire ()), inf); +***** assert (decorationpart (entire ()), {"dac"}); +***** assert (inf (entire (5)), -inf (5)); +***** assert (sup (entire (5)), inf (5)); +***** assert (strcmp (decorationpart (entire (5)), "dac"), true (5)); +***** assert (inf (entire (5, 6)), -inf (5, 6)); +***** assert (sup (entire (5, 6)), inf (5, 6)); +***** assert (strcmp (decorationpart (entire (5, 6)), "dac"), true (5, 6)); +***** assert (inf (entire (5, 6, 7)), -inf (5, 6, 7)); +***** assert (sup (entire (5, 6, 7)), inf (5, 6, 7)); +***** assert (strcmp (decorationpart (entire (5, 6, 7)), "dac"), true (5, 6, 7)); +12 tests, 12 passed, 0 known failure, 0 skipped +[inst/@infsupdec/decorationpart.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/decorationpart.m +***** assert (decorationpart (infsupdec (3, 4)), {"com"}); +***** assert (decorationpart (infsupdec (3, inf)), {"dac"}); +***** assert (decorationpart (infsupdec ("[3, 4]_def")), {"def"}); +***** assert (decorationpart (infsupdec ()), {"trv"}); +***** assert (decorationpart (nai), {"ill"}); +***** assert (decorationpart (nai, "uint8") ... + < decorationpart (infsupdec ("[3, 4]_trv"), "uint8")); +***** assert (decorationpart (infsupdec ("[3, 4]_trv"), "uint8") ... + < decorationpart (infsupdec ("[3, 4]_def"), "uint8")); +***** assert (decorationpart (infsupdec ("[3, 4]_def"), "uint8") ... + < decorationpart (infsupdec ("[3, 4]_dac"), "uint8")); +***** assert (decorationpart (infsupdec ("[3, 4]_dac"), "uint8") ... + < decorationpart (infsupdec ("[3, 4]_com"), "uint8")); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.powRev1; + testcases = testdata.NoSignal.infsupdec.decorationPart; for testcase = [testcases]' assert (isequaln (... - powrev1 (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... - testcase.out)); + decorationpart (testcase.in{1}), ... + {testcase.out})); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.powRev1; + testcases = testdata.NoSignal.infsupdec.decorationPart; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); - out = vertcat (testcases.out); - assert (isequaln (powrev1 (in1, in2, in3), out)); + out = {testcases.out}'; + assert (isequaln (decorationpart (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.powRev1; + testcases = testdata.NoSignal.infsupdec.decorationPart; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); - out = vertcat (testcases.out); + out = {testcases.out}'; # Reshape data i = -1; do @@ -9058,40 +9854,86 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (powrev1 (in1, in2, in3), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/csch.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/csch.m + assert (isequaln (decorationpart (in1), out)); +12 tests, 12 passed, 0 known failure, 0 skipped +[inst/@infsupdec/setxor.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/setxor.m +***** test + [z, z1, z2] = setxor (infsupdec (), infsupdec ()); + assert (isempty (z)); + assert (isempty (z1)); + assert (isempty (z2)); +***** test + [z, z1, z2] = setxor (infsupdec (-inf, inf), infsupdec ()); + assert (isentire (z)); + assert (isentire (z1)); + assert (isempty (z2)); +***** test + [z, z1, z2] = setxor (infsupdec (-inf, inf), infsupdec (2)); + assert (isentire (z)); + assert (z1 == infsupdec (-inf, 2)); + assert (z2 == infsupdec (2, inf)); +***** test + [z, z1, z2] = setxor (infsupdec (2, 3), infsupdec (2)); + assert (z == infsupdec (2, 3)); + assert (z1 == infsupdec ()); + assert (z2 == infsupdec (2, 3)); +***** test + [z, z1, z2] = setxor (infsupdec (2, 3), infsupdec (2, 2.5)); + assert (z == infsupdec (2.5, 3)); + assert (z1 == infsupdec ()); + assert (z2 == infsupdec (2.5, 3)); +***** test + # from the documentation string + [z, z1, z2] = setxor (infsupdec (1, 3), infsupdec (2, 4)); + assert (z == infsupdec (1, 4)); + assert (z1 == infsupdec (1, 2)); + assert (z2 == infsupdec (3, 4)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsupdec/bisect.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/bisect.m ***** # from the documentation string -***** assert (csch (infsup (1)) == "[0x1.B3AB8A78B90Cp-1, 0x1.B3AB8A78B90C1p-1]"); -***** # correct use of signed zeros ***** test - x = csch (infsup (0, inf)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + [a, b] = bisect (infsupdec (2, 32)); + assert (a == infsupdec (2, 8, "trv")); + assert (b == infsupdec (8, 32, "trv")); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/factorial.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/factorial.m +***** # from the documentation string +***** assert (isequal (factorial (infsupdec (6)), infsupdec (720))); +***** assert (isequal (factorial (infsupdec (0)), infsupdec (1))); +***** assert (isequal (factorial (infsupdec ("[0, 1.99]")), infsupdec (1, "trv"))); +***** assert (isequal (factorial (infsupdec ("[0, 2]")), infsupdec (1, 2, "trv"))); +***** assert (isequal (factorial (infsupdec ("[1.4, 1.6]")), empty ())); +***** assert (isequal (factorial (infsupdec (23)), infsupdec ("[0x1.5e5c335f8a4cdp+74, 0x1.5e5c335f8a4cep+74]_com"))); +***** assert (isequal (factorial (infsupdec (171)), infsupdec ("[0x1.fffffffffffffp+1023, Inf]_dac"))); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/asin.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/asin.m +***** # from the documentation string +***** assert (isequal (asin (infsupdec (.5)), infsupdec ("[0x1.0C152382D7365p-1, 0x1.0C152382D7366p-1]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.csch; + testcases = testdata.NoSignal.infsupdec.asin; for testcase = [testcases]' assert (isequaln (... - csch (testcase.in{1}), ... + asin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.csch; + testcases = testdata.NoSignal.infsupdec.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (csch (in1), out)); + assert (isequaln (asin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.csch; + testcases = testdata.NoSignal.infsup.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9102,97 +9944,92 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (csch (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/atan2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2.m -***** test "from the documentation string"; -***** assert (atan2 (infsup (1), infsup (-1)) == "[0x1.2D97C7F3321D2p1, 0x1.2D97C7F3321D3p1]"); -***** # correct use of signed zeros + assert (isequaln (asin (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/triu.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/triu.m +***** assert (triu (infsupdec (magic (10))) == triu (magic (10))); +***** assert (triu (infsupdec (magic (10)), 1) == triu (magic (10), 1)); +***** assert (triu (infsupdec (magic (10)), -1) == triu (magic (10), -1)); +***** assert (triu (infsupdec (magic (10)), 0, "pack") == triu (magic (10), 0, "pack")); ***** test - x = atan2 (0, infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + A = infsupdec (zeros (3), "trv"); + assert (decorationpart (triu (A)), {"trv", "trv", "trv"; "com", "trv", "trv"; "com", "com", "trv"}); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/fma.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/fma.m +***** # from the documentation string +***** assert (isequal (fma (infsupdec (1+eps), infsupdec (7), infsupdec ("0.1")), infsupdec ("[0x1.C666666666668p2, 0x1.C666666666669p2]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.atan2; + testcases = testdata.NoSignal.infsupdec.fma; for testcase = [testcases]' assert (isequaln (... - atan2 (testcase.in{1}, testcase.in{2}), ... + fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.atan2; + testcases = testdata.NoSignal.infsupdec.fma; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (atan2 (in1, in2), out)); + assert (isequaln (fma (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atan2; + testcases = testdata.NoSignal.infsupdec.fma; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; do i = i + 1; testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) + until (numel (testsize) > 2 | i == numel (in1)) in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); + in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atan2 (in1, in2), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/mrdivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mrdivide.m + assert (isequaln (fma (in1, in2, in3), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/gauss.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gauss.m ***** # from the documentation string -***** assert (infsup ([1, 2; 3, 4]) / [3, 4; 1, 2] == infsup ([0, 1; 1, 0])); +***** assert (isequal (gauss (infsupdec ([1, 0; 0, 2]), [2, 0; 0, 4]), infsupdec ([2, 0; 0, 2], "trv"))); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/mldivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mldivide.m -***** # unique solution -***** assert (infsup ([1, 0; 0, 2]) \ [2, 0; 0, 4] == [2, 0; 0 2]); -***** # no solution -***** assert (all (isempty (infsup ([1, 0; 2, 0]) \ [3; 0]))); -***** # many solutions -***** assert (infsup ([1, 0; 2, 0]) \ [4; 8] == infsup ([4; -inf], [4; inf])); -***** assert (all (subset (infsup ([2, -1; -1, 2], [4, 1; 1, 4]) \ infsup ([-3; .8], [3; .8]), infsup ([-2.3; -1.1], [2.3; 1.6])))); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/exp.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/exp.m +[inst/@infsupdec/union.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/union.m ***** # from the documentation string -***** assert (exp (infsup (1)) == infsup ("e")); -***** # correct use of signed zeros -***** test - x = exp (infsup (-realmax)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (union (infsupdec (1, 3), infsupdec (2, 4)), infsupdec (1, 4, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsupdec.convexHull; for testcase = [testcases]' assert (isequaln (... - exp (testcase.in{1}), ... + union (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsupdec.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (exp (in1), out)); + assert (isequaln (union (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsupdec.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -9201,41 +10038,34 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (exp (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/realsqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/realsqrt.m + assert (isequaln (union (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/sin.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sin.m ***** # from the documentation string -***** assert (realsqrt (infsup (-6, 4)) == infsup (0, 2)); -***** # correct use of signed zeros -***** test - x = realsqrt (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = realsqrt (infsup (0, 2)); - assert (signbit (inf (x))); +***** assert (isequal (sin (infsupdec (1)), infsupdec ("[0x1.AED548F090CEEp-1, 0x1.AED548F090CEFp-1]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sqrt; + testcases = testdata.NoSignal.infsupdec.sin; for testcase = [testcases]' assert (isequaln (... - realsqrt (testcase.in{1}), ... + sin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqrt; + testcases = testdata.NoSignal.infsupdec.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (realsqrt (in1), out)); + assert (isequaln (sin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrt; + testcases = testdata.NoSignal.infsup.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9246,83 +10076,79 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (realsqrt (in1), out)); + assert (isequaln (sin (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/expm1.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/expm1.m +***** # from the documentation string +***** assert (isequal (expm1 (infsupdec (eps)), infsupdec ("[0x1p-52, 0x1.0000000000001p-52]"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/atan2rev1.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2rev1.m +***** # from the documentation string +***** assert (isequal (atan2rev1 (infsupdec (1, 2), infsupdec ("pi") / 4), infsupdec ("[0x1.FFFFFFFFFFFFFp-1, 0x1.0000000000001p1]_trv"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/setdiff.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/setdiff.m +***** assert (isempty (setdiff (infsupdec (), infsupdec (1, 4)))); +***** assert (setdiff (infsupdec (1, 3), infsupdec ()) == infsupdec (1, 3)); +***** assert (isempty (setdiff (infsupdec (1, 3), infsupdec (-inf, inf)))); +***** assert (isempty (setdiff (infsupdec (1, 3), infsupdec (1, 4)))); +***** assert (setdiff (infsupdec (-inf, inf), infsupdec (1, 4)) == infsupdec (-inf, inf)); +***** # from the documentation string +***** assert (setdiff (infsupdec (1, 3), infsupdec (2, 4)) == infsupdec (1, 2)); 6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/plot3.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plot3.m -***** # this test is rather pointless -***** test - clf - plot3 (empty (), empty (), empty ()); - close -warning: using the gnuplot graphics toolkit is discouraged - -The gnuplot graphics toolkit is not actively maintained and has a number -of limitations that are unlikely to be fixed. Communication with gnuplot -uses a one-directional pipe and limited information is passed back to the -Octave interpreter so most changes made interactively in the plot window -will not be reflected in the graphics properties managed by Octave. For -example, if the plot window is closed with a mouse click, Octave will not -be notified and will not update its internal list of open figure windows. -The qt toolkit is recommended instead. -***** demo - clf - colormap hot - x = y = z = (1 : 3) + infsup ("[0, 1]"); - plot3 (x, y, z); - grid on -***** demo - clf - colormap jet - z = 1 : 8; - x = y = infsup ("[-1, 1]") ./ z; - plot3 (x, y, z); - grid on -***** demo - clf - [x, y] = meshgrid (mince (infsup ("[-5, 5]"), 20), ... - mince (infsup ("[0.1, 5]"), 10)); - z = log (hypot (x, y)); - blue = [38 139 210]/255; base2 = [238 232 213]/255; - plot3 (x, y, z, base2, blue); - view (330, 12) -***** demo - clf - [x, y] = meshgrid (midrad (-10 : 0.5 : 10, .25)); - z = sin (hypot (x, y)) .* hypot (x, y); - plot3 (mid (x), mid (y), z); - grid on +[inst/@infsupdec/transpose.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/transpose.m +***** assert (isequal (transpose (infsupdec (magic (3))), infsupdec (magic (3).'))); +***** # from the documentation string +***** assert (isequal (transpose (infsupdec (zeros (1, 3), ones (1, 3))), infsupdec (zeros (3, 1), ones (3, 1)))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsupdec/prod.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/prod.m +***** # from the documentation string +***** assert (prod (infsupdec (1 : 4)) == 24); +***** assert (prod (infsupdec ([])) == 1); +***** assert (isequal (prod (infsupdec (magic (3))), infsupdec ([96, 45, 84]))); +***** assert (isequal (prod (infsupdec (magic (3)), 2), infsupdec ([48; 105; 72]))); +***** assert (isequal (prod (infsupdec (magic (3)), 3), infsupdec (magic (3)))); +***** assert (isequal (prod (prod (reshape (infsup (1:24), 1, 2, 3, 4))), infsup (reshape ([720, 665280, 13366080, 96909120], 1, 1, 1, 4)))); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsupdec/powrev1.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/powrev1.m +***** # from the documentation string +***** assert (isequal (powrev1 (infsupdec (2, 5), infsupdec (3, 6)), infsupdec ("[0x1.3EE8390D43955, 0x1.3988E1409212Fp1]_trv"))); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/transpose.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/transpose.m -***** assert (transpose (infsup (magic (3))) == infsup (magic (3).')); +[inst/@infsupdec/mtimes.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mtimes.m +***** assert (isequal (infsupdec ([1, 2; 7, 15], [2, 2; 7.5, 15], {"com", "def"; "dac", "com"}) * infsupdec ([3, 3; 0, 1], [3, 3.25; 0, 2]), infsupdec ([3, 5; 21, 36], [6, 10.5; 22.5, 54.375], {"def", "def"; "dac", "dac"}))); ***** # from the documentation string -***** assert (transpose (infsup (zeros (1, 3), ones (1, 3))) == infsup (zeros (3, 1), ones (3, 1))); +***** assert (isequal (infsupdec ([1, 2; 7, 15], [2, 2; 7.5, 15]) * infsupdec ([3, 3; 0, 1], [3, 3.25; 0, 2]), infsupdec ([3, 5; 21, 36], [6, 10.5; 22.5, 54.375]))); 2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/coshrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/coshrev.m +[inst/@infsupdec/pow10.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow10.m ***** # from the documentation string -***** assert (coshrev (infsup (-2, 1)) == 0); +***** assert (isequal (pow10 (infsupdec (5)), infsupdec (100000))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.coshRev; + testcases = testdata.NoSignal.infsupdec.exp10; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}), ... + pow10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.coshRev; + testcases = testdata.NoSignal.infsupdec.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (coshrev (in1), out)); + assert (isequaln (pow10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.coshRev; + testcases = testdata.NoSignal.infsupdec.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9330,28 +10156,35 @@ do i = i + 1; testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) + until (numel (testsize) > 2 || i == numel (in1)) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (coshrev (in1), out)); + assert (isequaln (pow10 (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/subset.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subset.m +***** assert (subset (infsupdec (1, 2), infsupdec (1, 3))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.coshRevBin; + testcases = testdata.NoSignal.infsupdec.subset; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}, testcase.in{2}), ... + subset (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.coshRevBin; + testcases = testdata.NoSignal.infsupdec.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (coshrev (in1, in2), out)); + assert (isequaln (subset (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.coshRevBin; + testcases = testdata.NoSignal.infsupdec.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -9364,481 +10197,57 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (coshrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/infsup.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/infsup.m -***** # Empty intervals -***** test - x = infsup (); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("[]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("[ ]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("[\t]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("[empty]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("[EMPTY]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("[ empty ]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("\t[\t Empty\t]\t"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** # Entire interval -***** test - x = infsup ("[,]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[entire]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[ENTIRE]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[ entire ]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup (" [Entire \t] "); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[-inf,+inf]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[-infinity, +infinity]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[-INF, +INFinitY]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** # double boundaries -***** test - x = infsup (0); - assert (inf (x), 0); - assert (sup (x), 0); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = infsup (2, 3); - assert (inf (x), 2); - assert (sup (x), 3); -***** test - x = infsup (-inf, 0.1); - assert (inf (x), -inf); - assert (sup (x), 0.1); -***** test - x = infsup (-inf, +inf); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** # NaN values -***** warning id=interval:UndefinedOperation - x = infsup (nan); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup (nan, 2); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup (3, nan); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** # illegal numeric boundaries -***** warning id=interval:UndefinedOperation - x = infsup (+inf, -inf); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup (+inf, +inf); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup (-inf, -inf); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup (3, 2); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup (3, -inf); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** # double matrix -***** test - x = infsup (magic (4)); - assert (inf (x), magic (4)); - assert (sup (x), magic (4)); -***** test - x = infsup (magic (3), magic (3) + 1); - assert (inf (x), magic (3)); - assert (sup (x), magic (3) + 1); -***** warning id=interval:UndefinedOperation - x = infsup (nan (3)); - assert (inf (x), +inf (3)); - assert (sup (x), -inf (3)); -***** test - x = infsup (-inf (3), +inf (3)); - assert (inf (x), -inf (3)); - assert (sup (x), +inf (3)); -***** # decimal boundaries -***** test - x = infsup ("0.1"); - assert (inf (x), 0.1 - eps / 16); - assert (sup (x), 0.1); -***** test - x = infsup ("0.1e1"); - assert (inf (x), 1); - assert (sup (x), 1); -***** # hexadecimal boundaries -***** test - x = infsup ("0xff"); - assert (inf (x), 255); - assert (sup (x), 255); -***** test - x = infsup ("0xff.1"); - assert (inf (x), 255.0625); - assert (sup (x), 255.0625); -***** test - x = infsup ("0xff.1p-1"); - assert (inf (x), 127.53125); - assert (sup (x), 127.53125); -***** # named constants -***** test - x = infsup ("pi"); - assert (inf (x), pi); - assert (sup (x), pi + 2 * eps); -***** test - x = infsup ("e"); - assert (inf (x), e); - assert (sup (x), e + eps); -***** # uncertain form -***** test - x = infsup ("32?"); - assert (inf (x), 31.5); - assert (sup (x), 32.5); -***** test - x = infsup ("32?8"); - assert (inf (x), 24); - assert (sup (x), 40); -***** test - x = infsup ("32?u"); - assert (inf (x), 32); - assert (sup (x), 32.5); -***** test - x = infsup ("32?d"); - assert (inf (x), 31.5); - assert (sup (x), 32); -***** test - x = infsup ("32??"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("32??d"); - assert (inf (x), -inf); - assert (sup (x), 32); -***** test - x = infsup ("32??u"); - assert (inf (x), 32); - assert (sup (x), +inf); -***** test - x = infsup ("32?e5"); - assert (inf (x), 3150000); - assert (sup (x), 3250000); -***** # rational form -***** test - x = infsup ("6/9"); - assert (inf (x), 2 / 3); - assert (sup (x), 2 / 3 + eps / 2); -***** test - x = infsup ("6e1/9"); - assert (inf (x), 20 / 3 - eps * 2); - assert (sup (x), 20 / 3); -***** test - x = infsup ("6/9e1"); - assert (inf (x), 2 / 30); - assert (sup (x), 2 / 30 + eps / 16); -***** test - x = infsup ("-6/9"); - assert (inf (x), -(2 / 3 + eps / 2)); - assert (sup (x), -2 / 3); -***** test - x = infsup ("6/-9"); - assert (inf (x), -(2 / 3 + eps / 2)); - assert (sup (x), -2 / 3); -***** test - x = infsup ("-6/-9"); - assert (inf (x), 2 / 3); - assert (sup (x), 2 / 3 + eps / 2); -***** test - x = infsup ("6.6/9.9"); - assert (inf (x), 2 / 3); - assert (sup (x), 2 / 3 + eps / 2); -***** # inf-sup interval literal -***** test - x = infsup ("[2, 3]"); - assert (inf (x), 2); - assert (sup (x), 3); -***** test - x = infsup ("[0.1]"); - assert (inf (x), 0.1 - eps / 16); - assert (sup (x), 0.1); -***** test - x = infsup ("[0xff, 0xff.1]"); - assert (inf (x), 255); - assert (sup (x), 255.0625); -***** test - x = infsup ("[e, pi]"); - assert (inf (x), e); - assert (sup (x), pi + 2 * eps); -***** test - x = infsup ("[6/9, 6e1/9]"); - assert (inf (x), 2 / 3); - assert (sup (x), 20 / 3); -***** # corner cases -***** test - x = infsup (","); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[, 3]"); - assert (inf (x), -inf); - assert (sup (x), 3); -***** test - x = infsup ("", "3"); - assert (inf (x), -inf); - assert (sup (x), 3); -***** test - x = infsup ("[2, ]"); - assert (inf (x), 2); - assert (sup (x), inf); -***** test - x = infsup ("2", ""); - assert (inf (x), 2); - assert (sup (x), inf); -***** # decimal vector -***** test - x = infsup (["0.1"; "0.2"; "0.3"]); - assert (inf (x), [0.1 - eps / 16; 0.2 - eps / 8; 0.3]); - assert (sup (x), [0.1; 0.2; 0.3 + eps / 8]); -***** test - x = infsup ("0.1; 0.2; 0.3"); - assert (inf (x), [0.1 - eps / 16; 0.2 - eps / 8; 0.3]); - assert (sup (x), [0.1; 0.2; 0.3 + eps / 8]); -***** test - x = infsup ("0.1\n0.2\n0.3"); - assert (inf (x), [0.1 - eps / 16; 0.2 - eps / 8; 0.3]); - assert (sup (x), [0.1; 0.2; 0.3 + eps / 8]); -***** # cell array with mixed boundaries -***** test - x = infsup ({"0.1", 42; "e", "3.2/8"}, {"0xffp2", "42e1"; "pi", 2}); - assert (inf (x), [0.1 - eps / 16, 42; e, 0.4 - eps / 4]); - assert (sup (x), [1020, 420; pi + 2 * eps, 2]); -***** test - x = infsup ({"[2, 3]", "3/4", "[Entire]", "42?3", 1, "0xf"}); - assert (inf (x), [2, 0.75, -inf, 39, 1, 15]); - assert (sup (x), [3, 0.75, +inf, 45, 1, 15]); -***** # broadcasting -***** test - x = infsup (magic (3), 10); - assert (inf (x), magic (3)); - assert (sup (x), 10 .* ones (3)); -***** test - x = infsup (zeros (1, 20), ones (20, 1)); - assert (inf (x), zeros (20, 20)); - assert (sup (x), ones (20, 20)); -***** # nai -***** warning id=interval:UndefinedOperation - x = infsup ("[nai]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup ("Ausgeschnitzel"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** # interval literals vs. two arguments -***** warning id=interval:UndefinedOperation - x = infsup ("[empty]", 42); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup ("0?", 42); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** # extraction of single errors -***** warning id=interval:UndefinedOperation - x = infsup ("0 1 2 [xxx] 3 4"); - assert (inf (x), [0 1 2 +inf 3 4]); - assert (sup (x), [0 1 2 -inf 3 4]); -***** warning id=interval:UndefinedOperation - x = infsup ({1 2; 3 "[xxx]"}); - assert (inf (x), [1 2; 3 +inf]); - assert (sup (x), [1 2; 3 -inf]); -***** # complex values -***** warning id=interval:InvalidOperand - x = infsup ([1 2 3+i 4+0i]); - assert (inf (x), [1 2 +inf 4]); - assert (sup (x), [1 2 -inf 4]); -***** # inaccurate conversion -***** warning id=interval:PossiblyUndefinedOperation - x = infsup ("1.000000000000000000002", "1.000000000000000000001"); - assert (inf (x), 1); - assert (sup (x), 1 + eps); -***** test - n = uint64(2 ^ 53); - x = infsup (n, n + 1); - assert (inf (x), double (n)); - assert (sup (x), double (n + 2)); -***** test - n = uint64(2 ^ 53); - x = infsup ({n}, n + 1); - assert (inf (x), double (n)); - assert (sup (x), double (n + 2)); -***** test - n = uint64(2 ^ 53); - x = infsup (n + 1, n + 1); - assert (inf (x), double (n)); - assert (sup (x), double (n + 2)); -***** test - n = uint64(2 ^ 54); - x = infsup (n, n + 1); - assert (inf (x), double (n)); - assert (sup (x), double (n + 4)); -***** warning id=interval:PossiblyUndefinedOperation - n = uint64(2 ^ 54); - x = infsup (n + 1, n + 2); - assert (inf (x), double (n)); - assert (sup (x), double (n + 4)); -***** warning id=interval:PossiblyUndefinedOperation - x = infsup ("pi", "3.141592653589793"); - assert (inf (x), pi); - assert (sup (x), pi); -***** warning id=interval:PossiblyUndefinedOperation - x = infsup ("pi", "3.1415926535897932"); - assert (inf (x), pi); - assert (sup (x), pi + 2 * eps); -***** # isexact flag -***** test - [~, isexact] = infsup (); - assert (isexact); -***** test - [~, isexact] = infsup (0); - assert (isexact); -***** test - [~, isexact] = infsup ("1 2 3"); - assert (isexact, true); -***** test - [~, isexact] = infsup ("1 2 3.1"); - assert (isexact, false); -***** warning - [~, isexact] = infsup ("[nai]"); - assert (not (isexact)); -***** # overflow flag -***** test - [~, ~, overflow] = infsup (); - assert (not (overflow)); -***** test - [~, ~, overflow] = infsup (0); - assert (not (overflow)); -***** test - [~, ~, overflow] = infsup ([1 2 3]); - assert (overflow, false (1, 3)); -***** warning - [~, ~, overflow] = infsup ("[nai]"); - assert (not (overflow)); -***** test - [~, ~, overflow] = infsup ("1e3000"); - assert (overflow); -***** test - [~, ~, overflow] = infsup ("[1, inf]"); - assert (not (overflow)); -***** # isnai flag -***** test - [~, ~, ~, isnai] = infsup (); - assert (not (isnai)); -***** test - [~, ~, ~, isnai] = infsup (0); - assert (not (isnai)); -***** test - [~, ~, ~, isnai] = infsup ([1 2 3]); - assert (isnai, false (1, 3)); -***** warning - [~, ~, ~, isnai] = infsup ("[nai]"); - assert (isnai); -***** warning - [~, ~, ~, isnai] = infsup ("xxx"); - assert (isnai); -***** warning - [~, ~, ~, isnai] = infsup ("1 2 xxx 4"); - assert (isnai, [false, false, true, false]); -***** warning - [~, ~, ~, isnai] = infsup ("[-inf, inf] [inf, inf]"); - assert (isnai, [false, true]); -***** # N-dimensional arrays -***** test - x = infsup (zeros (2, 2, 2)); - assert (inf (x), zeros (2, 2, 2)); - assert (sup (x), zeros (2, 2, 2)); -***** test - x = infsup (zeros (2, 2, 2), ones (2, 2, 2)); - assert (inf (x), zeros (2, 2, 2)); - assert (sup (x), ones (2, 2, 2)); -***** test - x = infsup (zeros (2, 1, 2, 1, 2, 1), ones (1, 3, 1, 3, 1, 3)); - assert (inf (x), zeros (2, 3, 2, 3, 2, 3)); - assert (sup (x), ones (2, 3, 2, 3, 2, 3)); -***** test - c1 = reshape ({1, 2, 3, 4, 5, 6, 7, 8}, 2, 2, 2); - c2 = reshape ({2, 3, 4, 5, 6, 7, 8, 9}, 2, 2, 2); - x = infsup (c1, c2); - assert (inf (x), reshape (1:8, 2, 2, 2)); - assert (sup (x), reshape (2:9, 2, 2, 2)); + assert (isequaln (subset (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/mince.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mince.m +***** assert (isequal (mince (infsupdec (0, 10), 10), infsupdec (0 : 9, 1 : 10, "trv"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/hypot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/hypot.m +***** # from the documentation string +***** assert (isequal (hypot (infsupdec (2, 3), infsupdec (1, 2)), infsupdec ("[0x1.1E3779B97F4A7p1, 0x1.CD82B446159F4p1]"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/powrev2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/powrev2.m +***** # from the documentation string +***** assert (isequal (powrev2 (infsupdec (2, 5), infsupdec (3, 6)), infsupdec ("[0x1.5D7E8F22BA886p-1, 0x1.4AE00D1CFDEB5p1]_trv"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/linspace.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/linspace.m +***** assert (isequal (linspace (infsupdec (0), infsupdec (10), 9), infsupdec (linspace (0, 10, 9)))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/csch.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/csch.m +***** # from the documentation string +***** assert (isequal (csch (infsupdec (1)), infsupdec ("[0x1.B3AB8A78B90Cp-1, 0x1.B3AB8A78B90C1p-1]_com"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/pown.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pown.m +***** # from the documentation string +***** assert (isequal (pown (infsupdec (5, 6), 2), infsupdec (25, 36))); +***** assert (pown (infsupdec (-2, 1), 2) == infsupdec (0, 4)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.("b-numsToInterval"); + testcases = testdata.NoSignal.infsupdec.sqr; for testcase = [testcases]' assert (isequaln (... - infsup (testcase.in{1}, testcase.in{2}), ... + pown (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.("b-numsToInterval"); + testcases = testdata.NoSignal.infsupdec.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (infsup (in1, in2), out)); + assert (isequaln (pown (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.("b-numsToInterval"); + testcases = testdata.NoSignal.infsupdec.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -9847,26 +10256,26 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (infsup (in1, in2), out)); + assert (isequaln (pown (in1, 2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.("b-textToInterval"); + testcases = testdata.NoSignal.infsupdec.pown; for testcase = [testcases]' assert (isequaln (... - infsup (testcase.in{1}), ... + pown (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.("b-textToInterval"); - in1 = vertcat (testcases.in); + testcases = testdata.NoSignal.infsupdec.pown; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (infsup (in1), out)); + assert (isequaln (pown (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.("b-numsToInterval"); + testcases = testdata.NoSignal.infsupdec.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -9879,79 +10288,33 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (infsup (in1, in2), out)); -***** warning - testcases = testdata.PossiblyUndefinedOperation.infsup.("b-textToInterval"); - for testcase = [testcases]' - lastwarn ("", ""); - assert (isequaln (... - infsup (testcase.in{1}), ... - testcase.out)); - assert (nthargout (2, @lastwarn), "interval:PossiblyUndefinedOperation"); - endfor -***** warning - testcases = testdata.UndefinedOperation.infsup.("b-textToInterval"); - for testcase = [testcases]' - lastwarn ("", ""); - assert (isequaln (... - infsup (testcase.in{1}), ... - testcase.out)); - assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); - endfor -***** warning - testcases = testdata.UndefinedOperation.infsup.("b-numsToInterval"); - for testcase = [testcases]' - lastwarn ("", ""); - assert (isequaln (... - infsup (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); - endfor -117 tests, 117 passed, 0 known failure, 0 skipped -[inst/@infsup/idist.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/idist.m + assert (isequaln (pown (in1, in2), out)); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsupdec/cosh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cosh.m ***** # from the documentation string -***** assert (idist (infsup (0, 6), infsup (7, 20)), 1); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/fzero.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fzero.m -***** test "from the documentation string"; - f = @(x) cos (x); - df = @(x) -sin (x); - zeros = fzero (f, infsup ("[-10, 10]"), df); - assert (all (subset (pi * (-2.5:1:2.5)', zeros))); - assert (max (rad (zeros)) < 8 * eps); - sqr = @(x) x .^ 2; - zeros = fzero (sqr, infsup ("[Entire]")); - assert (all (subset (0, zeros))); - assert (max (rad (zeros)) < eps); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/interior.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/interior.m -***** assert (interior (infsup (1, 2), infsup (0, 3))); +***** assert (isequal (cosh (infsupdec (1)), infsupdec ("[0x1.8B07551D9F55, 0x1.8B07551D9F551]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.interior; + testcases = testdata.NoSignal.infsupdec.cosh; for testcase = [testcases]' assert (isequaln (... - interior (testcase.in{1}, testcase.in{2}), ... + cosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.interior; + testcases = testdata.NoSignal.infsupdec.cosh; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (interior (in1, in2), out)); + assert (isequaln (cosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.interior; + testcases = testdata.NoSignal.infsup.cosh; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -9960,65 +10323,36 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (interior (in1, in2), out)); + assert (isequaln (cosh (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/floor.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/floor.m -***** # Empty interval -***** assert (floor (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (floor (infsup (0)) == infsup (0)); -***** assert (floor (infsup (0.5)) == infsup (0)); -***** assert (floor (infsup (-0.5)) == infsup (-1)); -***** # Bounded intervals -***** assert (floor (infsup (-0.5, 0)) == infsup (-1, 0)); -***** assert (floor (infsup (0, 0.5)) == infsup (0)); -***** assert (floor (infsup (0.25, 0.5)) == infsup (0)); -***** assert (floor (infsup (-1, 0)) == infsup (-1, 0)); -***** assert (floor (infsup (-1, 1)) == infsup (-1, 1)); -***** assert (floor (infsup (-realmin, realmin)) == infsup (-1, 0)); -***** assert (floor (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); -***** # Unbounded intervals -***** assert (floor (infsup (-realmin, inf)) == infsup (-1, inf)); -***** assert (floor (infsup (-realmax, inf)) == infsup (-realmax, inf)); -***** assert (floor (infsup (-inf, realmin)) == infsup (-inf, 0)); -***** assert (floor (infsup (-inf, realmax)) == infsup (-inf, realmax)); -***** assert (floor (infsup (-inf, inf)) == infsup (-inf, inf)); +[inst/@infsupdec/max.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/max.m ***** # from the documentation string -***** assert (floor (infsup (2.5, 3.5)) == infsup (2, 3)); -***** assert (floor (infsup (-0.5, 5)) == infsup (-1, 5)); -***** # correct use of signed zeros -***** test - x = floor (infsup (0.5)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = floor (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (max (infsupdec (2, 3), infsupdec (1, 2)), infsupdec (2, 3))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsupdec.max; for testcase = [testcases]' assert (isequaln (... - floor (testcase.in{1}), ... + max (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsupdec.max; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (floor (in1), out)); + assert (isequaln (max (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsupdec.max; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10027,38 +10361,54 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (floor (in1), out)); -23 tests, 23 passed, 0 known failure, 0 skipped -[inst/@infsup/log2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log2.m -***** # from the documentation string -***** assert (log2 (infsup (2)) == 1); -***** # correct use of signed zeros + assert (isequaln (max (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/reshape.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/reshape.m +***** assert (isequal (reshape (infsupdec (1 : 6), 2, 3), infsupdec (reshape (1 : 6, 2, 3)))); +***** assert (isequal (reshape (infsupdec (1 : 24), 2, [], 4), infsupdec (reshape (1 : 24, 2, 3, 4)))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsupdec/lu.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/lu.m ***** test - x = log2 (infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + [l, u] = lu (infsupdec (magic (3))); + assert (isequal (l, infsupdec ({1, 0, 0; .375, 1, 0; .5, "68/37", 1}, "trv")));, ... + assert (subset (u, infsupdec ({8, 1, 6; 0, 4.625, 4.75; 0, 0, "-0x1.3759F2298375Bp3"}, ... + {8, 1, 6; 0, 4.625, 4.75; 0, 0, "-0x1.3759F22983759p3"}))); + A = magic (3); + A ([1, 5, 9]) = 0; + [l, u, p] = lu (infsupdec (A)); + assert (p, [0, 0, 1; 1, 0, 0; 0, 1, 0]); + assert (isequal (l, infsupdec ({1, 0, 0; "4/3", 1, 0; 0, "1/9", 1}, "trv"))); + assert (subset (u, infsupdec ({3, 0, 7; 0, 9, "-0x1.2AAAAAAAAAAACp3"; 0, 0, "0x1.C25ED097B425Ep2"}, ... + {3, 0, 7; 0, 9, "-0x1.2AAAAAAAAAAAAp3"; 0, 0, "0x1.C25ED097B426p2"}))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/tanh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tanh.m +***** test "from the documentation string"; + assert (isequal (tanh (infsupdec (1)), infsupdec ("[0x1.85EFAB514F394p-1, 0x1.85EFAB514F395p-1]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsupdec.tanh; for testcase = [testcases]' assert (isequaln (... - log2 (testcase.in{1}), ... + tanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsupdec.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log2 (in1), out)); + assert (isequaln (tanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsup.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10069,32 +10419,37 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (log2 (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/csc.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/csc.m + assert (isequaln (tanh (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/log1p.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log1p.m ***** # from the documentation string -***** assert (csc (infsup (1)) == "[0x1.303AA9620B223, 0x1.303AA9620B224]"); +***** assert (isequal (log1p (infsupdec (eps)), infsupdec ("[0x1.FFFFFFFFFFFFFp-53, 0x1p-52]"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/pow2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow2.m +***** # from the documentation string +***** assert (isequal (pow2 (infsupdec (5)), infsupdec (32))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.csc; + testcases = testdata.NoSignal.infsupdec.exp2; for testcase = [testcases]' assert (isequaln (... - csc (testcase.in{1}), ... + pow2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.csc; + testcases = testdata.NoSignal.infsupdec.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (csc (in1), out)); + assert (isequaln (pow2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.csc; + testcases = testdata.NoSignal.infsupdec.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10102,71 +10457,36 @@ do i = i + 1; testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) + until (numel (testsize) > 2 | i == numel (in1)) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (csc (in1), out)); + assert (isequaln (pow2 (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/rsqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rsqrt.m +[inst/@infsupdec/log2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log2.m ***** # from the documentation string -***** assert (rsqrt (infsup (-6, 4)) == infsup (.5, inf)); -***** # correct use of signed zeros -***** test - x = rsqrt (infsup (0, inf)); - assert (signbit (inf (x))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/columns.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/columns.m -***** assert (columns (infsup (zeros (3, 4))), 4); -***** assert (columns (infsup (zeros (0, 4))), 4); -***** assert (columns (infsup (zeros (3, 0))), 0); -***** assert (columns (infsup (zeros (3, 1))), 1); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/mulrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mulrev.m -***** #IEEE Std 1788-2015 mulRevToPair examples -***** test - [u, v] = mulrev (infsup (0), infsup (1, 2)); - assert (isempty (u) & isempty (v)); -***** test - [u, v] = mulrev (infsup (0), infsup (0, 1)); - assert (isentire (u) & isempty (v)); -***** test - [u, v] = mulrev (infsup (1), infsup (1, 2)); - assert (eq (u, infsup (1, 2)) & isempty (v)); -***** test - [u, v] = mulrev (infsup (1, inf), infsup (1)); - assert (eq (u, infsup (0, 1)) & isempty (v)); -***** test - [u, v] = mulrev (infsup (-1, 1), infsup (1, 2)); - assert (eq (u, infsup (-inf, -1)) & eq (v, infsup (1, inf))); -***** test - [u, v] = mulrev (infsup (-inf, inf), infsup (1)); - assert (eq (u, infsup (-inf, 0)) & eq (v, infsup (0, inf))); +***** assert (isequal (log2 (infsupdec (2)), infsupdec (1))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mulRevToPair1; + testcases = testdata.NoSignal.infsupdec.log2; for testcase = [testcases]' assert (isequaln (... - nthargout (1, 2, @mulrev, testcase.in{1}, testcase.in{2}), ... + log2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mulRevToPair1; + testcases = testdata.NoSignal.infsupdec.log2; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); + assert (isequaln (log2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mulRevToPair1; + testcases = testdata.NoSignal.infsup.log2; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10175,27 +10495,41 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); + assert (isequaln (log2 (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/prepad.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/prepad.m +***** assert (isequal (prepad (infsupdec (2:4), 4, 1), infsupdec (1:4))); +***** assert (isequal (prepad (infsupdec (0:2), 2, 1), infsupdec (1:2))); +***** assert (isequal (prepad (infsupdec (0), 10, 0, 3), infsupdec (zeros (1, 1, 10)))); +***** assert (isequal (prepad (infsupdec (zeros (1, 2, 2)), 3), infsupdec (zeros (1, 3, 2)))); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/pow.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow.m +***** # from the documentation string +***** assert (isequal (pow (infsupdec (5, 6), infsupdec (2, 3)), infsupdec (25, 216))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mulRevToPair2; + testcases = testdata.NoSignal.infsupdec.pow; for testcase = [testcases]' assert (isequaln (... - nthargout (2, @mulrev, testcase.in{1}, testcase.in{2}), ... + pow (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mulRevToPair2; + testcases = testdata.NoSignal.infsupdec.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); + assert (isequaln (pow (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mulRevToPair2; + testcases = testdata.NoSignal.infsupdec.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -10208,25 +10542,32 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); + assert (isequaln (pow (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/le.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/le.m +***** assert (le (infsupdec (1, 3), infsupdec (3))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mulRev; + testcases = testdata.NoSignal.infsupdec.less; for testcase = [testcases]' assert (isequaln (... - mulrev (testcase.in{1}, testcase.in{2}), ... + le (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mulRev; + testcases = testdata.NoSignal.infsupdec.less; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (mulrev (in1, in2), out)); + assert (isequaln (le (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mulRev; + testcases = testdata.NoSignal.infsupdec.less; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -10239,29 +10580,33 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mulrev (in1, in2), out)); + assert (isequaln (le (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/uminus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/uminus.m +***** # from the documentation string +***** assert (isequal (-infsupdec (2, 3), infsupdec (-3, -2))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mulRevTen; + testcases = testdata.NoSignal.infsupdec.neg; for testcase = [testcases]' assert (isequaln (... - mulrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + uminus (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mulRevTen; + testcases = testdata.NoSignal.infsupdec.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (mulrev (in1, in2, in3), out)); + assert (isequaln (uminus (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mulRevTen; + testcases = testdata.NoSignal.infsup.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10270,125 +10615,33 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mulrev (in1, in2, in3), out)); -18 tests, 18 passed, 0 known failure, 0 skipped -[inst/@infsup/qr.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/qr.m -***** test - A = infsup ([1 2 3; 4 5 6]); - [Q, R] = qr (A); - assert (all (all (subset (A, Q * R)))); - assert (all (all (subset (eye (length (Q)), Q' * Q)))); - assert (max (max (wid (Q))) < 1e-14); -***** test - A = infsup ([1 2; 3 4; 5 6]); - [Q, R] = qr (A); - assert (all (all (subset (A, Q * R)))); - assert (all (all (subset (eye (length (Q)), Q' * Q)))); - assert (max (max (wid (Q (:, [1 2])))) < 1e-14); -***** test - A = infsup ([1 2 3; 4 9 6; 9 8 7]); - [Q, R] = qr (A); - assert (all (all (subset (A, Q * R)))); - assert (all (all (subset (eye (length (Q)), Q' * Q)))); - assert (max (max (wid (Q))) < 1e-13); -***** test - for n = 3 : 2 : 10 - A = infsup (magic (n)); - [Q, R] = qr (A); - assert (all (all (subset (A, Q * R)))); - assert (all (all (subset (eye (length (Q)), Q' * Q)))); - assert (max (max (wid (Q))) < 1e-10); - endfor -***** test - A = infsup (magic (3)) + "[2, 2.2]"; - [Q, R] = qr (A); - assert (all (all (subset (A, Q * R)))); - assert (all (all (subset (eye (length (Q)), Q' * Q)))); - assert (max (max (wid (Q))) < 1.5); -***** function result = is_permutation_matrix (P) - result = isequal (P, eye (length (P))) || ... - isequal (typeinfo (P), "permutation matrix"); -***** endfunction -***** test - A = infsup ([1 2 3; 4 5 6]); - [Q, R, P] = qr (A); - assert (all (all (subset (A, Q * R * P)))); - assert (all (all (subset (eye (length (Q)), Q' * Q)))); - assert (max (max (wid (Q))) < 1e-14); - assert (is_permutation_matrix (P)); -***** test - A = infsup ([1 2; 3 4; 5 6]); - [Q, R, P] = qr (A); - assert (all (all (subset (A, Q * R * P)))); - assert (all (all (subset (eye (length (Q)), Q' * Q)))); - assert (max (max (wid (Q (:, [1 2])))) < 1e-14); - assert (is_permutation_matrix (P)); -***** test - A = infsup ([1 2 3; 4 9 6; 9 8 7]); - [Q, R, P] = qr (A); - assert (all (all (subset (A, Q * R * P)))); - assert (all (all (subset (eye (length (Q)), Q' * Q)))); - assert (max (max (wid (Q))) < 1e-13); - assert (is_permutation_matrix (P)); -***** test - for n = 3 : 2 : 10 - A = infsup (magic (n)); - [Q, R, P] = qr (A); - assert (all (all (subset (A, Q * R * P)))); - assert (all (all (subset (eye (length (Q)), Q' * Q)))); - assert (max (max (wid (Q))) < 1e-10); - assert (is_permutation_matrix (P)); - endfor -***** test - A = infsup (magic (3)) + "[2, 2.2]"; - [Q, R, P] = qr (A); - assert (all (all (subset (A, Q * R * P)))); - assert (all (all (subset (eye (length (Q)), Q' * Q)))); - assert (max (max (wid (Q))) < 1.5); - assert (is_permutation_matrix (P)); -10 tests, 10 passed, 0 known failure, 0 skipped -[inst/@infsup/erfc.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/erfc.m -***** # from the documentation string -***** assert (erfc (infsup (1)) == "[0x1.4226162FBDDD4p-3, 0x1.4226162FBDDD5p-3]"); -***** # correct use of signed zeros -***** test - x = erfc (infsup (realmax)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/pow2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow2.m + assert (isequaln (uminus (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/sinrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sinrev.m ***** # from the documentation string - assert (pow2 (infsup (5)) == infsup (32)); -***** # correct use of signed zeros -***** test - x = pow2 (infsup (-inf, -realmax)); - assert (signbit (inf (x))); +***** assert (isequal (sinrev (infsupdec (-1), infsupdec (0, 6)), infsupdec ("[0x1.2D97C7F3321D2p2, 0x1.2D97C7F3321D3p2]_trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.exp2; + testcases = testdata.NoSignal.infsupdec.sinRev; for testcase = [testcases]' assert (isequaln (... - pow2 (testcase.in{1}), ... + sinrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.exp2; + testcases = testdata.NoSignal.infsupdec.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pow2 (in1), out)); + assert (isequaln (sinrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp2; + testcases = testdata.NoSignal.infsupdec.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10399,61 +10652,25 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pow2 (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/gammaln.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gammaln.m -***** assert (gammaln (infsup (-inf, inf)) == "[-0x1.F19B9BCC38A42p-4, +Inf]"); -***** # from the documentation string -***** assert (gammaln (infsup (1.5)) == "[-0x1.EEB95B094C192p-4, -0x1.EEB95B094C191p-4]"); -***** # correct use of signed zeros -***** test - x = gammaln (infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = gammaln (infsup (2)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/strictsubset.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/strictsubset.m -***** assert (strictsubset (infsup (1, 2), infsup (1, 3))); -***** assert (strictsubset (infsup (2, 3), infsup (1, 3))); -***** assert (not (strictsubset (infsup (1, 2), infsup (1, 2)))); -***** assert (not (strictsubset (infsup (1, 3), infsup (1, 2)))); -***** assert (strictsubset (infsup (), infsup (1, 3))); -***** assert (not (strictsubset (infsup (), infsup ()))); -***** assert (strictsubset (infsup (), infsup (-inf, inf))); -***** assert (strictsubset (infsup (0, inf), infsup (-inf, inf))); -***** assert (strictsubset (infsup (-inf, 0), infsup (-inf, inf))); -***** assert (not (strictsubset (infsup (-inf, inf), infsup (-inf, inf)))); -10 tests, 10 passed, 0 known failure, 0 skipped -[inst/@infsup/precedes.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/precedes.m -***** assert (precedes (infsup (1, 2), infsup (2, 3))); -***** assert (not (precedes (infsup (1, 2.1), infsup (1.9, 3)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (sinrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.precedes; + testcases = testdata.NoSignal.infsupdec.sinRevBin; for testcase = [testcases]' assert (isequaln (... - precedes (testcase.in{1}, testcase.in{2}), ... + sinrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.precedes; + testcases = testdata.NoSignal.infsupdec.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (precedes (in1, in2), out)); + assert (isequaln (sinrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.precedes; + testcases = testdata.NoSignal.infsupdec.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -10466,84 +10683,33 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (precedes (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/end.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/end.m -***** assert (infsup (magic (3))(end) == 2); -***** assert (infsup (magic (3))(end, 2) == 9); -***** assert (infsup (magic (3))(2, end) == 7); -***** assert (infsup ([1 2; 3 4; 5 6])(end:-1:1, :) == [5 6; 3 4; 1 2]); -***** assert (reshape (infsup (1:24), 2, 3, 4)(end, end) == 24) -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/erf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/erf.m -***** # from the documentation string -***** assert (erf (infsup (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); -***** # correct use of signed zeros -***** test - x = erf (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/subsref.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subsref.m -***** assert (infsup (magic (3))([1, 2, 3]) == magic (3)([1, 2, 3])); -***** test - x = infsup (magic (3), magic (3) + 1); - assert (x(1) == infsup (8, 9)); -***** test - x = infsup (magic (3), magic (3) + 1); - assert (x(:, 2) == infsup ([1; 5; 9], [2; 6; 10])); -***** assert (infsup (3).inf, 3); -***** test - x = infsup (magic (3), magic (3) + 1); - assert (x.inf, magic (3)); -***** assert (reshape (infsup (1:16), 2, 2, 2, 2)(2, 7) == infsup (14)) -***** assert (reshape (infsup (1:16), 2, 2, 2, 2)(:, 2, 2, 2) == infsup ([15; 16])) + assert (isequaln (sinrev (in1, in2), out)); 7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/cancelplus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cancelplus.m +[inst/@infsupdec/log10.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log10.m ***** # from the documentation string -***** assert (cancelplus (infsup (2, 3), infsup (1, 1.5)) == infsup (3.5, 4)); +***** assert (isequal (log10 (infsupdec (2)), infsupdec ("[0x1.34413509F79FEp-2, 0x1.34413509F79FFp-2]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cancelPlus; + testcases = testdata.NoSignal.infsupdec.log10; for testcase = [testcases]' assert (isequaln (... - cancelplus (testcase.in{1}, testcase.in{2}), ... + log10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cancelPlus; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (cancelplus (in1, in2), out)); -***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.cancelPlus; - for testcase = [testcases]' - assert (isequaln (... - cancelplus (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor -***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.cancelPlus; + testcases = testdata.NoSignal.infsupdec.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelplus (in1, in2), out)); + assert (isequaln (log10 (in1), out)); ***** test - # N-dimensional array vector evaluation - testcases = testdata.NoSignal.infsupdec.cancelPlus; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10552,109 +10718,54 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cancelplus (in1, in2), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/mod.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mod.m -***** assert (mod (infsup (), infsup ()) == infsup ()); -***** assert (mod (infsup (0), infsup ()) == infsup ()); -***** assert (mod (infsup (), infsup (0)) == infsup ()); -***** assert (mod (infsup (0), infsup (0)) == infsup ()); -***** assert (mod (infsup (1), infsup (0)) == infsup ()); -***** assert (mod (infsup (0, 1), infsup (0)) == infsup ()); -***** assert (mod (infsup (1, 2), infsup (0)) == infsup ()); -***** assert (mod (infsup (0, inf), infsup (0)) == infsup ()); -***** assert (mod (infsup (1, inf), infsup (0)) == infsup ()); -***** assert (mod (infsup (realmax, inf), infsup (0)) == infsup ()); -***** assert (mod (infsup (0), infsup (1)) == infsup (0)); -***** assert (mod (infsup (0), infsup (0, 1)) == infsup (0)); -***** assert (mod (infsup (0), infsup (1, 2)) == infsup (0)); -***** assert (mod (infsup (0), infsup (0, inf)) == infsup (0)); -***** assert (mod (infsup (0), infsup (1, inf)) == infsup (0)); -***** assert (mod (infsup (0), infsup (realmax, inf)) == infsup (0)); -***** assert (mod (infsup (1), infsup (1)) == infsup (0)); -***** assert (mod (infsup (2), infsup (1)) == infsup (0)); -***** assert (mod (infsup (4), infsup (2)) == infsup (0)); -***** assert (mod (infsup (6), infsup (3)) == infsup (0)); -***** assert (mod (infsup (8), infsup (2)) == infsup (0)); -***** assert (mod (infsup (9), infsup (3)) == infsup (0)); -***** assert (mod (infsup (realmax), infsup (realmax)) == infsup (0)); -***** assert (mod (infsup (realmax), infsup (realmax / 2)) == infsup (0)); -***** assert (mod (infsup (realmax), infsup (realmax / 4)) == infsup (0)); -***** assert (mod (infsup (realmax), infsup (realmax / 8)) == infsup (0)); -***** assert (mod (infsup (realmax), infsup (realmax / 16)) == infsup (0)); -***** assert (mod (infsup (realmax), infsup (realmax / 32)) == infsup (0)); -***** assert (mod (infsup (0.1), infsup (0.1)) == infsup (0)); -***** assert (mod (infsup (0.1 * 2), infsup (0.1)) == infsup (0)); -***** assert (mod (infsup (0.1 * 4), infsup (0.1)) == infsup (0)); -***** assert (mod (infsup (pi), infsup (pi)) == infsup (0)); -***** assert (mod (infsup (pi), infsup (pi / 2)) == infsup (0)); -***** assert (mod (infsup (pi), infsup (pi / 4)) == infsup (0)); -***** assert (mod (infsup (pow2 (-1074)), infsup (pow2 (-1074))) == infsup (0)); -***** assert (mod (infsup (pow2 (-1073)), infsup (pow2 (-1074))) == infsup (0)); -***** assert (mod (infsup (pow2 (-1072)), infsup (pow2 (-1074))) == infsup (0)); -***** assert (mod (infsup (1), infsup (2)) == infsup (1)); -***** assert (mod (infsup (0.5), infsup (1)) == infsup (0.5)); -***** assert (mod (infsup (pi), infsup (3.15)) == infsup (pi)); -***** assert (mod (infsup (1), infsup (2, 3)) == infsup (1)); -***** assert (mod (infsup (1), infsup (2, inf)) == infsup (1)); -***** assert (mod (infsup (0.5), infsup (1, 2)) == infsup (0.5)); -***** assert (mod (infsup (0.5), infsup (1, inf)) == infsup (0.5)); -***** assert (mod (infsup (pi), infsup (3.15)) == infsup (pi)); -***** assert (mod (infsup (pi), infsup (3.15, inf)) == infsup (pi)); -***** assert (mod (infsup (0, 1), infsup (0, 1)) == infsup (0, 1)); -***** assert (mod (infsup (0, 2), infsup (0, 1)) == infsup (0, 1)); -***** assert (mod (infsup (0, 1), infsup (0, 2)) == infsup (0, 1)); -***** assert (mod (infsup (0, realmax), infsup (0, realmax)) == infsup (0, realmax)); -***** assert (mod (infsup (realmax, inf), infsup (realmax, inf)) == infsup (0, inf)); -***** assert (mod (infsup (0, inf), infsup (0, inf)) == infsup (0, inf)); -***** assert (mod (infsup (0), infsup (1)) == infsup (0)); -***** assert (mod (infsup (1), infsup (1)) == infsup (0)); -***** assert (mod (infsup (0, 1), infsup (1)) == infsup (0, 1)); -***** assert (mod (infsup (1, 2), infsup (1)) == infsup (0, 1)); -***** assert (mod (infsup (0, inf), infsup (1)) == infsup (0, 1)); -***** assert (mod (infsup (1, inf), infsup (1)) == infsup (0, 1)); -***** assert (mod (infsup (realmax, inf), infsup (1)) == infsup (0, 1)); -***** assert (mod (infsup (1), infsup (1)) == infsup (0)); -***** assert (mod (infsup (1), infsup (0, 1)) == infsup (0, 0.5)); -***** assert (mod (infsup (1), infsup (1, 2)) == infsup (0, 1)); -***** assert (mod (infsup (1), infsup (0, inf)) == infsup (0, 1)); -***** assert (mod (infsup (1), infsup (1, inf)) == infsup (0, 1)); -***** assert (mod (infsup (1), infsup (2, inf)) == infsup (1)); -***** assert (mod (infsup (1), infsup (realmax, inf)) == infsup (1)); -66 tests, 66 passed, 0 known failure, 0 skipped -[inst/@infsup/sinh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinh.m -***** # from the documentation string -***** assert (sinh (infsup (1)) == "[0x1.2CD9FC44EB982, 0x1.2CD9FC44EB983]"); -***** # correct use of signed zeros -***** test - x = sinh (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + assert (isequaln (log10 (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/eq.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/eq.m +***** # Empty interval +***** assert (eq (infsupdec (), infsupdec ()) == true); +***** assert (eq (infsupdec (), infsupdec (1)) == false); +***** assert (eq (infsupdec (0), infsupdec ()) == false); +***** assert (eq (infsupdec (-inf, inf), infsupdec ()) == false); +***** # Singleton intervals +***** assert (eq (infsupdec (0), infsupdec (1)) == false); +***** assert (eq (infsupdec (0), infsupdec (0)) == true); +***** # Bounded intervals +***** assert (eq (infsupdec (1, 2), infsupdec (3, 4)) == false); +***** assert (eq (infsupdec (1, 2), infsupdec (2, 3)) == false); +***** assert (eq (infsupdec (1, 2), infsupdec (1.5, 2.5)) == false); +***** assert (eq (infsupdec (1, 2), infsupdec (1, 2)) == true); +***** # Unbounded intervals +***** assert (eq (infsupdec (0, inf), infsupdec (-inf, 0)) == false); +***** assert (eq (infsupdec (0, inf), infsupdec (0, inf)) == true); +***** assert (eq (infsupdec (-inf, 0), infsupdec (-inf, 0)) == true); +***** assert (eq (infsupdec (-inf, inf), infsupdec (42)) == false); +***** assert (eq (infsupdec (-inf, 0), infsupdec (-inf, inf)) == false); +***** assert (eq (infsupdec (-inf, inf), infsupdec (-inf, inf)) == true); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sinh; + testcases = testdata.NoSignal.infsupdec.equal; for testcase = [testcases]' assert (isequaln (... - sinh (testcase.in{1}), ... + eq (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sinh; + testcases = testdata.NoSignal.infsupdec.equal; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sinh (in1), out)); + assert (isequaln (eq (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sinh; + testcases = testdata.NoSignal.infsupdec.equal; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10663,70 +10774,54 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sinh (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/fix.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fix.m + assert (isequaln (eq (in1, in2), out)); +19 tests, 19 passed, 0 known failure, 0 skipped +[inst/@infsupdec/round.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/round.m ***** # Empty interval -***** assert (fix (infsup ()) == infsup ()); +***** assert (isequal (round (infsupdec ()), infsupdec ())); ***** # Singleton intervals -***** assert (fix (infsup (0)) == infsup (0)); -***** assert (fix (infsup (1)) == infsup (1)); -***** assert (fix (infsup (1+eps)) == infsup (1)); -***** assert (fix (infsup (-1)) == infsup (-1)); -***** assert (fix (infsup (0.5)) == infsup (0)); -***** assert (fix (infsup (-0.5)) == infsup (0)); +***** assert (isequal (round (infsupdec (0)), infsupdec (0))); +***** assert (isequal (round (infsupdec (0.5)), infsupdec (1, "dac"))); +***** assert (isequal (round (infsupdec (0.25)), infsupdec (0))); +***** assert (isequal (round (infsupdec (0.75)), infsupdec (1))); +***** assert (isequal (round (infsupdec (-0.5)), infsupdec (-1, "dac"))); ***** # Bounded intervals -***** assert (fix (infsup (-0.5, 0)) == infsup (0)); -***** assert (fix (infsup (0, 0.5)) == infsup (0)); -***** assert (fix (infsup (0.25, 0.5)) == infsup (0)); -***** assert (fix (infsup (-1, 0)) == infsup (-1, 0)); -***** assert (fix (infsup (-1, 1)) == infsup (-1, 1)); -***** assert (fix (infsup (-realmin, realmin)) == infsup (0)); -***** assert (fix (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); +***** assert (isequal (round (infsupdec (-0.5, 0)), infsupdec (-1, 0, "def"))); +***** assert (isequal (round (infsupdec (0, 0.5)), infsupdec (0, 1, "def"))); +***** assert (isequal (round (infsupdec (0.25, 0.5)), infsupdec (0, 1, "def"))); +***** assert (isequal (round (infsupdec (-1, 0)), infsupdec (-1, 0, "def"))); +***** assert (isequal (round (infsupdec (-1, 1)), infsupdec (-1, 1, "def"))); +***** assert (isequal (round (infsupdec (-realmin, realmin)), infsupdec (0))); +***** assert (isequal (round (infsupdec (-realmax, realmax)), infsupdec (-realmax, realmax, "def"))); ***** # Unbounded intervals -***** assert (fix (infsup (-realmin, inf)) == infsup (0, inf)); -***** assert (fix (infsup (-realmax, inf)) == infsup (-realmax, inf)); -***** assert (fix (infsup (-inf, realmin)) == infsup (-inf, 0)); -***** assert (fix (infsup (-inf, realmax)) == infsup (-inf, realmax)); -***** assert (fix (infsup (-inf, inf)) == infsup (-inf, inf)); -***** # from the documentation string -***** assert (fix (infsup (2.5, 3.5)) == infsup (2, 3)); -***** assert (fix (infsup (-0.5, 5)) == infsup (0, 5)); -***** # correct use of signed zeros -***** test - x = fix (infsup (0.5)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = fix (infsup (-0.5)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = fix (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (round (infsupdec (-realmin, inf)), infsupdec (0, inf, "def"))); +***** assert (isequal (round (infsupdec (-realmax, inf)), infsupdec (-realmax, inf, "def"))); +***** assert (isequal (round (infsupdec (-inf, realmin)), infsupdec (-inf, 0, "def"))); +***** assert (isequal (round (infsupdec (-inf, realmax)), infsupdec (-inf, realmax, "def"))); +***** assert (isequal (round (infsupdec (-inf, inf)), infsupdec (-inf, inf, "def"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.trunc; + testcases = testdata.NoSignal.infsupdec.roundTiesToAway; for testcase = [testcases]' assert (isequaln (... - fix (testcase.in{1}), ... + round (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.trunc; + testcases = testdata.NoSignal.infsupdec.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (fix (in1), out)); + assert (isequaln (round (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.trunc; + testcases = testdata.NoSignal.infsup.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10737,93 +10832,33 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (fix (in1), out)); -27 tests, 27 passed, 0 known failure, 0 skipped -[inst/@infsup/dot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/dot.m -***** # matrix × matrix -***** assert (dot (infsup (magic (3)), magic (3)) == [89, 107, 89]); -***** assert (dot (infsup (magic (3)), magic (3), 1) == [89, 107, 89]); -***** assert (dot (infsup (magic (3)), magic (3), 2) == [101; 83; 101]); -***** # matrix × vector -***** assert (dot (infsup (magic (3)), [1, 2, 3]) == [28; 34; 28]); -***** assert (dot (infsup (magic (3)), [1, 2, 3], 1) == [15, 30, 45]); -***** assert (dot (infsup (magic (3)), [1, 2, 3], 2) == [28; 34; 28]); -***** assert (dot (infsup (magic (3)), [1; 2; 3]) == [26, 38, 26]); -***** assert (dot (infsup (magic (3)), [1; 2; 3], 1) == [26, 38, 26]); -***** assert (dot (infsup (magic (3)), [1; 2; 3], 2) == [15; 30; 45]); -***** # matrix × scalar -***** assert (dot (infsup (magic (3)), 42) == [630, 630, 630]); -***** assert (dot (infsup (magic (3)), 42, 1) == [630, 630, 630]); -***** assert (dot (infsup (magic (3)), 42, 2) == [630; 630; 630]); -***** # vector x vector -***** assert (dot (infsup([1, 2, 3]), [4, 5, 6]) == 32); -***** assert (dot (infsup([1, 2, 3]), [4, 5, 6], 1) == [4, 10, 18]); -***** assert (dot (infsup([1, 2, 3]), [4, 5, 6], 2) == 32); -***** assert (dot (infsup([1; 2; 3]), [4; 5; 6]) == 32); -***** assert (dot (infsup([1; 2; 3]), [4; 5; 6], 1) == 32); -***** assert (dot (infsup([1; 2; 3]), [4; 5; 6], 2) == [4; 10; 18]); -***** # vector × scalar -***** assert (dot (infsup ([1, 2, 3]), 42) == 252); -***** assert (dot (infsup ([1, 2, 3]), 42, 1) == [42, 84, 126]); -***** assert (dot (infsup ([1, 2, 3]), 42, 2) == 252); -***** assert (dot (infsup ([1; 2; 3]), 42) == 252); -***** assert (dot (infsup ([1; 2; 3]), 42, 1) == 252); -***** assert (dot (infsup ([1; 2; 3]), 42, 2) == [42; 84; 126]); -***** # N-dimensional arrays -***** test - x = infsup (reshape (1:24, 2, 3, 4)); - y = infsup (2.*ones (2, 3, 4)); - assert (dot (x, y, 3) == infsup ([80, 96, 112; 88, 104, 120])) -***** test - x = infsup (ones (2, 2, 2, 2)); - y = infsup (1); - assert (size (dot (x, y)), [1, 2, 2, 2]); - assert (size (dot (x, y, 1)), [1, 2, 2, 2]); - assert (size (dot (x, y, 2)), [2, 1, 2, 2]); - assert (size (dot (x, y, 3)), [2, 2, 1, 2]); - assert (size (dot (x, y, 4)), [2, 2, 2]); - assert (size (dot (x, y, 5)), [2, 2, 2, 2]); -***** # from the documentation string -***** assert (dot ([infsup(1), 2, 3], [infsup(2), 3, 4]) == 20); -***** assert (dot (infsup ([realmax; realmin; realmax]), [1; -1; -1], 1) == -realmin); -28 tests, 28 passed, 0 known failure, 0 skipped -[inst/@infsup/issquare.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/issquare.m -***** assert (issquare (infsup ([]))); -***** assert (issquare (infsup (0))); -***** assert (not (issquare (infsup (zeros (1, 2))))); -***** assert (not (issquare (infsup (zeros (2, 1))))); -***** assert (issquare (infsup (zeros (5)))); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/rdivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rdivide.m + assert (isequaln (round (in1), out)); +21 tests, 21 passed, 0 known failure, 0 skipped +[inst/@infsupdec/tan.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tan.m ***** # from the documentation string -***** assert (infsup (2, 3) ./ infsup (1, 2) == infsup (1, 3)); -***** assert (1 ./ infsup (1, 4) == infsup (0.25, 1)); +***** assert (isequal (tan (infsupdec (1)), infsupdec ("[0x1.8EB245CBEE3A5, 0x1.8EB245CBEE3A6]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.div; + testcases = testdata.NoSignal.infsupdec.tan; for testcase = [testcases]' assert (isequaln (... - rdivide (testcase.in{1}, testcase.in{2}), ... + tan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.div; + testcases = testdata.NoSignal.infsupdec.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (rdivide (in1, in2), out)); + assert (isequaln (tan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.div; + testcases = testdata.NoSignal.infsup.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10832,27 +10867,58 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (rdivide (in1, in2), out)); + assert (isequaln (tan (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/dilog.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/dilog.m +***** assert (isequal (dilog (infsupdec (-inf, inf)), infsupdec ("[-Inf, +0x1.3BD3CC9BE45DFp1]_dac"))); +***** # from the documentation string +***** assert (isequal (dilog (infsupdec (1)), infsupdec ("[0x1.A51A6625307D3, 0x1.A51A6625307D4]_com"))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsupdec/cat.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cat.m +***** assert (size (cat (1, infsupdec ([]), infsupdec ([]))), [0 0]); +***** assert (isequal (cat (1, infsupdec (1), infsupdec (2)), infsupdec (cat (1, 1, 2)))); +***** assert (isequal (cat (2, infsupdec (1), infsupdec (2)), infsupdec (cat (2, 1, 2)))); +***** assert (isequal (horzcat (infsupdec (1), infsupdec (2)), infsupdec (horzcat (1, 2)))); +***** test + a = infsupdec (2, 5); + assert (isequal (horzcat (a, a, a), infsupdec ([2, 2, 2], [5, 5, 5]))); +***** assert (isequal (vertcat (infsupdec (1), infsupdec (2)), infsupdec (vertcat (1, 2)))); +***** test + a = infsupdec (2, 5); + assert (isequal (vertcat (a, a, a), infsupdec ([2; 2; 2], [5; 5; 5]))); +***** assert (isequal (cat (5, infsupdec (1), infsupdec (2)), infsupdec (cat (5, 1, 2)))); +***** assert (isequal (cat (1, infsupdec (zeros (2, 2, 2)), infsupdec (ones (2, 2, 2))), infsupdec (cat (1, zeros (2, 2, 2), ones (2, 2, 2))))); +9 tests, 9 passed, 0 known failure, 0 skipped +[inst/@infsupdec/precedes.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/precedes.m +***** assert (precedes (infsupdec (1, 2), infsupdec (2, 3))); +***** assert (not (precedes (infsupdec (1, 2.1), infsupdec (1.9, 3)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.recip; + testcases = testdata.NoSignal.infsupdec.precedes; for testcase = [testcases]' assert (isequaln (... - rdivide (1, testcase.in{1}), ... + precedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.recip; + testcases = testdata.NoSignal.infsupdec.precedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (rdivide (1, in1), out)); + assert (isequaln (precedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.recip; + testcases = testdata.NoSignal.infsupdec.precedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10861,33 +10927,35 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (rdivide (1, in1), out)); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/sqrrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sqrrev.m -***** # from the documentation string -***** assert (sqrrev (infsup (-2, 1)) == infsup (-1, 1)); + assert (isequaln (precedes (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/isnai.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/isnai.m +***** assert (isnai (infsupdec ("[nai]"))); +***** assert (not (isnai (infsupdec (2, 3)))); +***** warning assert (isnai (infsupdec ("happy 42 hacking")), logical ([1 0 1])); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sqrRev; + testcases = testdata.NoSignal.infsupdec.isNaI; for testcase = [testcases]' assert (isequaln (... - sqrrev (testcase.in{1}), ... + isnai (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqrRev; + testcases = testdata.NoSignal.infsupdec.isNaI; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1), out)); + assert (isequaln (isnai (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrRev; + testcases = testdata.NoSignal.infsupdec.isNaI; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10898,27 +10966,50 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sqrrev (in1), out)); + assert (isequaln (isnai (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsupdec/psi.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/psi.m +***** assert (isempty (psi (infsupdec (0)))); +***** assert (isempty (psi (infsupdec (-1)))); +***** assert (isempty (psi (infsupdec (-2)))); +***** assert (isempty (psi (infsupdec (-3)))); +***** assert (isequal (psi (infsupdec (pow2 (-1074), inf)), infsupdec ("[Entire]_dac"))); +***** assert (isequal (psi (infsupdec (0, inf)), infsupdec ("[Entire]_trv"))); +***** assert (isequal (psi (infsupdec (-inf, -43.23)), infsupdec ("[Entire]_trv"))); +***** assert (isequal (psi (infsupdec (-1, 0)), infsupdec ("[Entire]_trv"))); +***** assert (isequal (psi (infsupdec (-2, -1)), infsupdec ("[Entire]_trv"))); +***** assert (isequal (psi (infsupdec (-eps, eps)), infsupdec ("[Entire]_trv"))); +***** assert (isequal (psi (infsupdec (-1-eps, -1+eps)), infsupdec ("[Entire]_trv"))); +***** assert (isequal (psi (infsupdec (-4.1, -3.9)), infsupdec ("[Entire]_trv"))); +***** # from the documentation string +***** assert (isequal (psi (infsupdec (1)), infsupdec ("[-0x1.2788CFC6FB619p-1, -0x1.2788CFC6FB618p-1]_com"))); +13 tests, 13 passed, 0 known failure, 0 skipped +[inst/@infsupdec/log.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log.m +***** # from the documentation string +***** assert (isequal (log (infsupdec (2)), infsupdec ("[0x1.62E42FEFA39EFp-1, 0x1.62E42FEFA39Fp-1]"))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sqrRevBin; + testcases = testdata.NoSignal.infsupdec.log; for testcase = [testcases]' assert (isequaln (... - sqrrev (testcase.in{1}, testcase.in{2}), ... + log (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqrRevBin; + testcases = testdata.NoSignal.infsupdec.log; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1, in2), out)); + assert (isequaln (log (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrRevBin; + testcases = testdata.NoSignal.infsup.log; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10927,64 +11018,33 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sqrrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/ceil.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ceil.m -***** # Empty interval -***** assert (ceil (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (ceil (infsup (0)) == infsup (0)); -***** assert (ceil (infsup (0.5)) == infsup (1)); -***** assert (ceil (infsup (-0.5)) == infsup (0)); -***** # Bounded intervals -***** assert (ceil (infsup (-0.5, 0)) == infsup (0)); -***** assert (ceil (infsup (0, 0.5)) == infsup (0, 1)); -***** assert (ceil (infsup (0.25, 0.5)) == infsup (1)); -***** assert (ceil (infsup (-1, 0)) == infsup (-1, 0)); -***** assert (ceil (infsup (-1, 1)) == infsup (-1, 1)); -***** assert (ceil (infsup (-realmin, realmin)) == infsup (0, 1)); -***** assert (ceil (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); -***** # Unbounded intervals -***** assert (ceil (infsup (-realmin, inf)) == infsup (0, inf)); -***** assert (ceil (infsup (-realmax, inf)) == infsup (-realmax, inf)); -***** assert (ceil (infsup (-inf, realmin)) == infsup (-inf, 1)); -***** assert (ceil (infsup (-inf, realmax)) == infsup (-inf, realmax)); -***** assert (ceil (infsup (-inf, inf)) == infsup (-inf, inf)); + assert (isequaln (log (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/acosh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acosh.m ***** # from the documentation string -***** assert (ceil (infsup (2.5, 3.5)) == infsup (3, 4)); -***** assert (ceil (infsup (-.5, 5)) == infsup (0, 5)); -***** # correct use of signed zeros -***** test - x = ceil (infsup (-0.5)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = ceil (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (acosh (infsupdec (2)), infsupdec ("[0x1.5124271980434, 0x1.5124271980435]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.ceil; + testcases = testdata.NoSignal.infsupdec.acosh; for testcase = [testcases]' assert (isequaln (... - ceil (testcase.in{1}), ... + acosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.ceil; + testcases = testdata.NoSignal.infsupdec.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (ceil (in1), out)); + assert (isequaln (acosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.ceil; + testcases = testdata.NoSignal.infsup.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10995,33 +11055,32 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (ceil (in1), out)); -23 tests, 23 passed, 0 known failure, 0 skipped -[inst/@infsup/times.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/times.m -***** # from the documentation string -***** assert (infsup (2, 3) .* infsup (1, 2) == infsup (2, 6)); + assert (isequaln (acosh (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/pownrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pownrev.m +***** assert (isequal (pownrev (infsupdec (25, 36), infsupdec (0, inf), 2), infsupdec (5, 6, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mul; + testcases = testdata.NoSignal.infsupdec.pownRev; for testcase = [testcases]' assert (isequaln (... - times (testcase.in{1}, testcase.in{2}), ... + pownrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mul; + testcases = testdata.NoSignal.infsupdec.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (times (in1, in2), out)); + assert (isequaln (pownrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mul; + testcases = testdata.NoSignal.infsupdec.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -11034,34 +11093,29 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (times (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/le.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/le.m -***** assert (le (infsup (1, 3), infsup (3))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (pownrev (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.less; + testcases = testdata.NoSignal.infsupdec.pownRevBin; for testcase = [testcases]' assert (isequaln (... - le (testcase.in{1}, testcase.in{2}), ... + pownrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.less; + testcases = testdata.NoSignal.infsupdec.pownRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (le (in1, in2), out)); + assert (isequaln (pownrev (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.less; + testcases = testdata.NoSignal.infsupdec.pownRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11071,40 +11125,40 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); + in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (le (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/resize.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/resize.m -***** assert (resize (infsup (magic (3)), 4, 2) == infsup ([8, 1; 3, 5; 4, 9; 0, 0])); -***** assert (resize (infsup (ones (2, 2, 2)), 4, 1, 2) == infsup (resize (ones (2, 2, 2), 4, 1, 2))) -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/pownrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pownrev.m -***** assert (pownrev (infsup (25, 36), infsup (0, inf), 2) == infsup (5, 6)); + assert (isequaln (pownrev (in1, in2, in3), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/cot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cot.m +***** # from the documentation string +***** assert (isequal (cot (infsupdec (1)), infsupdec ("[0x1.48C05D04E1CFDp-1, 0x1.48C05D04E1CFEp-1]"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/sqrrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sqrrev.m +***** # from the documentation string +***** assert (isequal (sqrrev (infsupdec (-2, 1)), infsupdec (-1, 1, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.pownRev; + testcases = testdata.NoSignal.infsupdec.sqrRev; for testcase = [testcases]' assert (isequaln (... - pownrev (testcase.in{1}, testcase.in{2}), ... + sqrrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pownRev; + testcases = testdata.NoSignal.infsupdec.sqrRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pownrev (in1, in2), out)); + assert (isequaln (sqrrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pownRev; + testcases = testdata.NoSignal.infsupdec.sqrRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11113,31 +11167,28 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pownrev (in1, in2), out)); + assert (isequaln (sqrrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.pownRevBin; + testcases = testdata.NoSignal.infsupdec.sqrRevBin; for testcase = [testcases]' assert (isequaln (... - pownrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + sqrrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pownRevBin; + testcases = testdata.NoSignal.infsupdec.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (pownrev (in1, in2, in3), out)); + assert (isequaln (sqrrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pownRevBin; + testcases = testdata.NoSignal.infsupdec.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11147,39 +11198,53 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pownrev (in1, in2, in3), out)); + assert (isequaln (sqrrev (in1, in2), out)); 7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/tan.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tan.m +[inst/@infsupdec/csc.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/csc.m ***** # from the documentation string -***** assert (tan (infsup (1)) == "[0x1.8EB245CBEE3A5, 0x1.8EB245CBEE3A6]"); -***** # correct use of signed zeros +***** assert (isequal (csc (infsupdec (1)), infsupdec ("[0x1.303AA9620B223, 0x1.303AA9620B224]_com"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/tril.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tril.m +***** assert (tril (infsupdec (magic (10))) == tril (magic (10))); +***** assert (tril (infsupdec (magic (10)), 1) == tril (magic (10), 1)); +***** assert (tril (infsupdec (magic (10)), -1) == tril (magic (10), -1)); +***** assert (tril (infsupdec (magic (10)), 0, "pack") == tril (magic (10), 0, "pack")); ***** test - x = tan (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + A = infsupdec (zeros (3), "trv"); + assert (decorationpart (tril (A)), {"trv", "com", "com"; "trv", "trv", "com"; "trv", "trv", "trv"}); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/erfc.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/erfc.m +***** # from the documentation string +***** assert (erfc (infsupdec (1)) == "[0x1.4226162FBDDD4p-3, 0x1.4226162FBDDD5p-3]"); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/sinh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sinh.m +***** # from the documentation string +***** assert (isequal (sinh (infsupdec (1)), infsupdec ("[0x1.2CD9FC44EB982, 0x1.2CD9FC44EB983]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsupdec.sinh; for testcase = [testcases]' assert (isequaln (... - tan (testcase.in{1}), ... + sinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsupdec.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tan (in1), out)); + assert (isequaln (sinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsupdec.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11190,72 +11255,40 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tan (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/setxor.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/setxor.m -***** test - [z, z1, z2] = setxor (infsup (), infsup ()); - assert (isempty (z)); - assert (isempty (z1)); - assert (isempty (z2)); -***** test - [z, z1, z2] = setxor (infsup (-inf, inf), infsup ()); - assert (isentire (z)); - assert (isentire (z1)); - assert (isempty (z2)); -***** test - [z, z1, z2] = setxor (infsup (-inf, inf), infsup (2)); - assert (isentire (z)); - assert (z1 == infsup (-inf, 2)); - assert (z2 == infsup (2, inf)); -***** test - [z, z1, z2] = setxor (infsup (2, 3), infsup (2)); - assert (z == infsup (2, 3)); - assert (z1 == infsup ()); - assert (z2 == infsup (2, 3)); -***** test - [z, z1, z2] = setxor (infsup (2, 3), infsup (2, 2.5)); - assert (z == infsup (2.5, 3)); - assert (z1 == infsup ()); - assert (z2 == infsup (2.5, 3)); + assert (isequaln (sinh (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/erf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/erf.m ***** # from the documentation string -***** test - [z, z1, z2] = setxor (infsup (1, 3), infsup (2, 4)); - assert (z == infsup (1, 4)); - assert (z1 == infsup (1, 2)); - assert (z2 == infsup (3, 4)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/expm1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/expm1.m +***** assert (erf (infsupdec (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/minus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/minus.m ***** # from the documentation string -***** assert (expm1 (infsup (eps)) == "[0x1p-52, 0x1.0000000000001p-52]"); -***** # correct use of signed zeros -***** test - x = expm1 (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (infsupdec (2, 3) - infsupdec (1, 2), infsupdec (0, 2))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.expm1; + testcases = testdata.NoSignal.infsupdec.sub; for testcase = [testcases]' assert (isequaln (... - expm1 (testcase.in{1}), ... + minus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.expm1; + testcases = testdata.NoSignal.infsupdec.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (expm1 (in1), out)); + assert (isequaln (minus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.expm1; + testcases = testdata.NoSignal.infsupdec.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11264,49 +11297,62 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (expm1 (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/postpad.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/postpad.m -***** assert (postpad (infsup (1:3), 4, 4) == infsup (1:4)); -***** assert (postpad (infsup (1:3), 2, 4) == infsup (1:2)); -***** assert (postpad (infsup (0), 10, 0, 3) == infsup (zeros (1, 1, 10))) -***** assert (postpad (infsup (zeros (1, 2, 2)), 3) == infsup (zeros (1, 3, 2))); + assert (isequaln (minus (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/ne.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ne.m -***** assert (ne (infsup (1, 2), infsup (1, 3))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/issingleton.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/issingleton.m -***** assert (issingleton (infsup (0))); -***** assert (issingleton (infsupdec (0))); -***** assert (not (issingleton (entire ()))); -***** assert (not (issingleton (intervalpart (entire ())))); -***** assert (not (issingleton (empty ()))); -***** assert (not (issingleton (intervalpart (empty ())))); -***** warning assert (not (issingleton (infsupdec (2, 1)))); +[inst/@infsupdec/absrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/absrev.m +***** # Empty interval +***** assert (isequal (absrev (infsupdec ()), infsupdec ())); +***** assert (isequal (absrev (infsupdec (0, 1), infsupdec ()), infsupdec ())); +***** assert (isequal (absrev (infsupdec (0, 1), infsupdec (7, 9)), infsupdec ())); +***** assert (isequal (absrev (infsupdec (), infsupdec (0, 1)), infsupdec ())); +***** assert (isequal (absrev (infsupdec (-2, -1)), infsupdec ())); +***** # Singleton intervals +***** assert (isequal (absrev (infsupdec (1)), infsupdec (-1, 1, "trv"))); +***** assert (isequal (absrev (infsupdec (0)), infsupdec (0, "trv"))); +***** assert (isequal (absrev (infsupdec (-1)), infsupdec ())); +***** assert (isequal (absrev (infsupdec (realmax)), infsupdec (-realmax, realmax, "trv"))); +***** assert (isequal (absrev (infsupdec (realmin)), infsupdec (-realmin, realmin, "trv"))); +***** assert (isequal (absrev (infsupdec (-realmin)), infsupdec ())); +***** assert (isequal (absrev (infsupdec (-realmax)), infsupdec ())); +***** # Bound intervals +***** assert (isequal (absrev (infsupdec (1, 2)), infsupdec (-2, 2, "trv"))); +***** assert (isequal (absrev (infsupdec (1, 2), infsupdec (0, 2)), infsupdec (1, 2, "trv"))); +***** assert (isequal (absrev (infsupdec (0, 1), infsupdec (-0.5, 2)), infsupdec (-0.5, 1, "trv"))); +***** assert (isequal (absrev (infsupdec (-1, 1)), infsupdec (-1, 1, "trv"))); +***** assert (isequal (absrev (infsupdec (-1, 0)), infsupdec (0, "trv"))); +***** # Unbound intervals +***** assert (isequal (absrev (infsupdec (0, inf)), infsupdec (-inf, inf, "trv"))); +***** assert (isequal (absrev (infsupdec (-inf, inf)), infsupdec (-inf, inf, "trv"))); +***** assert (isequal (absrev (infsupdec (-inf, 0)), infsupdec (0, "trv"))); +***** assert (isequal (absrev (infsupdec (1, inf), infsupdec (-inf, 0)), infsupdec (-inf, -1, "trv"))); +***** assert (isequal (absrev (infsupdec (-1, inf)), infsupdec (-inf, inf, "trv"))); +***** assert (isequal (absrev (infsupdec (-inf, -1)), infsupdec ())); +***** assert (isequal (absrev (infsupdec (-inf, 1)), infsupdec (-1, 1, "trv"))); +***** # from the documentation string +***** assert (isequal (absrev (infsupdec (-2, 1)), infsupdec (-1, 1, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + # Scalar evaluation with one argument + testcases = testdata.NoSignal.infsupdec.absRev; for testcase = [testcases]' assert (isequaln (... - issingleton (testcase.in{1}), ... + absrev (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + # Vector evaluation with one argument + testcases = testdata.NoSignal.infsupdec.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (issingleton (in1), out)); + assert (isequaln (absrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + testcases = testdata.NoSignal.infsupdec.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11317,25 +11363,27 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (issingleton (in1), out)); + assert (isequaln (absrev (in1), out)); ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isSingleton; + # Scalar evaluation with two arguments + testcases = testdata.NoSignal.infsupdec.absRevBin; for testcase = [testcases]' assert (isequaln (... - issingleton (testcase.in{1}), ... + absrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isSingleton; + # Vector evaluation with two arguments + testcases = testdata.NoSignal.infsupdec.absRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (issingleton (in1), out)); + assert (isequaln (absrev (in1, in2), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + # N-dimensional array evaluation with two arguments + testcases = testdata.NoSignal.infsupdec.absRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11344,37 +11392,34 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (issingleton (in1), out)); -13 tests, 13 passed, 0 known failure, 0 skipped -[inst/@infsup/pow10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow10.m + assert (isequaln (absrev (in1, in2), out)); +31 tests, 31 passed, 0 known failure, 0 skipped +[inst/@infsupdec/cos.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cos.m ***** # from the documentation string - assert (pow10 (infsup (5)) == infsup (100000)); -***** # correct use of signed zeros -***** test - x = pow10 (infsup (-inf, -realmax)); - assert (signbit (inf (x))); +***** assert (isequal (cos (infsupdec (1)), infsupdec ("[0x1.14A280FB5068Bp-1, 0x1.14A280FB5068Cp-1]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.exp10; + testcases = testdata.NoSignal.infsupdec.cos; for testcase = [testcases]' assert (isequaln (... - pow10 (testcase.in{1}), ... + cos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.exp10; + testcases = testdata.NoSignal.infsupdec.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pow10 (in1), out)); + assert (isequaln (cos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp10; + testcases = testdata.NoSignal.infsup.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11385,189 +11430,33 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pow10 (in1), out)); + assert (isequaln (cos (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/gamma.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gamma.m -***** # from the documentation string -***** assert (gamma (infsup (1.5)) == "[0x1.C5BF891B4EF6Ap-1, 0x1.C5BF891B4EF6Bp-1]"); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/sumsq.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sumsq.m -***** # from the documentation string -***** assert (sumsq ([infsup(1), pow2(-1074), -1]) == infsup (2, 2+eps*2)); -***** assert (sumsq (infsup ([])) == 0); -***** # correct use of signed zeros -***** test - x = sumsq (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/display.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/display.m -***** # Test for the display function are also largely done with the help of the -***** # doctest package. -***** xtest - assert (evalc ("display (infsup ())"), "[Empty]\n\n"); - assert (evalc ("display (infsupdec ())"), "[Empty]_trv\n\n"); -***** test - assert (evalc ("a = infsup ()"), "a = [Empty]\n"); - assert (evalc ("b = infsupdec ()"), "b = [Empty]_trv\n"); -***** xtest - assert (evalc ("a = infsup (); display (a)"), "a = [Empty]\n"); - assert (evalc ("b = infsupdec (); display (b)"), "b = [Empty]_trv\n"); -***** xtest - if (ispc ()) - assert (evalc ("display (infsup (magic (3)))"), ... - ["3x3 interval matrix\n", ... - "\n", ... - " [8] [1] [6]\n", ... - " [3] [5] [7]\n", ... - " [4] [9] [2]\n", ... - "\n"]); - else - assert (evalc ("display (infsup (magic (3)))"), ... - ["3×3 interval matrix\n", ... - "\n", ... - " [8] [1] [6]\n", ... - " [3] [5] [7]\n", ... - " [4] [9] [2]\n", ... - "\n"]); - endif -***** test - if (ispc ()) - assert (evalc ("infsup (magic (3))"), ... - ["ans = 3x3 interval matrix\n", ... - "\n", ... - " [8] [1] [6]\n", ... - " [3] [5] [7]\n", ... - " [4] [9] [2]\n", ... - "\n"]); - else - assert (evalc ("infsup (magic (3))"), ... - ["ans = 3×3 interval matrix\n", ... - "\n", ... - " [8] [1] [6]\n", ... - " [3] [5] [7]\n", ... - " [4] [9] [2]\n", ... - "\n"]); - endif -***** test - if (ispc ()) - assert (evalc ("infsup ('pi')"), "ans = [3.1415, 3.1416]\n"); - else - assert (evalc ("infsup ('pi')"), "ans ⊂ [3.1415, 3.1416]\n"); - endif -***** test - if (ispc ()) - assert (evalc ("infsup (1:3)"), ... - ["ans = 1x3 interval vector\n", ... - "\n", ... - " [1] [2] [3]\n", ... - "\n"]); - else - assert (evalc ("infsup (1:3)"), ... - ["ans = 1×3 interval vector\n", ... - "\n", ... - " [1] [2] [3]\n", ... - "\n"]); - endif -***** test - if (ispc ()) - assert (evalc ("infsup (ones(2, 2, 2))"), ... - ["ans = 2x2x2 interval array\n", ... - "\n", ... - "ans(:,:,1) =\n", ... - "\n", ... - " [1] [1]\n", ... - " [1] [1]\n", ... - "\n", ... - "ans(:,:,2) =\n", ... - "\n", ... - " [1] [1]\n", ... - " [1] [1]\n", ... - "\n"]); - else - assert (evalc ("infsup (ones(2, 2, 2))"), ... - ["ans = 2×2×2 interval array\n", ... - "\n", ... - "ans(:,:,1) =\n", ... - "\n", ... - " [1] [1]\n", ... - " [1] [1]\n", ... - "\n", ... - "ans(:,:,2) =\n", ... - "\n", ... - " [1] [1]\n", ... - " [1] [1]\n", ... - "\n"]); - endif -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/intersect.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/intersect.m -***** # Empty interval -***** assert (intersect (infsup (), infsup ()) == infsup ()); -***** assert (intersect (infsup (), infsup (1)) == infsup ()); -***** assert (intersect (infsup (0), infsup ()) == infsup ()); -***** assert (intersect (infsup (-inf, inf), infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (intersect (infsup (0), infsup (1)) == infsup ()); -***** assert (intersect (infsup (0), infsup (0)) == infsup (0)); -***** # Bounded intervals -***** assert (intersect (infsup (1, 2), infsup (3, 4)) == infsup ()); -***** assert (intersect (infsup (1, 2), infsup (2, 3)) == infsup (2)); -***** assert (intersect (infsup (1, 2), infsup (1.5, 2.5)) == infsup (1.5, 2)); -***** assert (intersect (infsup (1, 2), infsup (1, 2)) == infsup (1, 2)); -***** # Unbounded intervals -***** assert (intersect (infsup (0, inf), infsup (-inf, 0)) == infsup (0)); -***** assert (intersect (infsup (1, inf), infsup (-inf, -1)) == infsup ()); -***** assert (intersect (infsup (-1, inf), infsup (-inf, 1)) == infsup (-1, 1)); -***** assert (intersect (infsup (-inf, inf), infsup (42)) == infsup (42)); -***** assert (intersect (infsup (42), infsup (-inf, inf)) == infsup (42)); -***** assert (intersect (infsup (-inf, 0), infsup (-inf, inf)) == infsup (-inf, 0)); -***** assert (intersect (infsup (-inf, inf), infsup (-inf, inf)) == infsup (-inf, inf)); +[inst/@infsupdec/cosrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cosrev.m ***** # from the documentation string -***** assert (intersect (infsup (1, 3), infsup (2, 4)) == infsup (2, 3)); -***** # correct use of signed zeros -***** test - x = intersect (infsup (0), infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = intersect (infsup (0), infsup (0, 1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = intersect (infsup (0, 1), infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = intersect (infsup (-1, 0), infsup (0, 1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (cosrev (0, infsupdec (6, 9)), infsupdec ("[0x1.F6A7A2955385Ep2, 0x1.F6A7A2955386p2]_trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.intersection; + testcases = testdata.NoSignal.infsupdec.cosRev; for testcase = [testcases]' assert (isequaln (... - intersect (testcase.in{1}, testcase.in{2}), ... + cosrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.intersection; + testcases = testdata.NoSignal.infsupdec.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (intersect (in1, in2), out)); + assert (isequaln (cosrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.intersection; + testcases = testdata.NoSignal.infsupdec.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11576,43 +11465,26 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (intersect (in1, in2), out)); -25 tests, 25 passed, 0 known failure, 0 skipped -[inst/@infsup/polyval.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/polyval.m -***** assert (polyval (infsup (42), 0) == 42); -***** assert (polyval (infsup ([42 42]), 0) == 42); -***** assert (polyval (infsup ([42 42]), 1) == 84); -***** assert (polyval (infsup ([42 42]), -1) == 0); -***** assert (polyval (infsup ([-42 42 42]), .5) == -42*0.5^2 + 42*0.5 + 42); -***** assert (polyval (infsup (vec (pascal (3))), 0.1) == "[0X6.502E9A7231A08P+0, 0X6.502E9A7231A0CP+0]"); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/subset.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subset.m -***** assert (subset (infsup (1, 2), infsup (1, 3))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (cosrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.subset; + testcases = testdata.NoSignal.infsupdec.cosRevBin; for testcase = [testcases]' assert (isequaln (... - subset (testcase.in{1}, testcase.in{2}), ... + cosrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.subset; + testcases = testdata.NoSignal.infsupdec.cosRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (subset (in1, in2), out)); + assert (isequaln (cosrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.subset; + testcases = testdata.NoSignal.infsupdec.cosRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -11625,54 +11497,46 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (subset (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/acos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/acos.m -***** # Empty interval -***** assert (acos (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (acos (infsup (-1)) == infsup ("pi")); -***** assert (subset (acos (infsup (-.5)), union ((infsup ("pi") / 2), infsup ("pi")))); -***** assert (acos (infsup (0)) == infsup ("pi") / 2); -***** assert (subset (acos (infsup (.5)), union ((infsup ("pi") / 2), infsup (0)))); -***** assert (acos (infsup (1)) == infsup (0)); -***** # Bounded intervals -***** assert (acos (infsup (-1, 0)) == union ((infsup ("pi") / 2), infsup ("pi"))); -***** assert (acos (infsup (0, 1)) == union ((infsup ("pi") / 2), infsup (0))); -***** assert (acos (infsup (-1, 1)) == infsup (0, "pi")); -***** assert (acos (infsup (-2, 2)) == infsup (0, "pi")); -***** # Unbounded intervals -***** assert (acos (infsup (0, inf)) == union ((infsup ("pi") / 2), infsup (0))); -***** assert (acos (infsup (-inf, 0)) == union ((infsup ("pi") / 2), infsup ("pi"))); -***** assert (acos (infsup (-inf, inf)) == infsup (0, "pi")); + assert (isequaln (cosrev (in1, in2), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/sec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sec.m +***** # from the documentation string +***** assert (isequal (sec (infsupdec (1)), infsupdec ("[0x1.D9CF0F125CC29, 0x1.D9CF0F125CC2A]_com"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/nextout.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/nextout.m ***** # from the documentation string -***** assert (acos (infsup (.5)) == "[0x1.0C152382D7365, 0x1.0C152382D7366]"); -***** # correct use of signed zeros ***** test - x = acos (infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + x = nextout (infsupdec (1)); + assert (inf (x), 1 - eps / 2); + assert (sup (x), 1 + eps); + assert (decorationpart (x), {"trv"}); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/realsqrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/realsqrt.m +***** # from the documentation string +***** assert (isequal (realsqrt (infsupdec (-6, 4)), infsupdec (0, 2, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.acos; + testcases = testdata.NoSignal.infsupdec.sqrt; for testcase = [testcases]' assert (isequaln (... - acos (testcase.in{1}), ... + realsqrt (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.acos; + testcases = testdata.NoSignal.infsupdec.sqrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (acos (in1), out)); + assert (isequaln (realsqrt (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acos; + testcases = testdata.NoSignal.infsup.sqrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11683,55 +11547,35 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (acos (in1), out)); -18 tests, 18 passed, 0 known failure, 0 skipped -[inst/@infsup/rows.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rows.m -***** assert (rows (infsup (zeros (3, 4))), 3); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/isscalar.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isscalar.m -***** assert (not (isscalar (infsup ([])))); -***** assert (isscalar (infsup (0))); -***** assert (not (isscalar (infsup (zeros (1, 2))))); -***** assert (not (isscalar (infsup (zeros (2, 1))))); -***** assert (not (isscalar (infsup (zeros (5))))); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/gauss.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gauss.m -***** # from the documentation string -***** assert (gauss (infsup ([1, 0; 0, 2]), [2, 0; 0, 4]) == [2, 0; 0, 2]); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/sech.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sech.m -***** # from the documentation string -***** assert (sech (infsup (1)) == "[0x1.4BCDC50ED6BE7p-1, 0x1.4BCDC50ED6BE8p-1]"); -***** # correct use of signed zeros -***** test - x = sech (infsup (0, inf)); - assert (signbit (inf (x))); + assert (isequaln (realsqrt (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/overlap.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/overlap.m +***** assert (overlap (infsupdec (1, 2), infsupdec (3, 4)), "before"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sech; + testcases = testdata.NoSignal.infsupdec.overlap; for testcase = [testcases]' assert (isequaln (... - sech (testcase.in{1}), ... + overlap (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sech; + testcases = testdata.NoSignal.infsupdec.overlap; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (sech (in1), out)); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = {testcases.out}'; + assert (isequaln (overlap (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sech; + testcases = testdata.NoSignal.infsupdec.overlap; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = {testcases.out}'; # Reshape data i = -1; do @@ -11739,52 +11583,35 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sech (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/eq.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/eq.m -***** test "Empty interval"; - assert (eq (infsup (), infsup ()) == true); - assert (eq (infsup (), infsup (1)) == false); - assert (eq (infsup (0), infsup ()) == false); - assert (eq (infsup (-inf, inf), infsup ()) == false); -***** test "Singleton intervals"; - assert (eq (infsup (0), infsup (1)) == false); - assert (eq (infsup (0), infsup (0)) == true); -***** test "Bounded intervals"; - assert (eq (infsup (1, 2), infsup (3, 4)) == false); - assert (eq (infsup (1, 2), infsup (2, 3)) == false); - assert (eq (infsup (1, 2), infsup (1.5, 2.5)) == false); - assert (eq (infsup (1, 2), infsup (1, 2)) == true); -***** test "Unbounded intervals"; - assert (eq (infsup (0, inf), infsup (-inf, 0)) == false); - assert (eq (infsup (0, inf), infsup (0, inf)) == true); - assert (eq (infsup (-inf, 0), infsup (-inf, 0)) == true); - assert (eq (infsup (-inf, inf), infsup (42)) == false); - assert (eq (infsup (-inf, 0), infsup (-inf, inf)) == false); - assert (eq (infsup (-inf, inf), infsup (-inf, inf)) == true); + assert (isequaln (overlap (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/times.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/times.m +***** # from the documentation string +***** assert (isequal (infsupdec (2, 3) .* infsupdec (1, 2), infsupdec (2, 6))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.equal; + testcases = testdata.NoSignal.infsupdec.mul; for testcase = [testcases]' assert (isequaln (... - eq (testcase.in{1}, testcase.in{2}), ... + times (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.equal; + testcases = testdata.NoSignal.infsupdec.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (eq (in1, in2), out)); + assert (isequaln (times (in1, in2), out)); ***** test - # N-dimensional array evaluations - testcases = testdata.NoSignal.infsup.equal; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -11797,43 +11624,48 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (eq (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/sin.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sin.m -***** # from the documentation string -***** assert (sin (infsup (1)) == "[0x1.AED548F090CEEp-1, 0x1.AED548F090CEFp-1]"); -***** # correct use of signed zeros -***** test - x = sin (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** # test fix for bug #51283 -***** test - x = sin (infsup ([0, 0])); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + assert (isequaln (times (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/strictsubset.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/strictsubset.m +***** assert (strictsubset (infsupdec (1, 2), infsupdec (1, 3))); +***** assert (strictsubset (infsupdec (2, 3), infsupdec (1, 3))); +***** assert (not (strictsubset (infsupdec (1, 2), infsupdec (1, 2)))); +***** assert (not (strictsubset (infsupdec (1, 3), infsupdec (1, 2)))); +***** assert (strictsubset (infsupdec (), infsupdec (1, 3))); +***** assert (not (strictsubset (infsupdec (), infsupdec ()))); +***** assert (strictsubset (infsupdec (), infsupdec (-inf, inf))); +***** assert (strictsubset (infsupdec (0, inf), infsupdec (-inf, inf))); +***** assert (strictsubset (infsupdec (-inf, 0), infsupdec (-inf, inf))); +***** assert (not (strictsubset (infsupdec (-inf, inf), infsupdec (-inf, inf)))); +10 tests, 10 passed, 0 known failure, 0 skipped +[inst/@infsupdec/strictprecedes.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/strictprecedes.m +***** assert (strictprecedes (infsupdec (1, 1.9), infsupdec (2.1, 3))); +***** assert (not (strictprecedes (infsupdec (1, 2), infsupdec (2, 3)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsupdec.strictPrecedes; for testcase = [testcases]' assert (isequaln (... - sin (testcase.in{1}), ... + strictprecedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsupdec.strictPrecedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sin (in1), out)); + assert (isequaln (strictprecedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsupdec.strictPrecedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11842,49 +11674,46 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sin (in1), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/diag.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/diag.m -***** assert (diag (infsup (-inf, inf)) == "[Entire]"); -***** assert (diag (infsup ()) == "[Empty]"); -***** assert (numel (diag (infsup ([]))), 0); -***** assert (isequal (diag (infsup (magic (3))), infsup ([8; 5; 2]))); -***** assert (isequal (diag (infsup ([8 5 3])), infsup ([8 0 0; 0 5 0; 0 0 3]))); -***** assert (isequal (diag (infsup (1:2), 2, 3), infsup ([1 0 0; 0 2 0]))); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/power.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/power.m + assert (isequaln (strictprecedes (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/mldivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mldivide.m +***** # unique solution +***** assert (isequal (infsupdec ([1, 0; 0, 2]) \ [2, 0; 0, 4], infsupdec ([2, 0; 0 2], "trv"))); +***** # no solution +***** assert (all (isempty (infsupdec ([1, 0; 2, 0]) \ [3; 0]))); +***** # many solutions +***** assert (isequal (infsupdec ([1, 0; 2, 0]) \ [4; 8], infsupdec ([4; -inf], [4; inf], "trv"))); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsupdec/atan2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2.m ***** # from the documentation string -***** assert (infsup (-5, 6) .^ infsup (2, 3) == infsup (-125, 216)); -***** assert (infsup (-10, 0) .^ infsup (0, 1:8) == infsup ([-1e1, -1e1, -1e3, -1e3, -1e5, -1e5, -1e7, -1e7], [1e0, 1e2, 1e2, 1e4, 1e4, 1e6, 1e6, 1e8])); -***** # correct use of signed zeros -***** test - x = power (infsup (0), infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (atan2 (infsupdec (1), infsupdec (-1)), infsupdec ("[0x1.2D97C7F3321D2p1, 0x1.2D97C7F3321D3p1]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsupdec.atan2; for testcase = [testcases]' assert (isequaln (... - power (testcase.in{1}, 2), ... + atan2 (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsupdec.atan2; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (power (in1, 2), out)); + assert (isequaln (atan2 (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsupdec.atan2; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11893,39 +11722,37 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (power (in1, 2), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/asinh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/asinh.m + assert (isequaln (atan2 (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/plus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/plus.m ***** # from the documentation string -***** assert (asinh (infsup (1)) == "[0x1.C34366179D426p-1, 0x1.C34366179D427p-1]"); -***** # correct use of signed zeros -***** test - x = asinh (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (infsupdec (2, 3) + infsupdec (1, 2), infsupdec (3, 5))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.asinh; + testcases = testdata.NoSignal.infsupdec.add; for testcase = [testcases]' assert (isequaln (... - asinh (testcase.in{1}), ... + plus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.asinh; + testcases = testdata.NoSignal.infsupdec.add; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (asinh (in1), out)); + assert (isequaln (plus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asinh; + testcases = testdata.NoSignal.infsupdec.add; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11934,43 +11761,42 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (asinh (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/expm.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/expm.m -***** # from the paper -***** test - A = infsup ([0 1; 0 -3], [0 1; 0 -2]); - assert (all (all (subset (infsup ([1, 0.316738; 0, 0.0497871], [1, 0.432332; 0, 0.135335]), expm (A))))); + assert (isequaln (plus (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/polyval.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/polyval.m +***** assert (isequal (polyval (infsupdec (3, "trv"), 0), infsupdec (3, "trv"))); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/max.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/max.m -***** # from the documentation string -***** assert (max (infsup (2, 3), infsup (1, 2)) == infsup (2, 3)); +[inst/@infsupdec/sup.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sup.m +***** assert (sup (infsupdec (2.5, 3.5)), 3.5); +***** assert (sup (infsupdec ()), -inf); +***** assert (sup (infsupdec ("[nai]")), nan); +***** warning id=interval:UndefinedOperation + assert (sup (infsupdec (3, 2)), nan); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.max; + testcases = testdata.NoSignal.infsupdec.sup; for testcase = [testcases]' assert (isequaln (... - max (testcase.in{1}, testcase.in{2}), ... + sup (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.max; + testcases = testdata.NoSignal.infsupdec.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (max (in1, in2), out)); + assert (isequaln (sup (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.max; + testcases = testdata.NoSignal.infsup.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11979,35 +11805,36 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (max (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/tanrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tanrev.m + assert (isequaln (sup (in1), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/intersect.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/intersect.m ***** # from the documentation string -***** assert (tanrev (infsup (0), infsup (2, 4)) == infsup ("pi")); +***** assert (isequal (intersect (infsupdec (1, 3), infsupdec (2, 4)), infsupdec (2, 3, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.tanRev; + testcases = testdata.NoSignal.infsupdec.intersection; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}), ... + intersect (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tanRev; + testcases = testdata.NoSignal.infsupdec.intersection; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1), out)); + assert (isequaln (intersect (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanRev; + testcases = testdata.NoSignal.infsupdec.intersection; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12016,26 +11843,35 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tanrev (in1), out)); + assert (isequaln (intersect (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/cancelminus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cancelminus.m +***** # from the documentation string +***** assert (isequal (cancelminus (infsupdec (2, 3), infsupdec (1, 1.5)), infsupdec (1, 1.5, "trv"))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.tanRevBin; + testcases = testdata.NoSignal.infsupdec.cancelMinus; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}, testcase.in{2}), ... + cancelminus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tanRevBin; + testcases = testdata.NoSignal.infsupdec.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1, in2), out)); + assert (isequaln (cancelminus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanRevBin; + testcases = testdata.NoSignal.infsupdec.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -12048,98 +11884,52 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tanrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/overlap.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/overlap.m -***** test - [s, n] = overlap (infsup (), infsup ()); - assert (s, "bothEmpty"); - assert (n, uint16 (32768)); -***** test - [s, n] = overlap (infsup (), infsup (0)); - assert (s, "firstEmpty"); - assert (n, uint16 (16384)); -***** test - [s, n] = overlap (infsup (0), infsup ()); - assert (s, "secondEmpty"); - assert (n, uint16 (8192)); -***** test - [s, n] = overlap (infsup (1, 2), infsup (3, 4)); - assert (s, "before"); - assert (n, uint16 (4096)); -***** test - [s, n] = overlap (infsup (1, 2), infsup (2, 3)); - assert (s, "meets"); - assert (n, uint16 (2048)); -***** test - [s, n] = overlap (infsup (1, 3), infsup (2, 4)); - assert (s, "overlaps"); - assert (n, uint16 (1024)); -***** test - [s, n] = overlap (infsup (1, 2), infsup (1, 3)); - assert (s, "starts"); - assert (n, uint16 (512)); -***** test - [s, n] = overlap (infsup (2, 3), infsup (1, 4)); - assert (s, "containedBy"); - assert (n, uint16 (256)); -***** test - [s, n] = overlap (infsup (2, 3), infsup (1, 3)); - assert (s, "finishes"); - assert (n, uint16 (128)); -***** test - [s, n] = overlap (infsup (1, 2), infsup (1, 2)); - assert (s, "equals"); - assert (n, uint16 (64)); -***** test - [s, n] = overlap (infsup (1, 3), infsup (2, 3)); - assert (s, "finishedBy"); - assert (n, uint16 (32)); -***** test - [s, n] = overlap (infsup (1, 4), infsup (2, 3)); - assert (s, "contains"); - assert (n, uint16 (16)); -***** test - [s, n] = overlap (infsup (1, 3), infsup (1, 2)); - assert (s, "startedBy"); - assert (n, uint16 (8)); + assert (isequaln (cancelminus (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/subsref.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subsref.m +***** assert (isequal (infsupdec (magic (3))([1, 2, 3]), infsupdec (magic (3)([1, 2, 3])))); ***** test - [s, n] = overlap (infsup (2, 4), infsup (1, 3)); - assert (s, "overlappedBy"); - assert (n, uint16 (4)); + x = infsupdec (magic (3), magic (3) + 1); + assert (x(1) == infsupdec (8, 9)); ***** test - [s, n] = overlap (infsup (2, 3), infsup (1, 2)); - assert (s, "metBy"); - assert (n, uint16 (2)); + x = infsupdec (magic (3), magic (3) + 1); + assert (x(:, 2) == infsupdec ([1; 5; 9], [2; 6; 10])); +***** assert (infsupdec (3).inf, 3); ***** test - [s, n] = overlap (infsup (3, 4), infsup (1, 2)); - assert (s, "after"); - assert (n, uint16 (1)); + x = infsupdec (magic (3), magic (3) + 1); + assert (x.inf, magic (3)); +***** assert (isequal (reshape (infsupdec (1:16), 2, 2, 2, 2)(2, 7), infsupdec (14))) +***** assert (isequal (reshape (infsupdec (1:16), 2, 2, 2, 2)(:, 2, 2, 2), infsupdec ([15; 16]))) +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/min.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/min.m +***** # from the documentation string +***** assert (isequal (min (infsupdec (2, 3), infsupdec (1, 2)), infsupdec (1, 2))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.overlap; + testcases = testdata.NoSignal.infsupdec.min; for testcase = [testcases]' assert (isequaln (... - overlap (testcase.in{1}, testcase.in{2}), ... + min (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.overlap; + testcases = testdata.NoSignal.infsupdec.min; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - out = {testcases.out}'; - assert (isequaln (overlap (in1, in2), out)); + out = vertcat (testcases.out); + assert (isequaln (min (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.overlap; + testcases = testdata.NoSignal.infsupdec.min; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - out = {testcases.out}'; + out = vertcat (testcases.out); # Reshape data i = -1; do @@ -12149,64 +11939,32 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (overlap (in1, in2), out)); -19 tests, 19 passed, 0 known failure, 0 skipped -[inst/@infsup/rad.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rad.m -***** test; - [m, r] = rad (infsup (2.5, 3.5)); - assert (m, 3); - assert (r, .5); + assert (isequaln (min (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/atanh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atanh.m ***** # from the documentation string -***** assert (rad (infsup (2.5, 3.5)), .5); +***** assert (isequal (atanh (infsupdec (.5)), infsupdec ("[0x1.193EA7AAD030Ap-1, 0x1.193EA7AAD030Bp-1]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.rad; + testcases = testdata.NoSignal.infsupdec.atanh; for testcase = [testcases]' assert (isequaln (... - rad (testcase.in{1}), ... + atanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.rad; + testcases = testdata.NoSignal.infsupdec.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (rad (in1), out)); + assert (isequaln (atanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.rad; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - # Reshape data - i = -1; - do - i = i + 1; - testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) - in1 = reshape ([in1; in1(1:i)], testsize); - out = reshape ([out; out(1:i)], testsize); - assert (isequaln (rad (in1), out)); -***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.rad; - for testcase = [testcases]' - assert (isequaln (... - rad (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.rad; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (rad (in1), out)); -***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.rad; + testcases = testdata.NoSignal.infsup.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12217,53 +11975,41 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (rad (in1), out)); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/acosh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/acosh.m -***** # Empty interval -***** assert (acosh (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (acosh (infsup (0)) == infsup ()); -***** assert (acosh (infsup (1)) == infsup (0)); + assert (isequaln (atanh (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/subsasgn.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subsasgn.m ***** test - x = infsup (1 : 3 : 100); - assert (min (subset (acosh (x), log (x + sqrt (x + 1) .* sqrt (x - 1))))); -***** # Bounded intervals -***** assert (acosh (infsup (0, 1)) == infsup (0)); -***** # Unbounded intervals -***** assert (acosh (infsup (-inf, 0)) == infsup ()); -***** assert (acosh (infsup (-inf, 1)) == infsup (0)); -***** assert (acosh (infsup (0, inf)) == infsup (0, inf)); -***** assert (acosh (infsup (1, inf)) == infsup (0, inf)); -***** assert (subset (acosh (infsup (2, inf)), infsup (1, inf))); + A = infsupdec (magic (3)); + A(4, 4) = 42; + assert (inf (A), [magic(3),[0;0;0];0,0,0,42]); + assert (sup (A), [magic(3),[0;0;0];0,0,0,42]); + assert (decorationpart (A), {"com", "com", "com", "com"; "com", "com", "com", "com"; "com", "com", "com", "com"; "com", "com", "com", "com"}); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/coshrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/coshrev.m ***** # from the documentation string -***** assert (acosh (infsup (2)) == "[0x1.5124271980434, 0x1.5124271980435]"); -***** # correct use of signed zeros -***** test - x = acosh (infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (coshrev (infsupdec (-2, 1)), infsupdec (0, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.acosh; + testcases = testdata.NoSignal.infsupdec.coshRev; for testcase = [testcases]' assert (isequaln (... - acosh (testcase.in{1}), ... + coshrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.acosh; + testcases = testdata.NoSignal.infsupdec.coshRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (acosh (in1), out)); + assert (isequaln (coshrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acosh; + testcases = testdata.NoSignal.infsupdec.coshRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12274,38 +12020,27 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (acosh (in1), out)); -15 tests, 15 passed, 0 known failure, 0 skipped -[inst/@infsup/log10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log10.m -***** # from the documentation string -***** assert (log10 (infsup (2)) == "[0x1.34413509F79FEp-2, 0x1.34413509F79FFp-2]"); -***** # correct use of signed zeros -***** test - x = log10 (infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (coshrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsupdec.coshRevBin; for testcase = [testcases]' assert (isequaln (... - log10 (testcase.in{1}), ... + coshrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsupdec.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (log10 (in1), out)); + assert (isequaln (coshrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsupdec.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12314,56 +12049,49 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (log10 (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/length.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/length.m -***** assert (length (infsup ([])), 0); -***** assert (length (infsup (0)), 1); -***** assert (length (infsup (zeros (3, 1))), 3); -***** assert (length (infsup (zeros (1, 4))), 4); -***** assert (length (infsup (zeros (3, 4))), 4); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/dilog.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/dilog.m -***** assert (dilog (infsup (-inf, inf)) == "[-Inf, +0x1.3BD3CC9BE45DFp1]"); -***** # from the documentation string -***** assert (dilog (infsup (1)) == "[0x1.A51A6625307D3, 0x1.A51A6625307D4]"); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/triu.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/triu.m -***** assert (triu (infsup (magic (10))) == triu (magic (10))); -***** assert (triu (infsup (magic (10)), 1) == triu (magic (10), 1)); -***** assert (triu (infsup (magic (10)), -1) == triu (magic (10), -1)); -***** assert (triu (infsup (magic (10)), 0, "pack") == triu (magic (10), 0, "pack")); + assert (isequaln (coshrev (in1, in2), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/postpad.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/postpad.m +***** assert (isequal (postpad (infsupdec (1:3), 4, 4), infsupdec (1:4))); +***** assert (isequal (postpad (infsupdec (1:3), 2, 4), infsupdec (1:2))); +***** assert (isequal (postpad (infsupdec (0), 10, 0, 3), infsupdec (zeros (1, 1, 10)))); +***** assert (isequal (postpad (infsupdec (zeros (1, 2, 2)), 3), infsupdec (zeros (1, 3, 2)))); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/mid.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mid.m -***** assert (mid (infsup (-inf, inf)), 0); +[inst/@infsupdec/sech.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sech.m ***** # from the documentation string -***** assert (mid (infsup (2.5, 3.5)), 3); +***** assert (isequal (sech (infsupdec (1)), infsupdec ("[0x1.4BCDC50ED6BE7p-1, 0x1.4BCDC50ED6BE8p-1]_com"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/lt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/lt.m +***** assert (not (lt (infsupdec (1, 3), infsupdec (3)))); +***** assert (lt (infsupdec (1, 3), infsupdec (3.1))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mid; + testcases = testdata.NoSignal.infsupdec.strictLess; for testcase = [testcases]' assert (isequaln (... - mid (testcase.in{1}), ... + lt (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mid; + testcases = testdata.NoSignal.infsupdec.strictLess; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (mid (in1), out)); + assert (isequaln (lt (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mid; + testcases = testdata.NoSignal.infsupdec.strictLess; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12372,25 +12100,135 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mid (in1), out)); + assert (isequaln (lt (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/mpower.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mpower.m +***** # from the documentation string +***** assert (isequal (infsupdec (magic (3)) ^ 2, infsupdec (magic (3) ^ 2))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/coth.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/coth.m +***** # from the documentation string +***** assert (isequal (coth (infsupdec (1)), infsupdec ("[0x1.50231499B6B1D, 0x1.50231499B6B1E]_com"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/mod.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mod.m +***** assert (isequal (mod (infsupdec (), infsupdec ()), infsupdec ())); +***** assert (isequal (mod (infsupdec (0), infsupdec ()), infsupdec ())); +***** assert (isequal (mod (infsupdec (), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (0), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (1), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (0, 1), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (1, 2), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (0, inf), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (1, inf), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (realmax, inf), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (0), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0), infsupdec (0, 1)), infsupdec (0, "trv"))); +***** assert (isequal (mod (infsupdec (0), infsupdec (1, 2)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0), infsupdec (0, inf)), infsupdec (0, "trv"))); +***** assert (isequal (mod (infsupdec (0), infsupdec (1, inf)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0), infsupdec (realmax, inf)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (2), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (4), infsupdec (2)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (6), infsupdec (3)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (8), infsupdec (2)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (9), infsupdec (3)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 2)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 4)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 8)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 16)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 32)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0.1), infsupdec (0.1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0.1 * 2), infsupdec (0.1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0.1 * 4), infsupdec (0.1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (pi), infsupdec (pi)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (pi), infsupdec (pi / 2)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (pi), infsupdec (pi / 4)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (pow2 (-1074)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (pow2 (-1073)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (pow2 (-1072)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (2)), infsupdec (1))); +***** assert (isequal (mod (infsupdec (0.5), infsupdec (1)), infsupdec (0.5))); +***** assert (isequal (mod (infsupdec (pi), infsupdec (3.15)), infsupdec (pi))); +***** assert (isequal (mod (infsupdec (1), infsupdec (2, 3)), infsupdec (1))); +***** assert (isequal (mod (infsupdec (1), infsupdec (2, inf)), infsupdec (1, "dac"))); +***** assert (isequal (mod (infsupdec (0.5), infsupdec (1, 2)), infsupdec (0.5))); +***** assert (isequal (mod (infsupdec (0.5), infsupdec (1, inf)), infsupdec (0.5, "dac"))); +***** assert (isequal (mod (infsupdec (pi), infsupdec (3.15)), infsupdec (pi))); +***** assert (isequal (mod (infsupdec (pi), infsupdec (3.15, inf)), infsupdec (pi, "dac"))); +***** assert (isequal (mod (infsupdec (0, 1), infsupdec (0, 1)), infsupdec (0, 1, "trv"))); +***** assert (isequal (mod (infsupdec (0, 2), infsupdec (0, 1)), infsupdec (0, 1, "trv"))); +***** assert (isequal (mod (infsupdec (0, 1), infsupdec (0, 2)), infsupdec (0, 1, "trv"))); +***** assert (isequal (mod (infsupdec (0, realmax), infsupdec (0, realmax)), infsupdec (0, realmax, "trv"))); +***** assert (isequal (mod (infsupdec (realmax, inf), infsupdec (realmax, inf)), infsupdec (0, inf, "def"))); +***** assert (isequal (mod (infsupdec (0, inf), infsupdec (0, inf)), infsupdec (0, inf, "trv"))); +***** assert (isequal (mod (infsupdec (0), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0, 1), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (1, 2), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (0, inf), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (1, inf), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (realmax, inf), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (0, 1)), infsupdec (0, 0.5, "trv"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (1, 2)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (0, inf)), infsupdec (0, 1, "trv"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (1, inf)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (2, inf)), infsupdec (1, "dac"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (realmax, inf)), infsupdec (1, "dac"))); +66 tests, 66 passed, 0 known failure, 0 skipped +[inst/@infsupdec/roundb.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/roundb.m +***** # Empty interval +***** assert (isequal (roundb (infsupdec ()), infsupdec ())); +***** # Singleton intervals +***** assert (isequal (roundb (infsupdec (0)), infsupdec (0))); +***** assert (isequal (roundb (infsupdec (0.5)), infsupdec (0, "dac"))); +***** assert (isequal (roundb (infsupdec (0.25)), infsupdec (0))); +***** assert (isequal (roundb (infsupdec (0.75)), infsupdec (1))); +***** assert (isequal (roundb (infsupdec (1.5)), infsupdec (2, "dac"))); +***** assert (isequal (roundb (infsupdec (-0.5)), infsupdec (0, "dac"))); +***** assert (isequal (roundb (infsupdec (-1.5)), infsupdec (-2, "dac"))); +***** # Bounded intervals +***** assert (isequal (roundb (infsupdec (-0.5, 0)), infsupdec (0, "dac"))); +***** assert (isequal (roundb (infsupdec (0, 0.5)), infsupdec (0, "dac"))); +***** assert (isequal (roundb (infsupdec (0.25, 0.5)), infsupdec (0, "dac"))); +***** assert (isequal (roundb (infsupdec (-1, 0)), infsupdec (-1, 0, "def"))); +***** assert (isequal (roundb (infsupdec (-1, 1)), infsupdec (-1, 1, "def"))); +***** assert (isequal (roundb (infsupdec (-realmin, realmin)), infsupdec (0))); +***** assert (isequal (roundb (infsupdec (-realmax, realmax)), infsupdec (-realmax, realmax, "def"))); +***** # Unbounded intervals +***** assert (isequal (roundb (infsupdec (-realmin, inf)), infsupdec (0, inf, "def"))); +***** assert (isequal (roundb (infsupdec (-realmax, inf)), infsupdec (-realmax, inf, "def"))); +***** assert (isequal (roundb (infsupdec (-inf, realmin)), infsupdec (-inf, 0, "def"))); +***** assert (isequal (roundb (infsupdec (-inf, realmax)), infsupdec (-inf, realmax, "def"))); +***** assert (isequal (roundb (infsupdec (-inf, inf)), infsupdec (-inf, inf, "def"))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.mid; + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.roundTiesToEven; for testcase = [testcases]' assert (isequaln (... - mid (testcase.in{1}), ... + roundb (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.mid; + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.roundTiesToEven; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mid (in1), out)); + assert (isequaln (roundb (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mid; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.roundTiesToEven; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12401,65 +12239,36 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mid (in1), out)); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/chol.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/chol.m -***** assert (chol (infsup (pascal (10))) == chol (pascal (10))); -***** assert (chol (infsupdec (pascal (10))) == chol (pascal (10))); -***** test - A = infsup ([2, 1; 1, 1]); - R = chol (A); - assert (ismember ([sqrt(2), 1/sqrt(2); 0, 1/sqrt(2)], R)); - assert (wid (R) < 1e-15); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/sum.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sum.m -***** # from the documentation string -***** assert (sum ([infsup(1), pow2(-1074), -1]) == infsup (pow2 (-1074))); -***** assert (sum (infsup ([])) == 0); -***** # correct use of signed zeros -***** test - x = sum (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** # N-dimensional arrays -***** assert (sum (infsup (ones (1, 1, 10))) == infsup (10)); -***** assert (sum (infsup (ones (1, 1, 10))) == infsup (10)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/subsasgn.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subsasgn.m -***** test - A = infsup (magic (3)); - A(4, 4) = 42; - assert (inf (A), [magic(3),[0;0;0];0,0,0,42]); - assert (sup (A), [magic(3),[0;0;0];0,0,0,42]); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/uplus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/uplus.m + assert (isequaln (roundb (in1), out)); +23 tests, 23 passed, 0 known failure, 0 skipped +[inst/@infsupdec/rdivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rdivide.m ***** # from the documentation string -***** assert (+infsup (2, 3) == infsup (2, 3)); +***** assert (isequal (infsupdec (2, 3) ./ infsupdec (1, 2), infsupdec (1, 3))); +***** assert (1 ./ infsupdec (1, 4) == infsupdec (0.25, 1)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.pos; + testcases = testdata.NoSignal.infsupdec.div; for testcase = [testcases]' assert (isequaln (... - uplus (testcase.in{1}), ... + rdivide (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pos; + testcases = testdata.NoSignal.infsupdec.div; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (uplus (in1), out)); + assert (isequaln (rdivide (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pos; + testcases = testdata.NoSignal.infsupdec.div; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12468,25 +12277,26 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (uplus (in1), out)); + assert (isequaln (rdivide (in1, in2), out)); ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.pos; + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.recip; for testcase = [testcases]' assert (isequaln (... - uplus (testcase.in{1}), ... + rdivide (1, testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.pos; + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.recip; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (uplus (in1), out)); + assert (isequaln (rdivide (1, in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pos; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.recip; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12497,40 +12307,46 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (uplus (in1), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/hypot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/hypot.m + assert (isequaln (rdivide (1, in1), out)); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsupdec/atan2rev2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2rev2.m ***** # from the documentation string -***** assert (hypot (infsup (2, 3), infsup (1, 2)) == "[0x1.1E3779B97F4A7p1, 0x1.CD82B446159F4p1]"); -***** # correct use of signed zeros -***** test - x = hypot (infsup (0), infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (atan2rev2 (infsupdec (1, 2), infsupdec ("pi") / 4), infsupdec ("[0x1.FFFFFFFFFFFFEp-1, 0x1.0000000000001p1]_trv"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/nthroot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/nthroot.m +***** assert (isequal (nthroot (infsupdec (25, 36), 2), infsupdec (5, 6))); +***** assert (isequal (nthroot (infsupdec (-1, 1), 2), infsupdec (0, 1, "trv"))); +***** assert (isequal (nthroot (infsupdec (-1, 1), 3), infsupdec (-1, 1))); +***** assert (isequal (nthroot (infsupdec (-1, 1), -2), infsupdec (1, inf, "trv"))); +***** assert (isequal (nthroot (infsupdec (-1, 1), -3), infsupdec (-inf, inf, "trv"))); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/exp.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/exp.m +***** # from the documentation string +***** assert (isequal (exp (infsupdec (1)), infsupdec ("e"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.hypot; + testcases = testdata.NoSignal.infsupdec.exp; for testcase = [testcases]' assert (isequaln (... - hypot (testcase.in{1}, testcase.in{2}), ... + exp (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.hypot; + testcases = testdata.NoSignal.infsupdec.exp; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (hypot (in1, in2), out)); + assert (isequaln (exp (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.hypot; + testcases = testdata.NoSignal.infsup.exp; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12539,39 +12355,36 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (hypot (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/log.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log.m -***** # from the documentation string -***** assert (log (infsup (2)) == "[0x1.62E42FEFA39EFp-1, 0x1.62E42FEFA39Fp-1]"); -***** # correct use of signed zeros -***** test - x = log (infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + assert (isequaln (exp (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/inf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/inf.m +***** assert (inf (infsupdec (2.5, 3.5)), 2.5); +***** assert (inf (infsupdec ()), +inf); +***** assert (inf (infsupdec ("[nai]")), nan); +***** warning id=interval:UndefinedOperation + assert (inf (infsupdec (2, 1)), nan); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.log; + testcases = testdata.NoSignal.infsupdec.inf; for testcase = [testcases]' assert (isequaln (... - log (testcase.in{1}), ... + inf (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.log; + testcases = testdata.NoSignal.infsupdec.inf; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log (in1), out)); + assert (isequaln (inf (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log; + testcases = testdata.NoSignal.infsup.inf; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12582,39 +12395,57 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (log (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/prepad.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/prepad.m -***** assert (prepad (infsup (2:4), 4, 1) == infsup (1:4)); -***** assert (prepad (infsup (0:2), 2, 1) == infsup (1:2)); -***** assert (prepad (infsup (0), 10, 0, 3) == infsup (zeros (1, 1, 10))) -***** assert (prepad (infsup (zeros (1, 2, 2)), 3) == infsup (zeros (1, 3, 2))); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/cosh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cosh.m + assert (isequaln (inf (in1), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/abs.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/abs.m +***** # Empty interval +***** assert (isequal (abs (infsupdec ()), infsupdec ())); +***** # Singleton intervals +***** assert (isequal (abs (infsupdec (1)), infsupdec (1))); +***** assert (isequal (abs (infsupdec (0)), infsupdec (0))); +***** assert (isequal (abs (infsupdec (-1)), infsupdec (1))); +***** assert (isequal (abs (infsupdec (realmax)), infsupdec (realmax))); +***** assert (isequal (abs (infsupdec (realmin)), infsupdec (realmin))); +***** assert (isequal (abs (infsupdec (-realmin)), infsupdec (realmin))); +***** assert (isequal (abs (infsupdec (-realmax)), infsupdec (realmax))); +***** # Bounded intervals +***** assert (isequal (abs (infsupdec (1, 2)), infsupdec (1, 2))); +***** assert (isequal (abs (infsupdec (0, 1)), infsupdec (0, 1))); +***** assert (isequal (abs (infsupdec (-1, 1)), infsupdec (0, 1))); +***** assert (isequal (abs (infsupdec (-1, 0)), infsupdec (0, 1))); +***** assert (isequal (abs (infsupdec (-2, -1)), infsupdec (1, 2))); +***** # Unbounded intervals +***** assert (isequal (abs (infsupdec (0, inf)), infsupdec (0, inf))); +***** assert (isequal (abs (infsupdec (-inf, inf)), infsupdec (0, inf))); +***** assert (isequal (abs (infsupdec (-inf, 0)), infsupdec (0, inf))); +***** assert (isequal (abs (infsupdec (1, inf)), infsupdec (1, inf))); +***** assert (isequal (abs (infsupdec (-1, inf)), infsupdec (0, inf))); +***** assert (isequal (abs (infsupdec (-inf, -1)), infsupdec (1, inf))); +***** assert (isequal (abs (infsupdec (-inf, 1)), infsupdec (0, inf))); ***** # from the documentation string -***** assert (cosh (infsup (1)) == "[0x1.8B07551D9F55, 0x1.8B07551D9F551]"); +***** assert (isequal (abs (infsupdec (2.5, 3.5)), infsupdec (2.5, 3.5))); +***** assert (isequal (abs (infsupdec (-0.5, 5.5)), infsupdec (0, 5.5))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cosh; + testcases = testdata.NoSignal.infsupdec.abs; for testcase = [testcases]' assert (isequaln (... - cosh (testcase.in{1}), ... + abs (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cosh; + testcases = testdata.NoSignal.infsupdec.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cosh (in1), out)); + assert (isequaln (abs (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosh; + testcases = testdata.NoSignal.infsup.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12625,42 +12456,32 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cosh (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/reshape.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/reshape.m -***** assert (reshape (infsup (1 : 6), 2, 3) == infsup (reshape (1 : 6, 2, 3))); -***** assert (reshape (infsup (1 : 24), 2, [], 4) == infsup (reshape (1 : 24, 2, 3, 4))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/cosrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cosrev.m + assert (isequaln (abs (in1), out)); +25 tests, 25 passed, 0 known failure, 0 skipped +[inst/@infsupdec/tanrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tanrev.m ***** # from the documentation string -***** assert (cosrev (0, infsup (6, 9)) == "[0x1.F6A7A2955385Ep2, 0x1.F6A7A2955386p2]"); -***** # correct use of signed zeros -***** test - x = cosrev (infsup (1), infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (tanrev (infsupdec (0), infsupdec (2, 4)), infsupdec ("pi", "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cosRev; + testcases = testdata.NoSignal.infsupdec.tanRev; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}), ... + tanrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cosRev; + testcases = testdata.NoSignal.infsupdec.tanRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1), out)); + assert (isequaln (tanrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosRev; + testcases = testdata.NoSignal.infsupdec.tanRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12671,25 +12492,25 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cosrev (in1), out)); + assert (isequaln (tanrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cosRevBin; + testcases = testdata.NoSignal.infsupdec.tanRevBin; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}, testcase.in{2}), ... + tanrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cosRevBin; + testcases = testdata.NoSignal.infsupdec.tanRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1, in2), out)); + assert (isequaln (tanrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosRevBin; + testcases = testdata.NoSignal.infsupdec.tanRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -12702,32 +12523,32 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cosrev (in1, in2), out)); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/cot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cot.m -***** # from the documentation string -***** assert (cot (infsup (1)) == "[0x1.48C05D04E1CFDp-1, 0x1.48C05D04E1CFEp-1]"); + assert (isequaln (tanrev (in1, in2), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/isempty.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/isempty.m +***** assert (isempty (infsupdec ())); +***** assert (not (isempty (infsupdec (1, 2)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cot; + testcases = testdata.NoSignal.infsupdec.isEmpty; for testcase = [testcases]' assert (isequaln (... - cot (testcase.in{1}), ... + isempty (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cot; + testcases = testdata.NoSignal.infsupdec.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cot (in1), out)); + assert (isequaln (isempty (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cot; + testcases = testdata.NoSignal.infsup.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12738,33 +12559,34 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cot (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/wid.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/wid.m -***** # from the documentation string -***** assert (wid (infsup (2.5, 3.5)), 1); + assert (isequaln (isempty (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/interior.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/interior.m +***** assert (interior (infsupdec (1, 2), infsupdec (0, 3))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.wid; + testcases = testdata.NoSignal.infsupdec.interior; for testcase = [testcases]' assert (isequaln (... - wid (testcase.in{1}), ... + interior (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.wid; + testcases = testdata.NoSignal.infsupdec.interior; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (wid (in1), out)); + assert (isequaln (interior (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.wid; + testcases = testdata.NoSignal.infsupdec.interior; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12773,25 +12595,37 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (wid (in1), out)); + assert (isequaln (interior (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/sign.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sign.m +***** # from the documentation string +***** assert (isequal (sign (infsupdec (2, 3)), infsupdec (1))); +***** assert (isequal (sign (infsupdec (0)), infsupdec (0, "dac"))); +***** assert (isequal (sign (infsupdec (0, 5)), infsupdec (0, 1, "def"))); +***** assert (isequal (sign (infsupdec (-17)), infsupdec (-1))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.wid; + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.sign; for testcase = [testcases]' assert (isequaln (... - wid (testcase.in{1}), ... + sign (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.wid; + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (wid (in1), out)); + assert (isequaln (sign (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.wid; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12802,33 +12636,32 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (wid (in1), out)); + assert (isequaln (sign (in1), out)); 7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/pown.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pown.m +[inst/@infsupdec/atan.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan.m ***** # from the documentation string -***** assert (pown (infsup (5, 6), 2) == infsup (25, 36)); -***** assert (pown (infsup (-2, 1), 2) == infsup (0, 4)); +***** assert (isequal (atan (infsupdec (1)), infsupdec ("[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-1]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsupdec.atan; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, 2), ... + atan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsupdec.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, 2), out)); + assert (isequaln (atan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsup.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12839,27 +12672,33 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pown (in1, 2), out)); + assert (isequaln (atan (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/power.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/power.m +***** # from the documentation string +***** assert (isequal (infsupdec (-5, 6) .^ infsupdec (2, 3), infsupdec (-125, 216, "trv"))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.pown; + testcases = testdata.NoSignal.infsupdec.sqr; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, testcase.in{2}), ... + power (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pown; + testcases = testdata.NoSignal.infsupdec.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, in2), out)); + assert (isequaln (power (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pown; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12868,125 +12707,305 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pown (in1, in2), out)); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/ctranspose.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ctranspose.m -***** assert (ctranspose (infsup (magic (3))) == infsup (magic (3)')); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/log1p.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log1p.m + assert (isequaln (power (in1, 2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/dot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/dot.m +***** # matrix × matrix +***** assert (isequal (dot (infsupdec (magic (3)), magic (3)), infsupdec([89, 107, 89]))); +***** assert (isequal (dot (infsupdec (magic (3)), magic (3), 1), infsupdec([89, 107, 89]))); +***** assert (isequal (dot (infsupdec (magic (3)), magic (3), 2), infsupdec([101; 83; 101]))); +***** # matrix × vector +***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3]), infsupdec([28; 34; 28]))); +***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3], 1), infsupdec([15, 30, 45]))); +***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3], 2), infsupdec([28; 34; 28]))); +***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3]), infsupdec([26, 38, 26]))); +***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3], 1), infsupdec([26, 38, 26]))); +***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3], 2), infsupdec([15; 30; 45]))); +***** # matrix × scalar +***** assert (isequal (dot (infsupdec (magic (3)), 42), infsupdec([630, 630, 630]))); +***** assert (isequal (dot (infsupdec (magic (3)), 42, 1), infsupdec([630, 630, 630]))); +***** assert (isequal (dot (infsupdec (magic (3)), 42, 2), infsupdec([630; 630; 630]))); +***** # vector x vector +***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6]), infsupdec(32))); +***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6], 1), infsupdec([4, 10, 18]))); +***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6], 2), infsupdec(32))); +***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6]), infsupdec(32))); +***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6], 1), infsupdec(32))); +***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6], 2), infsupdec([4; 10; 18]))); +***** # vector × scalar +***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42), infsupdec(252))); +***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42, 1), infsupdec([42, 84, 126]))); +***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42, 2), infsupdec(252))); +***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42), infsupdec(252))); +***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42, 1), infsupdec(252))); +***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42, 2), infsupdec([42; 84; 126]))); +***** # empty matrix x empty matrix +***** assert (isequal (dot (infsupdec (ones (0, 2)), infsupdec (ones (0, 2))), infsupdec ([0, 0]))); +***** # N-dimensional arrays +***** test + x = infsupdec (reshape (1:24, 2, 3, 4)); + y = infsupdec (2.*ones (2, 3, 4)); + assert (isequal (dot (x, y, 3), infsupdec ([80, 96, 112; 88, 104, 120]))) +***** test + x = infsupdec (ones (2, 2, 2, 2)); + y = infsupdec (1); + assert (size (dot (x, y)), [1, 2, 2, 2]); + assert (size (dot (x, y, 1)), [1, 2, 2, 2]); + assert (size (dot (x, y, 2)), [2, 1, 2, 2]); + assert (size (dot (x, y, 3)), [2, 2, 1, 2]); + assert (size (dot (x, y, 4)), [2, 2, 2]); + assert (size (dot (x, y, 5)), [2, 2, 2, 2]); ***** # from the documentation string -***** assert (log1p (infsup (eps)) == "[0x1.FFFFFFFFFFFFFp-53, 0x1p-52]"); -***** # correct use of signed zeros +***** assert (isequal (dot ([infsupdec(1), 2, 3], [infsupdec(2), 3, 4]), infsupdec (20))); +***** assert (isequal (dot (infsupdec ([realmax; realmin; realmax]), [1; -1; -1], 1), infsupdec (-realmin))); +29 tests, 29 passed, 0 known failure, 0 skipped +[inst/@infsupdec/infsupdec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/infsupdec.m +***** # [NaI]s +***** assert (isnai (infsupdec ("[nai]"))); # quiet [NaI] +***** assert (isnai (infsupdec (" [ nai ] "))); # quiet [NaI] +***** assert (isnai (infsupdec ({0, "[nai]"})), [false, true]); # quiet [NaI] +***** warning id=interval:UndefinedOperation + assert (isnai (infsupdec (3, 2))); # illegal boundaries +***** warning id=interval:UndefinedOperation + assert (isnai (infsupdec (inf, -inf))); # illegal boundaries +***** warning id=interval:UndefinedOperation + assert (isnai (infsupdec ("Flugeldufel"))); # illegal literal +***** warning id=interval:UndefinedOperation + assert (isnai (infsupdec ("[1, Inf]_com"))); # illegal decorated literal +***** warning id=interval:UndefinedOperation + assert (isnai (infsupdec ("[Empty]_def"))); # illegal decorated literal +***** # decoration adjustments, setDec function ***** test - x = log1p (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + x = infsupdec (42, inf, "com"); + assert (inf (x), 42); + assert (sup (x), inf); + assert (decorationpart (x), {"dac"}); +***** test + x = infsupdec (-inf, inf, {"com"}); + assert (inf (x), -inf); + assert (sup (x), inf); + assert (decorationpart (x), {"dac"}); +***** test + x = infsupdec ("def"); + assert (inf (x), inf); + assert (sup (x), -inf); + assert (decorationpart (x), {"trv"}); +***** # overflow +***** test + x = infsupdec ("[1, 1e999]_com"); + assert (inf (x), 1); + assert (sup (x), inf); + assert (decorationpart (x), {"dac"}); +***** # decorated interval literal +***** test + x = infsupdec ("[2, 3]_def"); + assert (inf (x), 2); + assert (sup (x), 3); + assert (decorationpart (x), {"def"}); +***** test + x = infsupdec ("[1, 5]_dac"); + assert (inf (x), 1); + assert (sup (x), 5); + assert (decorationpart (x), {"dac"}); +***** test + x = infsupdec ("[1, Infinity]_dac"); + assert (inf (x), 1); + assert (sup (x), inf); + assert (decorationpart (x), {"dac"}); +***** test + x = infsupdec ("[Empty]_trv"); + assert (inf (x), inf); + assert (sup (x), -inf); + assert (decorationpart (x), {"trv"}); +***** # automatic decoration / undecorated interval literal / newDec function +***** test + x = infsupdec ("[2, 3]"); + assert (inf (x), 2); + assert (sup (x), 3); + assert (decorationpart (x), {"com"}); +***** test + x = infsupdec ("[Empty]"); + assert (inf (x), inf); + assert (sup (x), -inf); + assert (decorationpart (x), {"trv"}); +***** test + x = infsupdec ("[Entire]"); + assert (inf (x), -inf); + assert (sup (x), inf); + assert (decorationpart (x), {"dac"}); +***** test + x = infsupdec (""); + assert (inf (x), -inf); + assert (sup (x), inf); + assert (decorationpart (x), {"dac"}); +***** # separate decoration information +***** test + x = infsupdec ("[2, 3]", "def"); + assert (inf (x), 2); + assert (sup (x), 3); + assert (decorationpart (x), {"def"}); +***** # cell array with decorated interval literals +***** test + x = infsupdec ({"[2, 3]_def", "[4, 5]_dac"}); + assert (inf (x), [2, 4]); + assert (sup (x), [3, 5]); + assert (decorationpart (x), {"def", "dac"}); +***** #cell array with separate decoration cell array +***** test + x = infsupdec ({"[2, 3]", "[4, 5]"}, {"def", "dac"}); + assert (inf (x), [2, 4]); + assert (sup (x), [3, 5]); + assert (decorationpart (x), {"def", "dac"}); +***** # cell array with separate decoration vector +***** test + x = infsupdec ({"[2, 3]"; "[4, 5]"}, ["def"; "dac"]); + assert (inf (x), [2; 4]); + assert (sup (x), [3; 5]); + assert (decorationpart (x), {"def"; "dac"}); +***** # cell array with broadcasting decoration +***** test + x = infsupdec ({"[2, 3]", "[4, 5]"}, "def"); + assert (inf (x), [2, 4]); + assert (sup (x), [3, 5]); + assert (decorationpart (x), {"def", "def"}); +***** test + x = infsupdec ({"[2, 3]", "[4, 5]"}, "def; dac"); + assert (inf (x), [2, 4; 2, 4]); + assert (sup (x), [3, 5; 3, 5]); + assert (decorationpart (x), {"def", "def"; "dac", "dac"}); +***** # separate boundaries with decoration +***** test + x = infsupdec (2, 3, "def"); + assert (inf (x), 2); + assert (sup (x), 3); + assert (decorationpart (x), {"def"}); +***** # matrix boundaries with decoration +***** test + x = infsupdec ([3, 16], {"def", "trv"}); + assert (inf (x), [3, 16]); + assert (sup (x), [3, 16]); + assert (decorationpart (x), {"def", "trv"}); +***** # separate matrix boundaries with broadcasting decoration +***** test + x = infsupdec (magic (3), magic (3) + 1, "def"); + assert (inf (x), magic (3)); + assert (sup (x), magic (3) + 1); + assert (decorationpart (x), {"def", "def", "def"; "def", "def", "def"; "def", "def", "def"}); +***** # N-dimensional arrays +***** test + x = infsupdec (zeros (2, 2, 2)); + assert (inf (x), zeros (2, 2, 2)); + assert (sup (x), zeros (2, 2, 2)); + assert (decorationpart (x), repmat ({"com"}, [2, 2, 2])); +***** test + x = infsupdec (zeros (2, 2, 2), ones (2, 2, 2), repmat ({"trv"}, [2, 2, 2])); + assert (inf (x), zeros (2, 2, 2)); + assert (sup (x), ones (2, 2, 2)); + assert (decorationpart (x), repmat ({"trv"}, [2, 2, 2])); +***** test + x = infsupdec (zeros (1, 1, 2), ones (1, 2, 1), {"trv"; "trv"}); + assert (inf (x), zeros (2, 2, 2)); + assert (sup (x), ones (2, 2, 2)); + assert (decorationpart (x), repmat ({"trv"}, [2, 2, 2])); +***** test + c1 = reshape ({1, 2, 3, 4, 5, 6, 7, 8}, 2, 2, 2); + c2 = reshape ({2, 3, 4, 5, 6, 7, 8, 9}, 2, 2, 2); + decpart = reshape ({"trv", "def", "dac", "com", "trv", "def", "dac", "com"}, 2, 2, 2); + x = infsupdec (c1, c2, decpart); + assert (inf (x), reshape (1:8, 2, 2, 2)); + assert (sup (x), reshape (2:9, 2, 2, 2)); + assert (decorationpart (x), decpart) ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.logp1; + testcases = testdata.NoSignal.infsup.setDec; for testcase = [testcases]' assert (isequaln (... - log1p (testcase.in{1}), ... + infsupdec (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.logp1; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (log1p (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.logp1; + testcases = testdata.NoSignal.infsup.setDec; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - # Reshape data - i = -1; - do - i = i + 1; - testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) - in1 = reshape ([in1; in1(1:i)], testsize); - out = reshape ([out; out(1:i)], testsize); - assert (isequaln (log1p (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/numel.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/numel.m -***** assert (numel (infsup ([])), 0); -***** assert (numel (infsup (0)), 1); -***** assert (numel (infsup (zeros (3, 1))), 3); -***** assert (numel (infsup (zeros (1, 4))), 4); -***** assert (numel (infsup (zeros (3, 4))), 12); -***** assert (numel (infsup (ones (2, 3)), 3:5), 3); -***** assert (numel (infsup (ones (2, 3)), ":", 2), 2); -***** assert (numel (infsup (ones (2, 3)), 2, ":"), 3); -***** # numel is called implicitly during this subsref expression (see bug #53375) -***** assert (infsup ()(:).inf, inf); -***** error numel (1, infsup(1)); -10 tests, 10 passed, 0 known failure, 0 skipped -[inst/@infsup/isentire.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isentire.m -***** assert (isentire (entire ())); -***** assert (isentire (intervalpart (entire ()))); -***** assert (not (isentire (empty ()))); -***** assert (not (isentire (intervalpart (empty ())))); -***** warning assert (not (isentire (infsupdec (2, 1)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (infsupdec (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.isEntire; + testcases = testdata.NoSignal.infsupdec.("d-numsToInterval"); for testcase = [testcases]' assert (isequaln (... - isentire (testcase.in{1}), ... + infsupdec (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isEntire; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (isentire (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEntire; + testcases = testdata.NoSignal.infsupdec.("d-numsToInterval"); in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - # Reshape data - i = -1; - do - i = i + 1; - testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) - in1 = reshape ([in1; in1(1:i)], testsize); - out = reshape ([out; out(1:i)], testsize); - assert (isequaln (isentire (in1), out)); + assert (isequaln (infsupdec (in1, in2), out)); ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isEntire; + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.("d-textToInterval"); for testcase = [testcases]' assert (isequaln (... - isentire (testcase.in{1}), ... + infsupdec (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isEntire; - in1 = vertcat (vertcat (testcases.in){:, 1}); + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.("d-textToInterval"); + in1 = vertcat (testcases.in); out = vertcat (testcases.out); - assert (isequaln (isentire (in1), out)); + assert (isequaln (infsupdec (in1), out)); +***** warning + testcases = testdata.PossiblyUndefinedOperation.infsupdec.("d-textToInterval"); + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + infsupdec (testcase.in{1}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:PossiblyUndefinedOperation"); + endfor +***** warning + testcases = testdata.UndefinedOperation.infsupdec.("d-textToInterval"); + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + infsupdec (testcase.in{1}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); + endfor +***** warning + testcases = testdata.UndefinedOperation.infsupdec.("d-numsToInterval"); + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + infsupdec (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); + endfor +***** warning + testcases = testdata.UndefinedOperation.infsup.setDec; + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + infsupdec (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); + endfor ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEntire; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.("d-numsToInterval"); in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12995,109 +13014,128 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (isentire (in1), out)); -11 tests, 11 passed, 0 known failure, 0 skipped -[inst/@infsup/rem.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rem.m -***** assert (rem (infsup (), infsup ()) == infsup ()); -***** assert (rem (infsup (0), infsup ()) == infsup ()); -***** assert (rem (infsup (), infsup (0)) == infsup ()); -***** assert (rem (infsup (0), infsup (0)) == infsup ()); -***** assert (rem (infsup (1), infsup (0)) == infsup ()); -***** assert (rem (infsup (0, 1), infsup (0)) == infsup ()); -***** assert (rem (infsup (1, 2), infsup (0)) == infsup ()); -***** assert (rem (infsup (0, inf), infsup (0)) == infsup ()); -***** assert (rem (infsup (1, inf), infsup (0)) == infsup ()); -***** assert (rem (infsup (realmax, inf), infsup (0)) == infsup ()); -***** assert (rem (infsup (0), infsup (1)) == infsup (0)); -***** assert (rem (infsup (0), infsup (0, 1)) == infsup (0)); -***** assert (rem (infsup (0), infsup (1, 2)) == infsup (0)); -***** assert (rem (infsup (0), infsup (0, inf)) == infsup (0)); -***** assert (rem (infsup (0), infsup (1, inf)) == infsup (0)); -***** assert (rem (infsup (0), infsup (realmax, inf)) == infsup (0)); -***** assert (rem (infsup (1), infsup (1)) == infsup (0)); -***** assert (rem (infsup (2), infsup (1)) == infsup (0)); -***** assert (rem (infsup (4), infsup (2)) == infsup (0)); -***** assert (rem (infsup (6), infsup (3)) == infsup (0)); -***** assert (rem (infsup (8), infsup (2)) == infsup (0)); -***** assert (rem (infsup (9), infsup (3)) == infsup (0)); -***** assert (rem (infsup (realmax), infsup (realmax)) == infsup (0)); -***** assert (rem (infsup (realmax), infsup (realmax / 2)) == infsup (0)); -***** assert (rem (infsup (realmax), infsup (realmax / 4)) == infsup (0)); -***** assert (rem (infsup (realmax), infsup (realmax / 8)) == infsup (0)); -***** assert (rem (infsup (realmax), infsup (realmax / 16)) == infsup (0)); -***** assert (rem (infsup (realmax), infsup (realmax / 32)) == infsup (0)); -***** assert (rem (infsup (0.1), infsup (0.1)) == infsup (0)); -***** assert (rem (infsup (0.1 * 2), infsup (0.1)) == infsup (0)); -***** assert (rem (infsup (0.1 * 4), infsup (0.1)) == infsup (0)); -***** assert (rem (infsup (pi), infsup (pi)) == infsup (0)); -***** assert (rem (infsup (pi), infsup (pi / 2)) == infsup (0)); -***** assert (rem (infsup (pi), infsup (pi / 4)) == infsup (0)); -***** assert (rem (infsup (pow2 (-1074)), infsup (pow2 (-1074))) == infsup (0)); -***** assert (rem (infsup (pow2 (-1073)), infsup (pow2 (-1074))) == infsup (0)); -***** assert (rem (infsup (pow2 (-1072)), infsup (pow2 (-1074))) == infsup (0)); -***** assert (rem (infsup (1), infsup (2)) == infsup (1)); -***** assert (rem (infsup (0.5), infsup (1)) == infsup (0.5)); -***** assert (rem (infsup (pi), infsup (3.15)) == infsup (pi)); -***** assert (rem (infsup (1), infsup (2, 3)) == infsup (1)); -***** assert (rem (infsup (1), infsup (2, inf)) == infsup (1)); -***** assert (rem (infsup (0.5), infsup (1, 2)) == infsup (0.5)); -***** assert (rem (infsup (0.5), infsup (1, inf)) == infsup (0.5)); -***** assert (rem (infsup (pi), infsup (3.15)) == infsup (pi)); -***** assert (rem (infsup (pi), infsup (3.15, inf)) == infsup (pi)); -***** assert (rem (infsup (0, 1), infsup (0, 1)) == infsup (0, 1)); -***** assert (rem (infsup (0, 2), infsup (0, 1)) == infsup (0, 1)); -***** assert (rem (infsup (0, 1), infsup (0, 2)) == infsup (0, 1)); -***** assert (rem (infsup (0, realmax), infsup (0, realmax)) == infsup (0, realmax)); -***** assert (rem (infsup (realmax, inf), infsup (realmax, inf)) == infsup (0, inf)); -***** assert (rem (infsup (0, inf), infsup (0, inf)) == infsup (0, inf)); -***** assert (rem (infsup (0), infsup (1)) == infsup (0)); -***** assert (rem (infsup (1), infsup (1)) == infsup (0)); -***** assert (rem (infsup (0, 1), infsup (1)) == infsup (0, 1)); -***** assert (rem (infsup (1, 2), infsup (1)) == infsup (0, 1)); -***** assert (rem (infsup (0, inf), infsup (1)) == infsup (0, 1)); -***** assert (rem (infsup (1, inf), infsup (1)) == infsup (0, 1)); -***** assert (rem (infsup (realmax, inf), infsup (1)) == infsup (0, 1)); -***** assert (rem (infsup (1), infsup (1)) == infsup (0)); -***** assert (rem (infsup (1), infsup (0, 1)) == infsup (0, 0.5)); -***** assert (rem (infsup (1), infsup (1, 2)) == infsup (0, 1)); -***** assert (rem (infsup (1), infsup (0, inf)) == infsup (0, 1)); -***** assert (rem (infsup (1), infsup (1, inf)) == infsup (0, 1)); -***** assert (rem (infsup (1), infsup (2, inf)) == infsup (1)); -***** assert (rem (infsup (1), infsup (realmax, inf)) == infsup (1)); + assert (isequaln (infsupdec (in1, in2), out)); +44 tests, 44 passed, 0 known failure, 0 skipped +[inst/@infsupdec/rem.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rem.m +***** assert (isequal (rem (infsupdec (), infsupdec ()), infsupdec ())); +***** assert (isequal (rem (infsupdec (0), infsupdec ()), infsupdec ())); +***** assert (isequal (rem (infsupdec (), infsupdec (0)), infsupdec ())); +***** assert (isequal (rem (infsupdec (0), infsupdec (0)), infsupdec ())); +***** assert (isequal (rem (infsupdec (1), infsupdec (0)), infsupdec ())); +***** assert (isequal (rem (infsupdec (0, 1), infsupdec (0)), infsupdec ())); +***** assert (isequal (rem (infsupdec (1, 2), infsupdec (0)), infsupdec ())); +***** assert (isequal (rem (infsupdec (0, inf), infsupdec (0)), infsupdec ())); +***** assert (isequal (rem (infsupdec (1, inf), infsupdec (0)), infsupdec ())); +***** assert (isequal (rem (infsupdec (realmax, inf), infsupdec (0)), infsupdec ())); +***** assert (isequal (rem (infsupdec (0), infsupdec (1)), infsupdec (0))); +***** assert (isequal (rem (infsupdec (0), infsupdec (0, 1)), infsupdec (0, "trv"))); +***** assert (isequal (rem (infsupdec (0), infsupdec (1, 2)), infsupdec (0))); +***** assert (isequal (rem (infsupdec (0), infsupdec (0, inf)), infsupdec (0, "trv"))); +***** assert (isequal (rem (infsupdec (0), infsupdec (1, inf)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (0), infsupdec (realmax, inf)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (2), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (4), infsupdec (2)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (6), infsupdec (3)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (8), infsupdec (2)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (9), infsupdec (3)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (realmax), infsupdec (realmax)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (realmax), infsupdec (realmax / 2)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (realmax), infsupdec (realmax / 4)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (realmax), infsupdec (realmax / 8)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (realmax), infsupdec (realmax / 16)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (realmax), infsupdec (realmax / 32)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (0.1), infsupdec (0.1)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (0.1 * 2), infsupdec (0.1)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (0.1 * 4), infsupdec (0.1)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (pi), infsupdec (pi)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (pi), infsupdec (pi / 2)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (pi), infsupdec (pi / 4)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (pow2 (-1074)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (pow2 (-1073)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (pow2 (-1072)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (1), infsupdec (2)), infsupdec (1))); +***** assert (isequal (rem (infsupdec (0.5), infsupdec (1)), infsupdec (0.5))); +***** assert (isequal (rem (infsupdec (pi), infsupdec (3.15)), infsupdec (pi))); +***** assert (isequal (rem (infsupdec (1), infsupdec (2, 3)), infsupdec (1))); +***** assert (isequal (rem (infsupdec (1), infsupdec (2, inf)), infsupdec (1, "dac"))); +***** assert (isequal (rem (infsupdec (0.5), infsupdec (1, 2)), infsupdec (0.5))); +***** assert (isequal (rem (infsupdec (0.5), infsupdec (1, inf)), infsupdec (0.5, "dac"))); +***** assert (isequal (rem (infsupdec (pi), infsupdec (3.15)), infsupdec (pi))); +***** assert (isequal (rem (infsupdec (pi), infsupdec (3.15, inf)), infsupdec (pi, "dac"))); +***** assert (isequal (rem (infsupdec (0, 1), infsupdec (0, 1)), infsupdec (0, 1, "trv"))); +***** assert (isequal (rem (infsupdec (0, 2), infsupdec (0, 1)), infsupdec (0, 1, "trv"))); +***** assert (isequal (rem (infsupdec (0, 1), infsupdec (0, 2)), infsupdec (0, 1, "trv"))); +***** assert (isequal (rem (infsupdec (0, realmax), infsupdec (0, realmax)), infsupdec (0, realmax, "trv"))); +***** assert (isequal (rem (infsupdec (realmax, inf), infsupdec (realmax, inf)), infsupdec (0, inf, "def"))); +***** assert (isequal (rem (infsupdec (0, inf), infsupdec (0, inf)), infsupdec (0, inf, "trv"))); +***** assert (isequal (rem (infsupdec (0), infsupdec (1)), infsupdec (0))); +***** assert (isequal (rem (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (0, 1), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (rem (infsupdec (1, 2), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (rem (infsupdec (0, inf), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (rem (infsupdec (1, inf), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (rem (infsupdec (realmax, inf), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (rem (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (rem (infsupdec (1), infsupdec (0, 1)), infsupdec (0, 0.5, "trv"))); +***** assert (isequal (rem (infsupdec (1), infsupdec (1, 2)), infsupdec (0, 1, "def"))); +***** assert (isequal (rem (infsupdec (1), infsupdec (0, inf)), infsupdec (0, 1, "trv"))); +***** assert (isequal (rem (infsupdec (1), infsupdec (1, inf)), infsupdec (0, 1, "def"))); +***** assert (isequal (rem (infsupdec (1), infsupdec (2, inf)), infsupdec (1, "dac"))); +***** assert (isequal (rem (infsupdec (1), infsupdec (realmax, inf)), infsupdec (1, "dac"))); 66 tests, 66 passed, 0 known failure, 0 skipped -[inst/@infsup/asin.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/asin.m -***** # Empty interval -***** assert (asin (infsup ()) == infsup ()); +[inst/@infsupdec/cbrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cbrt.m ***** # from the documentation string -***** assert (asin (infsup (.5)) == "[0x1.0C152382D7365p-1, 0x1.0C152382D7366p-1]"); -***** # correct use of signed zeros -***** test - x = asin (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (cbrt (infsupdec (-27, 27)), infsupdec (-3, 3))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/gamma.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gamma.m +***** # from the documentation string +***** assert (isequal (gamma (infsupdec (1.5)), infsupdec ("[0x1.C5BF891B4EF6Ap-1, 0x1.C5BF891B4EF6Bp-1]_com"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/rsqrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rsqrt.m +***** # from the documentation string +***** assert (isequal (rsqrt (infsupdec (-6, 4)), infsupdec (.5, inf, "trv"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/intervalpart.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/intervalpart.m +***** warning id=interval:IntvlPartOfNaI + assert (intervalpart (nai ()) == infsup ()); +***** assert (intervalpart (infsupdec (2, 3)) == infsup (2, 3)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsupdec.intervalPart; for testcase = [testcases]' assert (isequaln (... - asin (testcase.in{1}), ... + intervalpart (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsupdec.intervalPart; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (asin (in1), out)); + assert (isequaln (intervalpart (in1), out)); +***** warning + testcases = testdata.IntvlPartOfNaI.infsupdec.intervalPart; + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + intervalpart (testcase.in{1}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:IntvlPartOfNaI"); + endfor ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsupdec.intervalPart; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13108,50 +13146,33 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (asin (in1), out)); + assert (isequaln (intervalpart (in1), out)); 6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/gt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gt.m -***** assert (not (gt (infsup (2, 3), infsup (1, 3)))); -***** assert (gt (infsup (2, 3.1), infsup (1, 3))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/setdiff.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/setdiff.m -***** assert (isempty (setdiff (infsup (), infsup (1, 4)))); -***** assert (setdiff (infsup (1, 3), infsup ()) == infsup (1, 3)); -***** assert (isempty (setdiff (infsup (1, 3), infsup (-inf, inf)))); -***** assert (isempty (setdiff (infsup (1, 3), infsup (1, 4)))); -***** assert (setdiff (infsup (-inf, inf), infsup (1, 4)) == infsup (-inf, inf)); +[inst/@infsupdec/acos.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acos.m ***** # from the documentation string - assert (setdiff (infsup (1, 3), infsup (2, 4)) == infsup (1, 2)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/disjoint.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/disjoint.m -***** assert (disjoint (infsup (3, 4), infsup (5, 6))); -***** assert (not (disjoint (infsup (3, 4), infsup (4, 5)))); +***** assert (isequal (acos (infsupdec (.5)), infsupdec ("[0x1.0C152382D7365, 0x1.0C152382D7366]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.disjoint; + testcases = testdata.NoSignal.infsupdec.acos; for testcase = [testcases]' assert (isequaln (... - disjoint (testcase.in{1}, testcase.in{2}), ... + acos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.disjoint; + testcases = testdata.NoSignal.infsupdec.acos; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (disjoint (in1, in2), out)); + assert (isequaln (acos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.disjoint; + testcases = testdata.NoSignal.infsup.acos; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -13160,34 +13181,42 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (disjoint (in1, in2), out)); + assert (isequaln (acos (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/diag.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/diag.m +***** assert (diag (infsupdec (-inf, inf)) == "[Entire]"); +***** assert (diag (infsupdec ()) == "[Empty]"); +***** assert (numel (diag (infsupdec ([]))), 0); +***** assert (isequal (diag (infsupdec (magic (3))), infsupdec ([8; 5; 2]))); +***** assert (isequal (diag (infsupdec ([8 5 3])), infsupdec ([8 0 0; 0 5 0; 0 0 3]))); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/isempty.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isempty.m -***** assert (isempty (infsup ())); -***** assert (not (isempty (infsup (1, 2)))); +[inst/@infsupdec/fix.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/fix.m +***** # from the documentation string +***** assert (isequal (fix (infsupdec (2.5, 3.5)), infsupdec (2, 3, "def"))); +***** assert (isequal (fix (infsupdec (-0.5, 5)), infsupdec (0, 5, "def"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.isEmpty; + testcases = testdata.NoSignal.infsupdec.trunc; for testcase = [testcases]' assert (isequaln (... - isempty (testcase.in{1}), ... + fix (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isEmpty; + testcases = testdata.NoSignal.infsupdec.trunc; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (isempty (in1), out)); + assert (isequaln (fix (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEmpty; + testcases = testdata.NoSignal.infsupdec.trunc; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13198,160 +13227,57 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (isempty (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/isvector.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isvector.m -***** assert (not (isvector (infsup ([])))); -***** assert (isvector (infsup (0))); -***** assert (isvector (infsup (zeros (1, 2)))); -***** assert (isvector (infsup (zeros (2, 1)))); -***** assert (not (isvector (infsup (zeros (5))))); + assert (isequaln (fix (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/bisect.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/bisect.m -***** test - # from the documentation string - [a, b] = bisect (infsup (2, 32)); - assert (a == infsup (2, 8)); - assert (b == infsup (8, 32)); -***** test - [a, b] = bisect (infsup (-inf, inf)); - assert (a == infsup (-inf, 0)); - assert (b == infsup (0, inf)); -***** test - [a, b] = bisect (infsup (0)); - assert (a == 0); - assert (b == 0); -***** test - [a, b] = bisect (infsup ()); - assert (isempty (a)); - assert (isempty (b)); -***** test - [a, b] = bisect (infsup (0, inf)); - assert (a == infsup (0, pow2 (-25))); - assert (b == infsup (pow2 (-25), inf)); -***** test - [a, b] = bisect (infsup (-inf, 0)); - assert (a == infsup (-inf, -pow2 (-25))); - assert (b == infsup (-pow2 (-25), 0)); -***** # correct use of signed zeros -***** test - [a, b] = bisect (infsup (0)); - assert (signbit (inf (a))); - assert (signbit (inf (b))); - assert (not (signbit (sup (a)))); - assert (not (signbit (sup (b)))); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/sqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sqrt.m +[inst/@infsupdec/det.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/det.m ***** # from the documentation string -***** assert (sqrt (infsup (-6, 4)) == infsup (0, 2)); +***** assert (det (infsupdec (magic (3))) == -360); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/inf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/inf.m -***** # from the documentation string -***** assert (inf (infsup (2.5, 3.5)), 2.5); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); +[inst/@infsupdec/mulrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mulrev.m +***** # IEEE Std 1788-2015 mulRevToPair examples ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.inf; - for testcase = [testcases]' - assert (isequaln (... - inf (testcase.in{1}), ... - testcase.out)); - endfor + [u, v] = mulrev (infsupdec (0), infsupdec (1, 2)); + assert (isempty (u) & isempty (v)); ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.inf; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (inf (in1), out)); + [u, v] = mulrev (infsupdec (0), infsupdec (0, 1)); + assert (isentire (u) & isempty (v)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.inf; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - # Reshape data - i = -1; - do - i = i + 1; - testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) - in1 = reshape ([in1; in1(1:i)], testsize); - out = reshape ([out; out(1:i)], testsize); - assert (isequaln (inf (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/bitunpack.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/bitunpack.m -***** test; - littleendian = bitunpack (uint16 (1))(1); - b = zeros (1, 128); - if (littleendian) - b([52, 63, 117, 127]) = 1; - else - b([7, 12, 71, 77]) = 1; - endif - assert (bitunpack (infsup (3, 4)), logical (b)); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/abs.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/abs.m -***** # Empty interval -***** assert (abs (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (abs (infsup (1)) == infsup (1)); -***** assert (abs (infsup (0)) == infsup (0)); -***** assert (abs (infsup (-1)) == infsup (1)); -***** assert (abs (infsup (realmax)) == infsup (realmax)); -***** assert (abs (infsup (realmin)) == infsup (realmin)); -***** assert (abs (infsup (-realmin)) == infsup (realmin)); -***** assert (abs (infsup (-realmax)) == infsup (realmax)); -***** # Bounded intervals -***** assert (abs (infsup (1, 2)) == infsup (1, 2)); -***** assert (abs (infsup (0, 1)) == infsup (0, 1)); -***** assert (abs (infsup (-1, 1)) == infsup (0, 1)); -***** assert (abs (infsup (-1, 0)) == infsup (0, 1)); -***** assert (abs (infsup (-2, -1)) == infsup (1, 2)); -***** # Unbounded intervals -***** assert (abs (infsup (0, inf)) == infsup (0, inf)); -***** assert (abs (infsup (-inf, inf)) == infsup (0, inf)); -***** assert (abs (infsup (-inf, 0)) == infsup (0, inf)); -***** assert (abs (infsup (1, inf)) == infsup (1, inf)); -***** assert (abs (infsup (-1, inf)) == infsup (0, inf)); -***** assert (abs (infsup (-inf, -1)) == infsup (1, inf)); -***** assert (abs (infsup (-inf, 1)) == infsup (0, inf)); -***** # from the documentation string -***** assert (abs (infsup (2.5, 3.5)) == infsup (2.5, 3.5)); -***** assert (abs (infsup (-0.5, 5.5)) == infsup (0, 5.5)); -***** # correct use of signed zeros -***** assert (signbit (inf (abs (infsup (-1, 0))))); + [u, v] = mulrev (infsupdec (1), infsupdec (1, 2)); + assert (isequal (u, infsupdec (1, 2)) & isempty (v)); ***** test - x = abs (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + [u, v] = mulrev (infsupdec (1, inf), infsupdec (1)); + assert (isequal (u, infsupdec (0, 1, "dac")) & isempty (v)); +***** test + [u, v] = mulrev (infsupdec (-1, 1), infsupdec (1, 2)); + assert (isequal (u, infsupdec (-inf, -1, "trv")) & isequal (v, infsupdec (1, inf, "trv"))); +***** test + [u, v] = mulrev (infsupdec (-inf, inf), infsupdec (1)); + assert (isequal (u, infsupdec (-inf, 0, "trv")) & isequal (v, infsupdec (0, inf, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsupdec.mulRevToPair1; for testcase = [testcases]' assert (isequaln (... - abs (testcase.in{1}), ... + nthargout (1, 2, @mulrev, testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsupdec.mulRevToPair1; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (abs (in1), out)); + assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsupdec.mulRevToPair1; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -13360,39 +13286,29 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (abs (in1), out)); -27 tests, 27 passed, 0 known failure, 0 skipped -[inst/@infsup/atanh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atanh.m -***** # from the documentation string -***** assert (atanh (infsup (.5)) == "[0x1.193EA7AAD030Ap-1, 0x1.193EA7AAD030Bp-1]"); -***** # correct use of signed zeros -***** test - x = atanh (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsupdec.mulRevToPair2; for testcase = [testcases]' assert (isequaln (... - atanh (testcase.in{1}), ... + nthargout (2, @mulrev, testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsupdec.mulRevToPair2; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (atanh (in1), out)); + assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsupdec.mulRevToPair2; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -13401,79 +13317,29 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atanh (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/mince.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mince.m -***** assert (isequal (mince (infsup (0, 10), 10), infsup (0 : 9, 1 : 10))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/inv.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/inv.m -***** # from the wiki -***** test - A = infsup ([1, 2, 3; 4, 0, 0; 0, 0, 1]); - A (2, 3) = "[0, 6]"; - B = inv (A); - assert (inf (B) == [0, .25, -1.5; .5, -.125, -1.5; 0, 0, 1]); - assert (sup (B) == [0, .25, 0; .5, -.125, -.75; 0, 0, 1]); -***** # from the documentation string -***** assert (inv (infsup ([2, 1, 1; 0, 1, 0; 1, 0, 0])) == [0, 0, 1; 0, 1, 0; 1, -1, -2]); -***** assert (inv (infsup ([1, 2, 3; 4, 0, 6; 0, 0, 1])) == [0, .25, -1.5; .5, -.125, -.75; 0, 0, 1]); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/psi.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/psi.m -***** assert (isempty (psi (infsup (0)))); -***** assert (isempty (psi (infsup (-1)))); -***** assert (isempty (psi (infsup (-2)))); -***** assert (isempty (psi (infsup (-3)))); -***** assert (isentire (psi (infsup (-inf, -42.23)))); -***** assert (isentire (psi (infsup (0, inf)))); -***** assert (isentire (psi (infsup (-1, 0)))); -***** assert (isentire (psi (infsup (-2, -1)))); -***** assert (isentire (psi (infsup (-eps, eps)))); -***** assert (isentire (psi (infsup (-1-eps, -1+eps)))); -***** assert (isentire (psi (infsup (-4.1, -3.9)))); -***** # from the documentation string -***** assert (psi (infsup (1)) == "[-0x1.2788CFC6FB619p-1, -0x1.2788CFC6FB618p-1]"); -12 tests, 12 passed, 0 known failure, 0 skipped -[inst/@infsup/hdist.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/hdist.m -***** # from the documentation string -***** assert (hdist (infsup (1, 6), infsup (2, 8)), 2); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/sign.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sign.m -***** # from the documentation string -***** assert (sign (infsup (2, 3)) == infsup (1)); -***** assert (sign (infsup (0, 5)) == infsup (0, 1)); -***** assert (sign (infsup (-17)) == infsup (-1)); -***** # correct use of signed zeros -***** test - x = sign (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sign; + testcases = testdata.NoSignal.infsupdec.mulRev; for testcase = [testcases]' assert (isequaln (... - sign (testcase.in{1}), ... + mulrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sign; + testcases = testdata.NoSignal.infsupdec.mulRev; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sign (in1), out)); + assert (isequaln (mulrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sign; + testcases = testdata.NoSignal.infsupdec.mulRev; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -13482,64 +13348,31 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sign (in1), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/factorial.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/factorial.m -***** # from the documentation string -***** assert (factorial (infsup (6)) == 720); -***** assert (factorial (infsup (0)) == 1); -***** assert (factorial (infsup ("[0, 1.99]")) == 1); -***** assert (factorial (infsup ("[0, 2]")) == "[1, 2]"); -***** assert (factorial (infsup ("[1.4, 1.6]")) == "[Empty]"); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/ndims.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ndims.m -***** assert (ndims (infsup ([])), 2); -***** assert (ndims (infsup (0)), 2); -***** assert (ndims (infsup (magic (3))), 2); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/iscolumn.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/iscolumn.m -***** assert (not (iscolumn (infsup ([])))); -***** assert (iscolumn (infsup (0))); -***** assert (not (iscolumn (infsup (zeros (1, 2))))); -***** assert (iscolumn (infsup (zeros (2, 1)))); -***** assert (not (iscolumn (infsup (zeros (5))))); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/plus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plus.m -***** # from the documentation string -***** assert (infsup (2, 3) + infsup (1, 2) == infsup (3, 5)); -***** # correct use of signed zeros -***** test - x = plus (infsup (0), infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (mulrev (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.add; + testcases = testdata.NoSignal.infsupdec.mulRevTen; for testcase = [testcases]' assert (isequaln (... - plus (testcase.in{1}, testcase.in{2}), ... + mulrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.add; + testcases = testdata.NoSignal.infsupdec.mulRevTen; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (plus (in1, in2), out)); + assert (isequaln (mulrev (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.add; + testcases = testdata.NoSignal.infsupdec.mulRevTen; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -13549,56 +13382,48 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); + in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (plus (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/fminsearch.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fminsearch.m + assert (isequaln (mulrev (in1, in2, in3), out)); +18 tests, 18 passed, 0 known failure, 0 skipped +[inst/@infsupdec/bitunpack.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/bitunpack.m ***** test - sqr = @(x) x .^ 2; - [x, y] = fminsearch (sqr, infsup (-inf, inf)); - assert (y == 0); -***** demo - clf - hold on - draw = @(x) plot (x(1), x(2), [238 232 213]/255, [88 110 117]/255); - f = @(x) (x(1) - 2) .^ 2 - x(2) .^ 2; - fminsearch (f, infsup ("[1, 3] [0, 1]"), ... - optimset ('OutputFcn', draw)); - hold off -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/ldivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ldivide.m -***** # from the documentation string -***** assert (ldivide (infsup (2, 3), infsup (1, 2)) == "[1/3, 1]"); + littleendian = bitunpack (uint16 (1))(1); + b = zeros (1, 136); + if (littleendian) + b([52, 63, 117, 127, 133]) = 1; + else + b([7, 12, 71, 77, 133]) = 1; + endif + assert (bitunpack (infsupdec (3, 4)), logical (b)); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/min.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/min.m +[inst/@infsupdec/ceil.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/ceil.m ***** # from the documentation string -***** assert (min (infsup (2, 3), infsup (1, 2)) == infsup (1, 2)); +***** assert (isequal (ceil (infsupdec (2.5, 3.5)), infsupdec (3, 4, "def"))); +***** assert (isequal (ceil (infsupdec (-.5, 5)), infsupdec (0, 5, "def"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.min; + testcases = testdata.NoSignal.infsupdec.ceil; for testcase = [testcases]' assert (isequaln (... - min (testcase.in{1}, testcase.in{2}), ... + ceil (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.min; + testcases = testdata.NoSignal.infsupdec.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (min (in1, in2), out)); + assert (isequaln (ceil (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.min; + testcases = testdata.NoSignal.infsup.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -13607,35 +13432,34 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (min (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/strictprecedes.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/strictprecedes.m -***** assert (strictprecedes (infsup (1, 1.9), infsup (2.1, 3))); -***** assert (not (strictprecedes (infsup (1, 2), infsup (2, 3)))); + assert (isequaln (ceil (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/disjoint.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/disjoint.m +***** assert (disjoint (infsupdec (3, 4), infsupdec (5, 6))); +***** assert (not (disjoint (infsupdec (3, 4), infsupdec (4, 5)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.strictPrecedes; + testcases = testdata.NoSignal.infsupdec.disjoint; for testcase = [testcases]' assert (isequaln (... - strictprecedes (testcase.in{1}, testcase.in{2}), ... + disjoint (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.strictPrecedes; + testcases = testdata.NoSignal.infsupdec.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (strictprecedes (in1, in2), out)); + assert (isequaln (disjoint (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.strictPrecedes; + testcases = testdata.NoSignal.infsupdec.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -13648,43 +13472,38 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (strictprecedes (in1, in2), out)); + assert (isequaln (disjoint (in1, in2), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/sprintf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sprintf.m -***** assert (sprintf ("%g", infsup ("pi")), "3.14159 3.1416"); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/mtimes.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mtimes.m +[inst/@infsupdec/gammaln.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gammaln.m +***** assert (isequal (gammaln (infsupdec (-inf, inf)), infsupdec ("[-0x1.F19B9BCC38A42p-4, +Inf]_trv"))); ***** # from the documentation string -***** assert (infsup ([1, 2; 7, 15], [2, 2; 7.5, 15]) * infsup ([3, 3; 0, 1], [3, 3.25; 0, 2]) == infsup ([3, 5; 21, 36], [6, 10.5; 22.5, 54.375])); -***** # matrix multiplication using BLAS routines -***** assert (mtimes (infsup ([1, 2; 7, 15], [2, 2; 7.5, 15]), infsup ([3, 3; 0, 1], [3, 3.25; 0, 2]), 'valid') == infsup ([3, 5; 21, 36], [6, 10.5; 22.5, 54.375])); +***** assert (isequal (gammaln (infsupdec (1.5)), infsupdec ("[-0x1.EEB95B094C192p-4, -0x1.EEB95B094C191p-4]_com"))); 2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/coth.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/coth.m +[inst/@infsupdec/asinh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/asinh.m ***** # from the documentation string -***** assert (coth (infsup (1)) == "[0x1.50231499B6B1D, 0x1.50231499B6B1E]"); +***** assert (isequal (asinh (infsupdec (1)), infsupdec ("[0x1.C34366179D426p-1, 0x1.C34366179D427p-1]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.coth; + testcases = testdata.NoSignal.infsupdec.asinh; for testcase = [testcases]' assert (isequaln (... - coth (testcase.in{1}), ... + asinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.coth; + testcases = testdata.NoSignal.infsupdec.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (coth (in1), out)); + assert (isequaln (asinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.coth; + testcases = testdata.NoSignal.infsup.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13695,35 +13514,43 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (coth (in1), out)); + assert (isequaln (asinh (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/cancelminus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cancelminus.m +[inst/@infsupdec/sum.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sum.m ***** # from the documentation string -***** assert (cancelminus (infsup (2, 3), infsup (1, 1.5)) == infsup (1, 1.5)); +***** assert (isequal (sum ([infsupdec(1), pow2(-1074), -1]), infsupdec (pow2 (-1074)))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/floor.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/floor.m +***** # from the documentation string +***** assert (isequal (floor (infsupdec (2.5, 3.5)), infsupdec (2, 3, "def"))); +***** assert (isequal (floor (infsupdec (-0.5, 5)), infsupdec (-1, 5, "def"))); +***** warning + _ = @infsupdec; + assert (isequal (... + floor (_ ("jansen")), nai)) #ghtwish ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cancelMinus; + testcases = testdata.NoSignal.infsupdec.floor; for testcase = [testcases]' assert (isequaln (... - cancelminus (testcase.in{1}, testcase.in{2}), ... + floor (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cancelMinus; + testcases = testdata.NoSignal.infsupdec.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelminus (in1, in2), out)); + assert (isequaln (floor (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cancelMinus; + testcases = testdata.NoSignal.infsup.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -13732,90 +13559,371 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cancelminus (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/plot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plot.m -***** # this test is rather pointless + assert (isequaln (floor (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsupdec/ei.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/ei.m +***** assert (isempty (ei (infsupdec (0)))); +***** assert (isempty (ei (infsupdec (-inf, -2)))); +***** assert (isequal (ei (infsupdec (0, inf)), infsupdec ("[Entire]_trv"))); +***** assert (isequal (ei (infsupdec (1, inf)), infsupdec ("[0x1.E52670F350D08, Inf]_dac"))); +***** # from the documentation string +***** assert (isequal (ei (infsupdec (1)), infsupdec ("[0x1.E52670F350D08, 0x1.E52670F350D09]_com"))); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/resize.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/resize.m +***** assert (isequal (resize (infsupdec (magic (3)), 4, 2), infsupdec([8, 1; 3, 5; 4, 9; 0, 0]))); +***** assert (isequal (resize (infsupdec (ones (2, 2, 2)), 4, 1, 2), infsupdec (resize (ones (2, 2, 2), 4, 1, 2)))) +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/vereigback.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/vereigback.m ***** test - clf - plot (empty ()); - close -***** demo - clf - hold on - plot (infsup (0), infsup (0)); - plot (infsup (1, 2), infsup (0)); - plot (infsup (0), infsup (1, 2)); - plot (infsup (1, 2), infsup (1, 2)); - axis ([-.5, 2.5, -.5, 2.5]); - hold off -***** demo - clf - plot (infsup (-rand (50, 1), +rand (50, 1))); -***** demo - clf - hold on - axis off - range = infsup (0, 9); - x = linspace (inf (range), sup (range), 250); - X = mince (range, 9); - f = @ (x) 0.5 * sin (x) .* x .^ 2; - y = f (x); - Y = f (X); - plot (range, f (range), [42 161 152]/255); - plot (X, Y, [238 232 213]/255, [88 110 117]/255); - plot (x, y, '-', 'color', [220 50 47]/255, 'linewidth', 2); - hold off + [lambda, X, ep] = vereigback (eye (2)); + assert (lambda, [1; 1]); + assert (X, eye (2)); + assert (ep, zeros (2, 1)); +***** test + [lambda, X, ep] = vereigback ([2 1; 1 2]); + assert (lambda, [1; 3]); + assert (X, [-1 1; 1 1] ./ sqrt (2), eps); + assert (ep, zeros (2, 1)); +***** test + [lambda, X, ep] = vereigback ([2 0 0; 0 3 4; 0 4 9]); + assert (lambda, [1; 2; 11]); + assert (ep, zeros (3, 1)); +***** test + [lambda, X, ep] = vereigback ([1 2 3; 0 1 2; 1 1 1]); + assert (max (ep) < 1e-14); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/__check_crlibm__.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/__check_crlibm__.m +***** assert (__check_crlibm__ ()); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/verlinprog.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verlinprog.m +[inst/ctc_intersect.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/ctc_intersect.m +***** function [fval, x] = ctc_abs (y, x) + fval = abs (x); + x = absrev (intersect (fval, y), x); +***** endfunction +***** shared c + c = ctc_intersect (@ctc_abs, "[0, 2]", @ctc_abs, "[1, 3]"); +***** test + [fval, x] = c (infsup (0), infsup ("[1, 3]")); + assert (ismember (0, fval) && 0 != fval); + assert (x == infsup ("[1, 2]")); +***** test + [fval, x] = c (infsup (0), infsup ("[1, 2]")); + assert (0 == fval); + assert (x == infsup ("[1, 2]")); +***** test + [fval, x] = c (infsup (0), infsup ("[entire]")); + assert (ismember (0, fval) && 0 != fval); + assert (x == infsup ("[-2, 2]")); +***** test + [fval, x] = c (infsup (0), infsup ("[0, inf]")); + assert (ismember (0, fval) && 0 != fval); + assert (x == infsup ("[1, 2]")); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/__split_interval_literals__.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/__split_interval_literals__.m +***** assert (__split_interval_literals__ (""), {""}); +***** assert (__split_interval_literals__ (","), {""}); +***** assert (__split_interval_literals__ ("1"), {"1"}); +***** assert (__split_interval_literals__ ("1?"), {"1?"}); +***** assert (__split_interval_literals__ ("1?u"), {"1?u"}); +***** assert (__split_interval_literals__ ("1?u3"), {"1?u3"}); +***** assert (__split_interval_literals__ ("[Empty]"), {"[Empty]"}); +***** assert (__split_interval_literals__ ("[Entire]"), {"[Entire]"}); +***** assert (__split_interval_literals__ ("[]"), {"[]"}); +***** assert (__split_interval_literals__ ("[,]"), {"[,]"}); +***** assert (__split_interval_literals__ ("[1]"), {"[1]"}); +***** assert (__split_interval_literals__ ("[1,2]"), {"[1,2]"}); +***** assert (__split_interval_literals__ ("1 2"), {"1", "2"}); +***** assert (__split_interval_literals__ ("1, , , , , , ,2"), {"1", "2"}); +***** assert (__split_interval_literals__ ("1;;2"), {"1"; ""; "2"}); +***** assert (__split_interval_literals__ ("1; ;2"), {"1"; ""; "2"}); +***** assert (__split_interval_literals__ ("[1,2] [3,4]"), {"[1,2]", "[3,4]"}); +***** assert (__split_interval_literals__ ("[1,2],[3,4]"), {"[1,2]", "[3,4]"}); +***** assert (__split_interval_literals__ ("[1,2], [3,4]"), {"[1,2]", "[3,4]"}); +***** assert (__split_interval_literals__ ("[1,2]\n[3,4]"), {"[1,2]"; "[3,4]"}); +***** assert (__split_interval_literals__ ("[1,2];[3,4]"), {"[1,2]"; "[3,4]"}); +***** assert (__split_interval_literals__ ("[1,2]; [3,4]"), {"[1,2]"; "[3,4]"}); +***** assert (__split_interval_literals__ (["[1,2]"; "[3,4]"]), {"[1,2]"; "[3,4]"}); +***** assert (__split_interval_literals__ ("1 [3,4]"), {"1", "[3,4]"}); +***** assert (__split_interval_literals__ ("1,[3,4]"), {"1", "[3,4]"}); +***** assert (__split_interval_literals__ ("1, [3,4]"), {"1", "[3,4]"}); +***** assert (__split_interval_literals__ ("1\n[3,4]"), {"1"; "[3,4]"}); +***** assert (__split_interval_literals__ ("1;[3,4]"), {"1"; "[3,4]"}); +***** assert (__split_interval_literals__ ("1; [3,4]"), {"1"; "[3,4]"}); +***** assert (__split_interval_literals__ (["1"; "[3,4]"]), {"1"; "[3,4]"}); +***** assert (__split_interval_literals__ ("[1,2] 3"), {"[1,2]", "3"}); +***** assert (__split_interval_literals__ ("[1,2],3"), {"[1,2]", "3"}); +***** assert (__split_interval_literals__ ("[1,2], 3"), {"[1,2]", "3"}); +***** assert (__split_interval_literals__ ("[1,2]\n3"), {"[1,2]"; "3"}); +***** assert (__split_interval_literals__ ("[1,2];3"), {"[1,2]"; "3"}); +***** assert (__split_interval_literals__ ("[1,2]; 3"), {"[1,2]"; "3"}); +***** assert (__split_interval_literals__ (["[1,2]"; "3"]), {"[1,2]"; "3"}); +***** assert (__split_interval_literals__ ("1 3"), {"1", "3"}); +***** assert (__split_interval_literals__ ("1,3"), {"1", "3"}); +***** assert (__split_interval_literals__ ("1, 3"), {"1", "3"}); +***** assert (__split_interval_literals__ ("1\n3"), {"1"; "3"}); +***** assert (__split_interval_literals__ ("1;3"), {"1"; "3"}); +***** assert (__split_interval_literals__ ("1; 3"), {"1"; "3"}); +***** assert (__split_interval_literals__ (["1"; "3"]), {"1"; "3"}); +***** assert (__split_interval_literals__ ("[1,2] [3,4] [5,6]"), {"[1,2]", "[3,4]", "[5,6]"}); +***** assert (__split_interval_literals__ ("[1,2],[3,4],[5,6]"), {"[1,2]", "[3,4]", "[5,6]"}); +***** assert (__split_interval_literals__ ("[1,2], [3,4], [5,6]"), {"[1,2]", "[3,4]", "[5,6]"}); +***** assert (__split_interval_literals__ ("[1,2]\n[3,4];[5,6]"), {"[1,2]"; "[3,4]"; "[5,6]"}); +***** assert (__split_interval_literals__ ("[1,2];[3,4] [5,6]"), {"[1,2]", "[Empty]"; "[3,4]", "[5,6]"}); +***** assert (__split_interval_literals__ ("[1,2] [3,4];[5,6]"), {"[1,2]", "[3,4]"; "[5,6]", "[Empty]"}); +***** assert (__split_interval_literals__ ("1 [3,4] [5,6]"), {"1", "[3,4]", "[5,6]"}); +***** assert (__split_interval_literals__ ("1,[3,4],[5,6]"), {"1", "[3,4]", "[5,6]"}); +***** assert (__split_interval_literals__ ("1, [3,4], [5,6]"), {"1", "[3,4]", "[5,6]"}); +***** assert (__split_interval_literals__ ("1\n[3,4];[5,6]"), {"1"; "[3,4]"; "[5,6]"}); +***** assert (__split_interval_literals__ ("1;[3,4] [5,6]"), {"1", "[Empty]"; "[3,4]", "[5,6]"}); +***** assert (__split_interval_literals__ ("1 [3,4];[5,6]"), {"1", "[3,4]"; "[5,6]", "[Empty]"}); +***** assert (__split_interval_literals__ ("[1,2] 3 [5,6]"), {"[1,2]", "3", "[5,6]"}); +***** assert (__split_interval_literals__ ("[1,2],3,[5,6]"), {"[1,2]", "3", "[5,6]"}); +***** assert (__split_interval_literals__ ("[1,2], 3, [5,6]"), {"[1,2]", "3", "[5,6]"}); +***** assert (__split_interval_literals__ ("[1,2]\n3;[5,6]"), {"[1,2]"; "3"; "[5,6]"}); +***** assert (__split_interval_literals__ ("[1,2];3 [5,6]"), {"[1,2]", "[Empty]"; "3", "[5,6]"}); +***** assert (__split_interval_literals__ ("[1,2] 3;[5,6]"), {"[1,2]", "3"; "[5,6]", "[Empty]"}); +***** assert (__split_interval_literals__ ("[1,2] [3,4] 5"), {"[1,2]", "[3,4]", "5"}); +***** assert (__split_interval_literals__ ("[1,2],[3,4],5"), {"[1,2]", "[3,4]", "5"}); +***** assert (__split_interval_literals__ ("[1,2], [3,4], 5"), {"[1,2]", "[3,4]", "5"}); +***** assert (__split_interval_literals__ ("[1,2]\n[3,4];5"), {"[1,2]"; "[3,4]"; "5"}); +***** assert (__split_interval_literals__ ("[1,2];[3,4] 5"), {"[1,2]", "[Empty]"; "[3,4]", "5"}); +***** assert (__split_interval_literals__ ("[1,2] [3,4];5"), {"[1,2]", "[3,4]"; "5", "[Empty]"}); +***** assert (__split_interval_literals__ ("1 [3,4] 5"), {"1", "[3,4]", "5"}); +***** assert (__split_interval_literals__ ("1,[3,4],5"), {"1", "[3,4]", "5"}); +***** assert (__split_interval_literals__ ("1, [3,4], 5"), {"1", "[3,4]", "5"}); +***** assert (__split_interval_literals__ ("1\n[3,4];5"), {"1"; "[3,4]"; "5"}); +***** assert (__split_interval_literals__ ("1;[3,4] 5"), {"1", "[Empty]"; "[3,4]", "5"}); +***** assert (__split_interval_literals__ ("1 [3,4];5"), {"1", "[3,4]"; "5", "[Empty]"}); +***** assert (__split_interval_literals__ ("1 3 [5,6]"), {"1", "3", "[5,6]"}); +***** assert (__split_interval_literals__ ("1,3,[5,6]"), {"1", "3", "[5,6]"}); +***** assert (__split_interval_literals__ ("1, 3, [5,6]"), {"1", "3", "[5,6]"}); +***** assert (__split_interval_literals__ ("1\n3;[5,6]"), {"1"; "3"; "[5,6]"}); +***** assert (__split_interval_literals__ ("1;3 [5,6]"), {"1", "[Empty]"; "3", "[5,6]"}); +***** assert (__split_interval_literals__ ("1 3;[5,6]"), {"1", "3"; "[5,6]", "[Empty]"}); +***** assert (__split_interval_literals__ ("[1,2] 3 5"), {"[1,2]", "3", "5"}); +***** assert (__split_interval_literals__ ("[1,2],3,5"), {"[1,2]", "3", "5"}); +***** assert (__split_interval_literals__ ("[1,2], 3, 5"), {"[1,2]", "3", "5"}); +***** assert (__split_interval_literals__ ("[1,2]\n3;5"), {"[1,2]"; "3"; "5"}); +***** assert (__split_interval_literals__ ("[1,2];3 5"), {"[1,2]", "[Empty]"; "3", "5"}); +***** assert (__split_interval_literals__ ("[1,2] 3;5"), {"[1,2]", "3"; "5", "[Empty]"}); +***** assert (__split_interval_literals__ ("1 3 5"), {"1", "3", "5"}); +***** assert (__split_interval_literals__ ("1,3,5"), {"1", "3", "5"}); +***** assert (__split_interval_literals__ ("1, 3, 5"), {"1", "3", "5"}); +***** assert (__split_interval_literals__ ("1\n3;5"), {"1"; "3"; "5"}); +***** assert (__split_interval_literals__ ("1;3 5"), {"1", "[Empty]"; "3", "5"}); +***** assert (__split_interval_literals__ ("1 3;5"), {"1", "3"; "5", "[Empty]"}); +92 tests, 92 passed, 0 known failure, 0 skipped +[inst/verlinineqnn.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verlinineqnn.m ***** test A = [-2, -3; -2, -1]; - b = [-1500, -1000]; - c = [1; 1]; - [flag, x, y, h] = verlinprog (A, b, c); - assert (flag, "verified optimum"); - assert (ismember ([375; 250], x)); - assert (wid (x) < 1e-12); - assert (ismember ([-0.25; -0.25], y)); - assert (wid (y) < 1e-16); - assert (ismember (625, h)); - assert (wid (h) < 1e-12); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/exacttointerval.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/exacttointerval.m -***** assert (isempty (exacttointerval ("[Empty]"))); -***** assert (isentire (exacttointerval ("[Entire]"))); -***** test "common interval"; - y = exacttointerval ("[0, 1]"); - assert (inf (y), 0); - assert (sup (y), 1); -***** test "point interval"; - y = exacttointerval ("[42]"); - assert (inf (y), 42); - assert (sup (y), 42); -***** test "unbound interval"; - y = exacttointerval ("[-4, Infinity]"); - assert (inf (y), -4); - assert (sup (y), inf); -***** error exacttointerval ("[0, 0.1]"); -***** error exacttointerval ("[1, 0]"); -***** test "N-dimensional array"; - i = infsup (reshape (1:24, 2, 3, 4)); - assert (exacttointerval (intervaltoexact (i)) == i); -8 tests, 8 passed, 0 known failure, 0 skipped -Checking C++ files ... -[src/mpfr_matrix_sqr_d.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_matrix_sqr_d.cc + b = [-1500; -1000]; + [x, y] = verlinineqnn (A, b); + assert (x, [375; 250], 1e-9); + assert (all (x >= [375; 250])); + assert (isnan (y)); ***** test - m = magic (3); - [l, u] = mpfr_matrix_sqr_d (m, m + 1); - assert (l, [91, 67, 67; 67, 91, 67; 67, 67, 91]); - assert (u, [124, 100, 100; 100, 124, 100; 100, 100, 124]); + A = [1, 2; 3, 4]; + b = [-1; 0]; + [x, y] = verlinineqnn (A, b); + assert (y, [1; 0], 1e-9); + assert (all (y >= [1; 0])); + assert (isnan (x)); +***** test + A = [1, 2; 3, 4]; + b = [1; 1]; + [x, y] = verlinineqnn (A, b); + assert (x, [0; 0]); + assert (isnan (y)); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/interval_bitpack.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/interval_bitpack.m +***** test "bare"; + littleendian = bitunpack (uint16 (1))(1); + b = zeros (1, 128); + if (littleendian) + b([52, 63, 117, 127]) = 1; + else + b([7, 12, 71, 77]) = 1; + endif + decoded = interval_bitpack (logical (b)); + assert (eq (decoded, infsup (3, 4))); +***** test "decorated"; + littleendian = bitunpack (uint16 (1))(1); + b = zeros (1, 136); + if (littleendian) + b([52, 63, 117, 127, 133]) = 1; + else + b([7, 12, 71, 77, 133]) = 1; + endif + decoded = interval_bitpack (logical (b)); + assert (eq (decoded, infsupdec (3, 4))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/verintlinineqs.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verintlinineqs.m +***** test + A = [-2, -3; -2, -1]; + b = [-1500; -1000]; + [x, As] = verintlinineqs (A, b); + assert (x, [375; 250], 1e-9); + assert (all (x >= [375; 250])); + assert (all (all (isempty (As)))); 1 test, 1 passed, 0 known failure, 0 skipped +[inst/verinvnonneg.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verinvnonneg.m +***** assert (verinvnonneg (eye (1)), 1) +***** assert (verinvnonneg (eye (2)), 1) +***** assert (verinvnonneg (eye (3)), 1) +***** assert (verinvnonneg (eye (4)), 1) +***** assert (verinvnonneg (eye (5)), 1) +***** assert (verinvnonneg (eye (6)), 1) +***** assert (verinvnonneg (eye (7)), 1) +***** assert (verinvnonneg (eye (8)), 1) +***** assert (verinvnonneg (zeros (1)), 0) +***** assert (verinvnonneg (zeros (2)), 0) +***** assert (verinvnonneg (zeros (3)), 0) +***** assert (verinvnonneg (zeros (4)), 0) +***** assert (verinvnonneg (zeros (5)), 0) +***** assert (verinvnonneg (zeros (6)), 0) +***** assert (verinvnonneg (zeros (7)), 0) +***** assert (verinvnonneg (zeros (8)), 0) +***** assert (verinvnonneg (magic (7)), 0) +***** assert (verinvnonneg (infsup (-inf, inf)), -1) +18 tests, 18 passed, 0 known failure, 0 skipped +[inst/nai.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/nai.m +***** assert (isnai (nai ())); +***** assert (isnai (nai (2)), true (2)); +***** assert (isnai (nai (3, 4)), true (3, 4)); +***** assert (decorationpart (nai ()), {"ill"}); +***** assert (isnai (nai (2, 2, 2)), true (2, 2, 2)) +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/midrad.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/midrad.m +***** assert (isempty (midrad ())); +***** warning id=interval:UndefinedOperation + assert (isnai (midrad (0, -inf))); +***** warning id=interval:UndefinedOperation + assert (isnai (midrad (0, -.1))); +***** warning id=interval:UndefinedOperation + assert (isnai (midrad (0, "-.1"))); +***** warning id=interval:UndefinedOperation + assert (isnai (midrad (0, infsup("-.1")))); +***** assert (isequal (midrad ("pi"), infsupdec ("pi"))); +***** warning id=interval:ImplicitPromote + assert (isequal (midrad (infsup (2), 2), infsupdec (0, 4))); +***** assert (isequal (midrad (2, infsup (2)), infsupdec (0, 4))); +***** warning id=interval:ImplicitPromote + assert (isequal (midrad (infsup (2), infsup (2)), infsupdec (0, 4))); +***** assert (isequal (midrad (2, infsupdec (2)), infsupdec (0, 4))); +***** assert (isequal (midrad (infsupdec (2), 2), infsupdec (0, 4))); +***** warning id=interval:ImplicitPromote + assert (isequal (midrad (infsup (2), infsupdec (2)), infsupdec (0, 4))); +***** assert (isequal (midrad (infsupdec (2), infsup (2)), infsupdec (0, 4))); +***** assert (isequal (midrad (infsupdec (2), infsupdec (2)), infsupdec (0, 4))); +***** assert (isequal (midrad (1, magic (3)), infsupdec ([-7, 0, -5; -2, -4, -6; -3, -8, -1], [9, 2, 7; 4, 6, 8; 5, 10, 3]))); +***** assert (isequal (midrad (magic (3), 1), infsupdec ([7, 0, 5; 2, 4, 6; 3, 8, 1], [9, 2, 7; 4, 6, 8; 5, 10, 3]))); +***** # from the documentation string +***** assert (isequal (midrad (42, 3), infsupdec (39, 45))); +***** assert (isequal (midrad (0, inf), entire ())); +***** assert (isequal (midrad ("1.1", "0.1"), infsupdec (1 - eps, "1.2"))); +***** # N-dimensional arrays +***** assert (isequal (midrad (zeros (2, 2, 2), ones (2, 2, 2)), infsupdec (-ones (2, 2, 2), ones (2, 2, 2)))); +***** assert (isequal (midrad (zeros (2, 2, 2), 1), infsupdec (-ones (2, 2, 2), ones (2, 2, 2)))); +***** assert (isequal (midrad (0, ones (2, 2, 2)), infsupdec (-ones (2, 2, 2), ones (2, 2, 2)))); +***** test + [M, R] = midrad (infsupdec (-ones (2, 2, 2), ones (2, 2, 2))); + assert (M, zeros (2, 2, 2)); + assert (R, ones (2, 2, 2)); +23 tests, 23 passed, 0 known failure, 0 skipped +Checking C++ files ... +[src/mpfr_linspace_d.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_linspace_d.cc +***** assert (mpfr_linspace_d (-inf, 1, 10, 10), 1 : 10); +***** assert (mpfr_linspace_d (inf, 1, 10, 8) - mpfr_linspace_d (-inf, 1, 10, 8), [0 2 2 4 4 4 8 0] .* eps); +2 tests, 2 passed, 0 known failure, 0 skipped +[src/mpfr_function_d.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_function_d.cc +***** assert (mpfr_function_d ('plus', 0, 2, 2), 4); +***** assert (mpfr_function_d ('plus', -inf, 1, eps / 2), 1); +***** assert (mpfr_function_d ('plus', +inf, 1, eps / 2), 1 + eps); +***** error mpfr_function_d ('Krauskefarben', 0, 47, 11); +***** # Cross-check unit tests from crlibm against the MPFR library. +***** # We simulate binary64 floating-point arithmetic in MPFR +***** # with mpfr_function_d and results shall be identical. +***** # +***** shared testdata + testdata = load (fullfile (... + fileparts (file_in_loadpath ("__check_crlibm__.m")), ... + "test", ... + "crlibm.mat")); +***** function verify (fname, rnd, data) + assert (mpfr_function_d (fname, rnd, data.input), data.output); +***** endfunction +***** test verify ("acos", -inf, testdata.acos_rd); +***** test verify ("acos", +inf, testdata.acos_ru); +***** test verify ("acos", 0.5, testdata.acos_rn); +***** test verify ("acos", 0, testdata.acos_rz); +***** test verify ("asin", -inf, testdata.asin_rd); +***** test verify ("asin", +inf, testdata.asin_ru); +***** test verify ("asin", 0.5, testdata.asin_rn); +***** test verify ("asin", 0, testdata.asin_rz); +***** test verify ("atan", -inf, testdata.atan_rd); +***** test verify ("atan", +inf, testdata.atan_ru); +***** test verify ("atan", 0.5, testdata.atan_rn); +***** test verify ("atan", 0, testdata.atan_rz); +***** test verify ("cos", -inf, testdata.cos_rd); +***** test verify ("cos", +inf, testdata.cos_ru); +***** test verify ("cos", 0.5, testdata.cos_rn); +***** test verify ("cos", 0, testdata.cos_rz); +***** test verify ("cosh", -inf, testdata.cosh_rd); +***** test verify ("cosh", +inf, testdata.cosh_ru); +***** test verify ("cosh", 0.5, testdata.cosh_rn); +***** test verify ("cosh", 0, testdata.cosh_rz); +***** test verify ("exp", -inf, testdata.exp_rd); +***** test verify ("exp", +inf, testdata.exp_ru); +***** test verify ("exp", 0.5, testdata.exp_rn); +***** test verify ("exp", 0, testdata.exp_rz); +***** test verify ("expm1", -inf, testdata.expm1_rd); +***** test verify ("expm1", +inf, testdata.expm1_ru); +***** test verify ("expm1", 0.5, testdata.expm1_rn); +***** test verify ("expm1", 0, testdata.expm1_rz); +***** test verify ("log", -inf, testdata.log_rd); +***** test verify ("log", +inf, testdata.log_ru); +***** test verify ("log", 0.5, testdata.log_rn); +***** test verify ("log", 0, testdata.log_rz); +***** test verify ("log10", -inf, testdata.log10_rd); +***** test verify ("log10", +inf, testdata.log10_ru); +***** test verify ("log10", 0.5, testdata.log10_rn); +***** test verify ("log10", 0, testdata.log10_rz); +***** test verify ("log1p", -inf, testdata.log1p_rd); +***** test verify ("log1p", +inf, testdata.log1p_ru); +***** test verify ("log1p", 0.5, testdata.log1p_rn); +***** test verify ("log1p", 0, testdata.log1p_rz); +***** test verify ("log2", -inf, testdata.log2_rd); +***** test verify ("log2", +inf, testdata.log2_ru); +***** test verify ("log2", 0.5, testdata.log2_rn); +***** test verify ("log2", 0, testdata.log2_rz); +***** test verify ("sin", -inf, testdata.sin_rd); +***** test verify ("sin", +inf, testdata.sin_ru); +***** test verify ("sin", 0.5, testdata.sin_rn); +***** test verify ("sin", 0, testdata.sin_rz); +***** test verify ("sinh", -inf, testdata.sinh_rd); +***** test verify ("sinh", +inf, testdata.sinh_ru); +***** test verify ("sinh", 0.5, testdata.sinh_rn); +***** test verify ("sinh", 0, testdata.sinh_rz); +***** test verify ("tan", -inf, testdata.tan_rd); +***** test verify ("tan", +inf, testdata.tan_ru); +***** test verify ("tan", 0.5, testdata.tan_rn); +***** test verify ("tan", 0, testdata.tan_rz); +60 tests, 60 passed, 0 known failure, 0 skipped [src/mpfr_vector_dot_d.cc] >>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_vector_dot_d.cc ***** test; @@ -13879,6 +13987,44 @@ out = vertcat (testcases.out); assert (isequaln (mpfr_vector_dot_d (0.5, in1, in1, 2), out)); 8 tests, 8 passed, 0 known failure, 0 skipped +[src/mpfr_matrix_mul_d.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_matrix_mul_d.cc +***** test; + [l, u] = mpfr_matrix_mul_d (magic (3), magic (3)', magic (3) + 1, magic (3)' + 1); + assert (l, [101, 71, 53; 71, 83, 71; 53, 71, 101]); + assert (u, [134, 104, 86; 104, 116, 104; 86, 104, 134]); +***** xtest; + if (((exist ("__octave_config_info__") && ... + __octave_config_info__.ENABLE_OPENMP) || ... + (not (exist ("__octave_config_info__")) && ... + octave_config_info ("features").OPENMP)) ... + && nproc ("overridable") > 1) + ## OpenMP is enabled and may use more than one thread. + ## We should observe speed-ups by that. + A = vec (magic (2000)); + tic; + mpfr_matrix_mul_d (A', A, A', A); + time_per_element = toc; + A = [A A]; + tic; + mpfr_matrix_mul_d (A', A, A', A); + time_per_element_parallel = toc / numel (ans); + + ## Ideally, the runtime would be cut in half (at least), + ## however, there is an overhead, so let's be pessimistic and + ## assume that the parallel execution is at least 20% faster. + assert (time_per_element > 1.2 * time_per_element_parallel) + endif +2 tests, 2 passed, 0 known failure, 0 skipped +[src/crlibm_function.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/crlibm_function.cc +***** test + for f = {"acos", "asin", "atan", "cos", "cosh", "exp", "expm1", "log", "log10", "log1p", "log2", "sin", "sinh", "tan"} + for rnd = {+inf, -inf, 0, 0.5} + assert (crlibm_function (f{:}, rnd{:}, 0.5), mpfr_function_d (f{:}, rnd{:}, 0.5)); + endfor + endfor +1 test, 1 passed, 0 known failure, 0 skipped [src/mpfr_to_string_d.cc] >>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_to_string_d.cc ***** test; @@ -13894,6 +14040,25 @@ ***** assert (mpfr_to_string_d (0, "exact hexadecimal", pow2 (-1022)), {"0x1.0000000000000p-1022"}); ***** assert (mpfr_to_string_d (0, "exact hexadecimal", pow2 (-1074)), {"0x0.0000000000001p-1022"}); 9 tests, 9 passed, 0 known failure, 0 skipped +[src/__setround__.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/__setround__.cc +***** xtest + __setround__ (+inf); + assert (1 + realmin > 1, true); + assert (1 - realmin == 1, true); + __setround__ (0.5); +***** xtest + __setround__ (-inf); + assert (1 + realmin == 1, true); + assert (1 - realmin < 1, true); + __setround__ (0.5); +***** test + __setround__ (0.5); + assert (1 + realmin == 1, true); + assert (1 - realmin == 1, true); +***** shared + __setround__ (0.5); +3 tests, 3 passed, 0 known failure, 0 skipped [src/intervaltotext.cc] >>>>> /build/reproducible-path/octave-interval-3.2.1/src/intervaltotext.cc ***** assert (intervaltotext (infsup (1 + eps), "exact decimal"), "[1.0000000000000002220446049250313080847263336181640625]"); @@ -14010,143 +14175,14 @@ out = vertcat (testcases.out); assert (isequaln (mpfr_vector_sum_d (0.5, abs (in1), 2), out)); 11 tests, 11 passed, 0 known failure, 0 skipped -[src/__setround__.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/__setround__.cc -***** xtest - __setround__ (+inf); - assert (1 + realmin > 1, true); - assert (1 - realmin == 1, true); - __setround__ (0.5); -***** xtest - __setround__ (-inf); - assert (1 + realmin == 1, true); - assert (1 - realmin < 1, true); - __setround__ (0.5); -***** test - __setround__ (0.5); - assert (1 + realmin == 1, true); - assert (1 - realmin == 1, true); -***** shared - __setround__ (0.5); -3 tests, 3 passed, 0 known failure, 0 skipped -[src/mpfr_function_d.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_function_d.cc -***** assert (mpfr_function_d ('plus', 0, 2, 2), 4); -***** assert (mpfr_function_d ('plus', -inf, 1, eps / 2), 1); -***** assert (mpfr_function_d ('plus', +inf, 1, eps / 2), 1 + eps); -***** error mpfr_function_d ('Krauskefarben', 0, 47, 11); -***** # Cross-check unit tests from crlibm against the MPFR library. -***** # We simulate binary64 floating-point arithmetic in MPFR -***** # with mpfr_function_d and results shall be identical. -***** # -***** shared testdata - testdata = load (fullfile (... - fileparts (file_in_loadpath ("__check_crlibm__.m")), ... - "test", ... - "crlibm.mat")); -***** function verify (fname, rnd, data) - assert (mpfr_function_d (fname, rnd, data.input), data.output); -***** endfunction -***** test verify ("acos", -inf, testdata.acos_rd); -***** test verify ("acos", +inf, testdata.acos_ru); -***** test verify ("acos", 0.5, testdata.acos_rn); -***** test verify ("acos", 0, testdata.acos_rz); -***** test verify ("asin", -inf, testdata.asin_rd); -***** test verify ("asin", +inf, testdata.asin_ru); -***** test verify ("asin", 0.5, testdata.asin_rn); -***** test verify ("asin", 0, testdata.asin_rz); -***** test verify ("atan", -inf, testdata.atan_rd); -***** test verify ("atan", +inf, testdata.atan_ru); -***** test verify ("atan", 0.5, testdata.atan_rn); -***** test verify ("atan", 0, testdata.atan_rz); -***** test verify ("cos", -inf, testdata.cos_rd); -***** test verify ("cos", +inf, testdata.cos_ru); -***** test verify ("cos", 0.5, testdata.cos_rn); -***** test verify ("cos", 0, testdata.cos_rz); -***** test verify ("cosh", -inf, testdata.cosh_rd); -***** test verify ("cosh", +inf, testdata.cosh_ru); -***** test verify ("cosh", 0.5, testdata.cosh_rn); -***** test verify ("cosh", 0, testdata.cosh_rz); -***** test verify ("exp", -inf, testdata.exp_rd); -***** test verify ("exp", +inf, testdata.exp_ru); -***** test verify ("exp", 0.5, testdata.exp_rn); -***** test verify ("exp", 0, testdata.exp_rz); -***** test verify ("expm1", -inf, testdata.expm1_rd); -***** test verify ("expm1", +inf, testdata.expm1_ru); -***** test verify ("expm1", 0.5, testdata.expm1_rn); -***** test verify ("expm1", 0, testdata.expm1_rz); -***** test verify ("log", -inf, testdata.log_rd); -***** test verify ("log", +inf, testdata.log_ru); -***** test verify ("log", 0.5, testdata.log_rn); -***** test verify ("log", 0, testdata.log_rz); -***** test verify ("log10", -inf, testdata.log10_rd); -***** test verify ("log10", +inf, testdata.log10_ru); -***** test verify ("log10", 0.5, testdata.log10_rn); -***** test verify ("log10", 0, testdata.log10_rz); -***** test verify ("log1p", -inf, testdata.log1p_rd); -***** test verify ("log1p", +inf, testdata.log1p_ru); -***** test verify ("log1p", 0.5, testdata.log1p_rn); -***** test verify ("log1p", 0, testdata.log1p_rz); -***** test verify ("log2", -inf, testdata.log2_rd); -***** test verify ("log2", +inf, testdata.log2_ru); -***** test verify ("log2", 0.5, testdata.log2_rn); -***** test verify ("log2", 0, testdata.log2_rz); -***** test verify ("sin", -inf, testdata.sin_rd); -***** test verify ("sin", +inf, testdata.sin_ru); -***** test verify ("sin", 0.5, testdata.sin_rn); -***** test verify ("sin", 0, testdata.sin_rz); -***** test verify ("sinh", -inf, testdata.sinh_rd); -***** test verify ("sinh", +inf, testdata.sinh_ru); -***** test verify ("sinh", 0.5, testdata.sinh_rn); -***** test verify ("sinh", 0, testdata.sinh_rz); -***** test verify ("tan", -inf, testdata.tan_rd); -***** test verify ("tan", +inf, testdata.tan_ru); -***** test verify ("tan", 0.5, testdata.tan_rn); -***** test verify ("tan", 0, testdata.tan_rz); -60 tests, 60 passed, 0 known failure, 0 skipped -[src/crlibm_function.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/crlibm_function.cc +[src/mpfr_matrix_sqr_d.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_matrix_sqr_d.cc ***** test - for f = {"acos", "asin", "atan", "cos", "cosh", "exp", "expm1", "log", "log10", "log1p", "log2", "sin", "sinh", "tan"} - for rnd = {+inf, -inf, 0, 0.5} - assert (crlibm_function (f{:}, rnd{:}, 0.5), mpfr_function_d (f{:}, rnd{:}, 0.5)); - endfor - endfor + m = magic (3); + [l, u] = mpfr_matrix_sqr_d (m, m + 1); + assert (l, [91, 67, 67; 67, 91, 67; 67, 67, 91]); + assert (u, [124, 100, 100; 100, 124, 100; 100, 100, 124]); 1 test, 1 passed, 0 known failure, 0 skipped -[src/mpfr_linspace_d.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_linspace_d.cc -***** assert (mpfr_linspace_d (-inf, 1, 10, 10), 1 : 10); -***** assert (mpfr_linspace_d (inf, 1, 10, 8) - mpfr_linspace_d (-inf, 1, 10, 8), [0 2 2 4 4 4 8 0] .* eps); -2 tests, 2 passed, 0 known failure, 0 skipped -[src/mpfr_matrix_mul_d.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_matrix_mul_d.cc -***** test; - [l, u] = mpfr_matrix_mul_d (magic (3), magic (3)', magic (3) + 1, magic (3)' + 1); - assert (l, [101, 71, 53; 71, 83, 71; 53, 71, 101]); - assert (u, [134, 104, 86; 104, 116, 104; 86, 104, 134]); -***** xtest; - if (((exist ("__octave_config_info__") && ... - __octave_config_info__.ENABLE_OPENMP) || ... - (not (exist ("__octave_config_info__")) && ... - octave_config_info ("features").OPENMP)) ... - && nproc ("overridable") > 1) - ## OpenMP is enabled and may use more than one thread. - ## We should observe speed-ups by that. - A = vec (magic (2000)); - tic; - mpfr_matrix_mul_d (A', A, A', A); - time_per_element = toc; - A = [A A]; - tic; - mpfr_matrix_mul_d (A', A, A', A); - time_per_element_parallel = toc / numel (ans); - - ## Ideally, the runtime would be cut in half (at least), - ## however, there is an overhead, so let's be pessimistic and - ## assume that the parallel execution is at least 20% faster. - assert (time_per_element > 1.2 * time_per_element_parallel) - endif -2 tests, 2 passed, 0 known failure, 0 skipped Run tests in debian/check.m Checking supplementary TST files ... >>>>> processing crlibm.tst @@ -14182,9 +14218,9 @@ dpkg-gencontrol: warning: package octave-interval: substitution variable ${octave:Upstream-Description} unused, but is defined dh_md5sums -O--buildsystem=octave dh_builddeb -O--buildsystem=octave -dpkg-deb: building package 'octave-interval-doc' in '../octave-interval-doc_3.2.1-6_all.deb'. dpkg-deb: building package 'octave-interval-dbgsym' in '../octave-interval-dbgsym_3.2.1-6_armhf.deb'. dpkg-deb: building package 'octave-interval' in '../octave-interval_3.2.1-6_armhf.deb'. +dpkg-deb: building package 'octave-interval-doc' in '../octave-interval-doc_3.2.1-6_all.deb'. dpkg-genbuildinfo --build=binary -O../octave-interval_3.2.1-6_armhf.buildinfo dpkg-genchanges --build=binary -O../octave-interval_3.2.1-6_armhf.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -14193,12 +14229,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/12448/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/12448/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/30566 and its subdirectories -I: Current time: Fri Dec 20 21:28:44 -12 2024 -I: pbuilder-time-stamp: 1734773324 +I: removing directory /srv/workspace/pbuilder/12448 and its subdirectories +I: Current time: Sun Dec 22 03:07:07 +14 2024 +I: pbuilder-time-stamp: 1734786427