Diff of the two buildlogs: -- --- b1/build.log 2024-05-08 08:09:16.502018414 +0000 +++ b2/build.log 2024-05-08 08:24:07.880070200 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Jun 10 02:17:24 -12 2025 -I: pbuilder-time-stamp: 1749565044 +I: Current time: Wed May 8 22:09:19 +14 2024 +I: pbuilder-time-stamp: 1715155759 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -34,51 +34,83 @@ 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/83516/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2496871/tmp/hooks/D01_modify_environment starting +debug: Running on infom01-amd64. +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 May 8 08:09 /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/2496871/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2496871/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='amd64' - DEBIAN_FRONTEND='noninteractive' + 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]="21" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.21(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='51b574f8821c4b17816215d6e3766ae3' - 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='83516' - PS1='# ' - PS2='> ' + INVOCATION_ID=a12a2e5f9ed24fd380eb041f06f8f16d + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + 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=2496871 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.9wpdYjZ4/pbuilderrc_DvOO --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.9wpdYjZ4/b1 --logfile b1/build.log octave-interval_3.2.1-6.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' + 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.9wpdYjZ4/pbuilderrc_BhjX --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.9wpdYjZ4/b2 --logfile b2/build.log octave-interval_3.2.1-6.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' I: uname -a - Linux infom02-amd64 6.6.13+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.6.13-1~bpo12+1 (2024-02-15) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-21-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Jun 10 14:05 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/83516/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 8 07:42 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2496871/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -691,7 +723,7 @@ Get: 561 http://deb.debian.org/debian unstable/main amd64 libgmpxx4ldbl amd64 2:6.3.0+dfsg-2+b1 [329 kB] Get: 562 http://deb.debian.org/debian unstable/main amd64 libgmp-dev amd64 2:6.3.0+dfsg-2+b1 [640 kB] Get: 563 http://deb.debian.org/debian unstable/main amd64 libmpfr-dev amd64 4.2.1-1+b1 [263 kB] -Fetched 256 MB in 3s (74.9 MB/s) +Fetched 256 MB in 3s (95.9 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libfftw3-double3:amd64. (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 ... 19699 files and directories currently installed.) @@ -3024,7 +3056,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/2496871/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/2496871/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 @@ -3045,7 +3081,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 @@ -3132,24 +3168,24 @@ (cd crlibm && ./configure --disable-dependency-tracking --enable-sse2) [MKOCTFILE] crlibm_function.cc [MKOCTFILE] intervaltotext.cc -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection crlibm_function.cc -o crlibm_function.o - [MKOCTFILE] mpfr_function_d.cc [MKOCTFILE] mpfr_linspace_d.cc + [MKOCTFILE] mpfr_function_d.cc +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection crlibm_function.cc -o crlibm_function.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection intervaltotext.cc -o /tmp/oct-LrlfBR.o [MKOCTFILE] mpfr_matrix_mul_d.cc -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection mpfr_function_d.cc -o /tmp/oct-EfBKkC.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection intervaltotext.cc -o /tmp/oct-R0R9xX.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection mpfr_linspace_d.cc -o /tmp/oct-LhR53I.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection mpfr_function_d.cc -o /tmp/oct-8JDCbn.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection mpfr_linspace_d.cc -o /tmp/oct-ISGfMj.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -fopenmp mpfr_matrix_mul_d.cc -o /tmp/oct-Mohahu.o [MKOCTFILE] mpfr_matrix_sqr_d.cc -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -fopenmp mpfr_matrix_mul_d.cc -o /tmp/oct-rOaV6k.o [MKOCTFILE] mpfr_to_string_d.cc [MKOCTFILE] mpfr_vector_sum_d.cc [MKOCTFILE] mpfr_vector_dot_d.cc -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -fopenmp mpfr_matrix_sqr_d.cc -o /tmp/oct-w58oA4.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection mpfr_to_string_d.cc -o /tmp/oct-r6M89F.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection mpfr_vector_sum_d.cc -o /tmp/oct-7L42VX.o [MKOCTFILE] __setround__.cc -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection mpfr_vector_dot_d.cc -o /tmp/oct-U3YwF1.o -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -Wno-unknown-pragmas __setround__.cc -o /tmp/oct-yBQTnP.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -fopenmp mpfr_matrix_sqr_d.cc -o /tmp/oct-63raTY.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection mpfr_to_string_d.cc -o /tmp/oct-ACble5.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection mpfr_vector_sum_d.cc -o /tmp/oct-QMIp7U.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection mpfr_vector_dot_d.cc -o /tmp/oct-P8nvah.o +g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -Wno-unknown-pragmas __setround__.cc -o /tmp/oct-Iekh03.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 @@ -3180,7 +3216,8 @@ checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes -checking for sys/stat.h... yes +checking for sys/stat.h... g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -Wno-unknown-pragmas -o __setround__.oct /tmp/oct-Iekh03.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro +yes checking for sys/types.h... yes checking for unistd.h... yes checking for grep that handles long lines and -e... /usr/bin/grep @@ -3231,7 +3268,6 @@ gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -msse2 -mfpmath=sse -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 -fcf-protection -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o log-de.o log-de.c gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -msse2 -mfpmath=sse -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 -fcf-protection -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o log1p.o log1p.c gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -msse2 -mfpmath=sse -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 -fcf-protection -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o log10-td.o log10-td.c -g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -Wno-unknown-pragmas -o __setround__.oct /tmp/oct-yBQTnP.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -msse2 -mfpmath=sse -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 -fcf-protection -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o log2-td.o log2-td.c gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -msse2 -mfpmath=sse -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 -fcf-protection -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. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -msse2 -mfpmath=sse -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 -fcf-protection -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o trigo_fast.o trigo_fast.c @@ -3239,15 +3275,17 @@ gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -msse2 -mfpmath=sse -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 -fcf-protection -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o trigpi.o trigpi.c gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -msse2 -mfpmath=sse -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 -fcf-protection -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o asincos.o asincos.c gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -msse2 -mfpmath=sse -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 -fcf-protection -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o pow.o pow.c +g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -fopenmp -o mpfr_matrix_mul_d.oct /tmp/oct-Mohahu.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -msse2 -mfpmath=sse -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 -fcf-protection -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o atan_fast.o atan_fast.c +g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o mpfr_linspace_d.oct /tmp/oct-ISGfMj.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -msse2 -mfpmath=sse -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 -fcf-protection -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. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -msse2 -mfpmath=sse -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 -fcf-protection -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o csh_fast.o csh_fast.c -g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o mpfr_linspace_d.oct /tmp/oct-LhR53I.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro -g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -fopenmp -o mpfr_matrix_mul_d.oct /tmp/oct-rOaV6k.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro -g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o mpfr_vector_dot_d.oct /tmp/oct-U3YwF1.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro -g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o mpfr_function_d.oct /tmp/oct-EfBKkC.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro -g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -fopenmp -o mpfr_matrix_sqr_d.oct /tmp/oct-w58oA4.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro -g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o mpfr_to_string_d.oct /tmp/oct-r6M89F.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o mpfr_vector_dot_d.oct /tmp/oct-P8nvah.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o mpfr_vector_sum_d.oct /tmp/oct-QMIp7U.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o mpfr_to_string_d.oct /tmp/oct-ACble5.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o mpfr_function_d.oct /tmp/oct-8JDCbn.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -fopenmp -o mpfr_matrix_sqr_d.oct /tmp/oct-63raTY.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro +g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o intervaltotext.oct /tmp/oct-LrlfBR.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro rm -f libcrlibm.a ar cr libcrlibm.a crlibm_private.o triple-double.o exp-td.o exp-td-standalone.o expm1-standalone.o expm1.o log-de.o log1p.o log10-td.o log2-td.o rem_pio2_accurate.o trigo_fast.o trigo_accurate.o trigpi.o asincos.o pow.o atan_fast.o atan_accurate.o csh_fast.o scs_lib/scs_private.o scs_lib/addition_scs.o scs_lib/division_scs.o scs_lib/print_scs.o scs_lib/double2scs.o scs_lib/zero_scs.o scs_lib/multiplication_scs.o scs_lib/scs2double.o ranlib libcrlibm.a @@ -3256,15 +3294,13 @@ make[3]: Leaving directory '/build/reproducible-path/octave-interval-3.2.1/src/crlibm' [MKOCTFILE] crlibm_function.o g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o crlibm_function.oct crlibm_function.o crlibm/asincos.o crlibm/atan_accurate.o crlibm/atan_fast.o crlibm/crlibm_private.o crlibm/csh_fast.o crlibm/exp-td-standalone.o crlibm/exp-td.o crlibm/expm1-standalone.o crlibm/expm1.o crlibm/log-de.o crlibm/log10-td.o crlibm/log1p.o crlibm/log2-td.o crlibm/pow.o crlibm/rem_pio2_accurate.o crlibm/trigo_accurate.o crlibm/trigo_fast.o crlibm/trigpi.o crlibm/triple-double.o crlibm/scs_lib/addition_scs.o crlibm/scs_lib/division_scs.o crlibm/scs_lib/double2scs.o crlibm/scs_lib/multiplication_scs.o crlibm/scs_lib/print_scs.o crlibm/scs_lib/scs2double.o crlibm/scs_lib/scs2mpfr.o crlibm/scs_lib/scs_private.o crlibm/scs_lib/zero_scs.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro -g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o mpfr_vector_sum_d.oct /tmp/oct-7L42VX.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro -g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.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 -fcf-protection -o intervaltotext.oct /tmp/oct-R0R9xX.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/x86_64-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro make[2]: Leaving directory '/build/reproducible-path/octave-interval-3.2.1/src' copyfile /build/reproducible-path/octave-interval-3.2.1/./src/__setround__.oct /build/reproducible-path/octave-interval-3.2.1/./src/crlibm_function.oct /build/reproducible-path/octave-interval-3.2.1/./src/intervaltotext.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_function_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_linspace_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_matrix_mul_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_matrix_sqr_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_to_string_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_vector_dot_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_vector_sum_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/__setround__.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/crlibm_function.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/intervaltotext.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_function_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_linspace_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_matrix_mul_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_matrix_sqr_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_to_string_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_vector_dot_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_vector_sum_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./inst/x86_64-pc-linux-gnu-api-v58 For information about changes from previous versions of the interval package, run 'news interval'. rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc': Is a directory -rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc/chapter': Is a directory -rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc/image': Is a directory rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc/license': Is a directory +rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc/image': Is a directory +rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc/chapter': Is a directory # The documentation build needs to load the package, # so we have to set paths for the build process. OCTAVE='octave --no-window-system --no-init-file' \ @@ -3463,13 +3499,103 @@ copyfile /build/reproducible-path/octave-interval-3.2.1/./src/__setround__.oct /build/reproducible-path/octave-interval-3.2.1/./src/crlibm_function.oct /build/reproducible-path/octave-interval-3.2.1/./src/intervaltotext.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_function_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_linspace_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_matrix_mul_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_matrix_sqr_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_to_string_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_vector_dot_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_vector_sum_d.oct /build/reproducible-path/octave-interval-3.2.1/./src/__setround__.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/crlibm_function.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/intervaltotext.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_function_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_linspace_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_matrix_mul_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_matrix_sqr_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_to_string_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_vector_dot_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./src/mpfr_vector_sum_d.cc-tst /build/reproducible-path/octave-interval-3.2.1/./inst/x86_64-pc-linux-gnu-api-v58 For information about changes from previous versions of the interval package, run 'news interval'. rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc': Is a directory -rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc/chapter': Is a directory -rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc/image': Is a directory rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc/license': Is a directory +rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc/image': Is a directory +rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc/chapter': Is a directory dh_octave_check -O--buildsystem=octave Checking package... Run the unit tests... Checking m files ... +[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/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/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/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/interval_bitpack.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/interval_bitpack.m ***** test "bare"; @@ -3493,218 +3619,74 @@ decoded = interval_bitpack (logical (b)); assert (eq (decoded, infsupdec (3, 4))); 2 tests, 2 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/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/@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)); -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 (isequal (log1p (infsupdec (eps)), infsupdec ("[0x1.FFFFFFFFFFFFFp-53, 0x1p-52]"))); +[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/@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/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]))); +[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 - 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/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/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/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 (isequal (abs (infsupdec (2.5, 3.5)), infsupdec (2.5, 3.5))); -***** assert (isequal (abs (infsupdec (-0.5, 5.5)), infsupdec (0, 5.5))); + [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/@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.infsupdec.abs; + testcases = testdata.NoSignal.infsupdec.pownRev; for testcase = [testcases]' assert (isequaln (... - abs (testcase.in{1}), ... + pownrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.abs; + testcases = testdata.NoSignal.infsupdec.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (abs (in1), out)); + assert (isequaln (pownrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsupdec.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -3713,54 +3695,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 (abs (in1), out)); -25 tests, 25 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")); + assert (isequaln (pownrev (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.equal; + testcases = testdata.NoSignal.infsupdec.pownRevBin; for testcase = [testcases]' assert (isequaln (... - eq (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.infsupdec.equal; + 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 (eq (in1, in2), out)); + assert (isequaln (pownrev (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.equal; + 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; @@ -3770,78 +3729,67 @@ 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 (eq (in1, in2), out)); -19 tests, 19 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]"))); -***** 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; - for testcase = [testcases]' - assert (isequaln (... - atanh (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.atanh; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (atanh (in1), out)); + assert (isequaln (pownrev (in1, in2, in3), out)); +7 tests, 7 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 - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atanh; - 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 (atanh (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/plus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/plus.m -***** # from the documentation string -***** assert (isequal (infsupdec (2, 3) + infsupdec (1, 2), infsupdec (3, 5))); + 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/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 # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.add; + testcases = testdata.NoSignal.infsupdec.roundTiesToEven; for testcase = [testcases]' assert (isequaln (... - plus (testcase.in{1}, testcase.in{2}), ... + roundb (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.add; + testcases = testdata.NoSignal.infsupdec.roundTiesToEven; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (plus (in1, in2), out)); + assert (isequaln (roundb (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.add; + 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; @@ -3850,39 +3798,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 (plus (in1, in2), 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 -***** assert (erf (infsupdec (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); + assert (isequaln (roundb (in1), out)); +23 tests, 23 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/acosh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acosh.m +[inst/@infsupdec/ceil.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/ceil.m ***** # from the documentation string -***** assert (isequal (acosh (infsupdec (2)), infsupdec ("[0x1.5124271980434, 0x1.5124271980435]"))); +***** 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.infsupdec.acosh; + testcases = testdata.NoSignal.infsupdec.ceil; for testcase = [testcases]' assert (isequaln (... - acosh (testcase.in{1}), ... + ceil (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.acosh; + testcases = testdata.NoSignal.infsupdec.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (acosh (in1), out)); + assert (isequaln (ceil (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acosh; + testcases = testdata.NoSignal.infsup.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3893,48 +3840,33 @@ 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/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/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)); + assert (isequaln (ceil (in1), 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.infsupdec.intervalPart; + testcases = testdata.NoSignal.infsupdec.isNaI; for testcase = [testcases]' assert (isequaln (... - intervalpart (testcase.in{1}), ... + isnai (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.intervalPart; + testcases = testdata.NoSignal.infsupdec.isNaI; in1 = vertcat (vertcat (testcases.in){:, 1}); 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 (isnai (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.intervalPart; + testcases = testdata.NoSignal.infsupdec.isNaI; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3945,24 +3877,13 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (intervalpart (in1), out)); + assert (isequaln (isnai (in1), out)); 6 tests, 6 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]))) -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 @@ -4030,36 +3951,38 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (sqrrev (in1, in2), out)); 7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/hypot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/hypot.m +[inst/@infsupdec/erf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/erf.m ***** # from the documentation string -***** assert (isequal (hypot (infsupdec (2, 3), infsupdec (1, 2)), infsupdec ("[0x1.1E3779B97F4A7p1, 0x1.CD82B446159F4p1]"))); +***** assert (erf (infsupdec (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); 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 +[inst/@infsupdec/plus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/plus.m ***** # from the documentation string -***** assert (isequal (log (infsupdec (2)), infsupdec ("[0x1.62E42FEFA39EFp-1, 0x1.62E42FEFA39Fp-1]"))); +***** 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.infsupdec.log; + testcases = testdata.NoSignal.infsupdec.add; for testcase = [testcases]' assert (isequaln (... - log (testcase.in{1}), ... + plus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.log; + testcases = testdata.NoSignal.infsupdec.add; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (log (in1), out)); + assert (isequaln (plus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log; + 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; @@ -4068,8 +3991,9 @@ 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 (plus (in1, in2), 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 @@ -4080,71 +4004,33 @@ 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/gauss.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gauss.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/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.infsupdec.sinh; - for testcase = [testcases]' - assert (isequaln (... - sinh (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sinh; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (sinh (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sinh; - 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 (sinh (in1), 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 +[inst/@infsupdec/sign.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sign.m ***** # from the documentation string -***** assert (isequal (-infsupdec (2, 3), infsupdec (-3, -2))); +***** 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 # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.neg; + testcases = testdata.NoSignal.infsupdec.sign; for testcase = [testcases]' assert (isequaln (... - uminus (testcase.in{1}), ... + sign (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.neg; + testcases = testdata.NoSignal.infsupdec.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (uminus (in1), out)); + assert (isequaln (sign (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.neg; + testcases = testdata.NoSignal.infsup.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4155,38 +4041,33 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (uminus (in1), 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/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"))); + assert (isequaln (sign (in1), out)); +7 tests, 7 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.infsupdec.intersection; + testcases = testdata.NoSignal.infsupdec.disjoint; for testcase = [testcases]' assert (isequaln (... - intersect (testcase.in{1}, testcase.in{2}), ... + disjoint (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.intersection; + testcases = testdata.NoSignal.infsupdec.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (intersect (in1, in2), out)); + assert (isequaln (disjoint (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.intersection; + testcases = testdata.NoSignal.infsupdec.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4199,50 +4080,67 @@ 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/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"}))); + assert (isequaln (disjoint (in1, in2), out)); +5 tests, 5 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 (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]))); +***** 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/nextout.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/nextout.m +[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 -***** 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/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)))); +***** 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.infsupdec.precedes; + # Scalar evaluation with one argument + testcases = testdata.NoSignal.infsupdec.absRev; for testcase = [testcases]' assert (isequaln (... - precedes (testcase.in{1}, testcase.in{2}), ... + absrev (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.precedes; + # Vector evaluation with one argument + testcases = testdata.NoSignal.infsupdec.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (precedes (in1, in2), out)); + assert (isequaln (absrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.precedes; + testcases = testdata.NoSignal.infsupdec.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4251,43 +4149,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 (precedes (in1, in2), out)); -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 -***** # from the documentation string -***** 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/union.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/union.m -***** # from the documentation string -***** 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")); + assert (isequaln (absrev (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.convexHull; + # Scalar evaluation with two arguments + testcases = testdata.NoSignal.infsupdec.absRevBin; for testcase = [testcases]' assert (isequaln (... - union (testcase.in{1}, testcase.in{2}), ... + absrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.convexHull; + # 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 (union (in1, in2), out)); + assert (isequaln (absrev (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.convexHull; + # 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); @@ -4300,88 +4181,53 @@ 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/@infsupdec/csc.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/csc.m + assert (isequaln (absrev (in1, in2), out)); +31 tests, 31 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 (csc (infsupdec (1)), infsupdec ("[0x1.303AA9620B223, 0x1.303AA9620B224]_com"))); +***** 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/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/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)))); +[inst/@infsupdec/lu.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/lu.m ***** 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/sinrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sinrev.m + [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/pow.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow.m ***** # from the documentation string -***** assert (isequal (sinrev (infsupdec (-1), infsupdec (0, 6)), infsupdec ("[0x1.2D97C7F3321D2p2, 0x1.2D97C7F3321D3p2]_trv"))); +***** 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.infsupdec.sinRev; - for testcase = [testcases]' - assert (isequaln (... - sinrev (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sinRev; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (sinrev (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sinRev; - 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 (sinrev (in1), out)); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sinRevBin; + testcases = testdata.NoSignal.infsupdec.pow; for testcase = [testcases]' assert (isequaln (... - sinrev (testcase.in{1}, testcase.in{2}), ... + pow (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sinRevBin; + testcases = testdata.NoSignal.infsupdec.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sinrev (in1, in2), out)); + assert (isequaln (pow (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sinRevBin; + testcases = testdata.NoSignal.infsupdec.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4394,130 +4240,35 @@ 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)); -7 tests, 7 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.infsupdec.decorationPart; - for testcase = [testcases]' - assert (isequaln (... - decorationpart (testcase.in{1}), ... - {testcase.out})); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.decorationPart; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = {testcases.out}'; - assert (isequaln (decorationpart (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.decorationPart; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = {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 (decorationpart (in1), out)); -12 tests, 12 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/fma.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/fma.m + assert (isequaln (pow (in1, in2), out)); +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 ***** # from the documentation string -***** assert (isequal (fma (infsupdec (1+eps), infsupdec (7), infsupdec ("0.1")), infsupdec ("[0x1.C666666666668p2, 0x1.C666666666669p2]"))); +***** 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.infsupdec.fma; + testcases = testdata.NoSignal.infsupdec.sub; for testcase = [testcases]' assert (isequaln (... - fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + minus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.fma; + testcases = testdata.NoSignal.infsupdec.sub; 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 (minus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.fma; + testcases = testdata.NoSignal.infsupdec.sub; 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)) - 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/asinh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/asinh.m -***** # from the documentation string -***** 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.infsupdec.asinh; - for testcase = [testcases]' - assert (isequaln (... - asinh (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.asinh; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (asinh (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asinh; - in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4526,33 +4277,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 (asinh (in1), out)); + assert (isequaln (minus (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/coshrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/coshrev.m +[inst/@infsupdec/pown.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pown.m ***** # from the documentation string -***** assert (isequal (coshrev (infsupdec (-2, 1)), infsupdec (0, "trv"))); +***** 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.infsupdec.coshRev; + testcases = testdata.NoSignal.infsupdec.sqr; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}), ... + pown (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.coshRev; + testcases = testdata.NoSignal.infsupdec.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (coshrev (in1), out)); + assert (isequaln (pown (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.coshRev; + testcases = testdata.NoSignal.infsupdec.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4563,25 +4316,25 @@ 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 (pown (in1, 2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.coshRevBin; + testcases = testdata.NoSignal.infsupdec.pown; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}, testcase.in{2}), ... + pown (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.coshRevBin; + testcases = testdata.NoSignal.infsupdec.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (coshrev (in1, in2), out)); + assert (isequaln (pown (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.coshRevBin; + testcases = testdata.NoSignal.infsupdec.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4594,32 +4347,32 @@ 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/pow10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow10.m + assert (isequaln (pown (in1, in2), out)); +8 tests, 8 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 (isequal (pow10 (infsupdec (5)), infsupdec (100000))); +***** 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.infsupdec.exp10; + testcases = testdata.NoSignal.infsupdec.tanRev; for testcase = [testcases]' assert (isequaln (... - pow10 (testcase.in{1}), ... + tanrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.exp10; + testcases = testdata.NoSignal.infsupdec.tanRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pow10 (in1), out)); + assert (isequaln (tanrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.exp10; + testcases = testdata.NoSignal.infsupdec.tanRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4627,41 +4380,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/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/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")); + assert (isequaln (tanrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.disjoint; + testcases = testdata.NoSignal.infsupdec.tanRevBin; for testcase = [testcases]' assert (isequaln (... - disjoint (testcase.in{1}, testcase.in{2}), ... + tanrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.disjoint; + testcases = testdata.NoSignal.infsupdec.tanRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (disjoint (in1, in2), out)); + assert (isequaln (tanrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.disjoint; + testcases = testdata.NoSignal.infsupdec.tanRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4674,47 +4414,37 @@ 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/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/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"}); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/acos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acos.m -***** # from the documentation string -***** assert (isequal (acos (infsupdec (.5)), infsupdec ("[0x1.0C152382D7365, 0x1.0C152382D7366]"))); + assert (isequaln (tanrev (in1, in2), out)); +7 tests, 7 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/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.acos; + testcases = testdata.NoSignal.infsupdec.tanh; for testcase = [testcases]' assert (isequaln (... - acos (testcase.in{1}), ... + tanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.acos; + testcases = testdata.NoSignal.infsupdec.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (acos (in1), out)); + assert (isequaln (tanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acos; + testcases = testdata.NoSignal.infsup.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4725,32 +4455,33 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (acos (in1), out)); + assert (isequaln (tanh (in1), 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))); +[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")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.less; + testcases = testdata.NoSignal.infsupdec.atan2; for testcase = [testcases]' assert (isequaln (... - le (testcase.in{1}, testcase.in{2}), ... + atan2 (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.less; + testcases = testdata.NoSignal.infsupdec.atan2; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (le (in1, in2), out)); + assert (isequaln (atan2 (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.less; + testcases = testdata.NoSignal.infsupdec.atan2; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4763,80 +4494,35 @@ 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)); + assert (isequaln (atan2 (in1, in2), 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"); +[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.infsupdec.overlap; + testcases = testdata.NoSignal.infsupdec.strictLess; for testcase = [testcases]' assert (isequaln (... - overlap (testcase.in{1}, testcase.in{2}), ... + lt (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.overlap; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = {testcases.out}'; - assert (isequaln (overlap (in1, in2), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.overlap; + testcases = testdata.NoSignal.infsupdec.strictLess; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - out = {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 (overlap (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/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/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.infsupdec.sqrt; - for testcase = [testcases]' - assert (isequaln (... - realsqrt (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqrt; - in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (realsqrt (in1), out)); + assert (isequaln (lt (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrt; + 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; @@ -4845,36 +4531,39 @@ 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)); -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 + assert (isequaln (lt (in1, in2), out)); +5 tests, 5 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 (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))); +***** 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.infsupdec.sign; + testcases = testdata.NoSignal.infsupdec.floor; for testcase = [testcases]' assert (isequaln (... - sign (testcase.in{1}), ... + floor (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sign; + testcases = testdata.NoSignal.infsupdec.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sign (in1), out)); + assert (isequaln (floor (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sign; + testcases = testdata.NoSignal.infsup.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4885,110 +4574,17 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/powrev2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/powrev2.m + assert (isequaln (floor (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsupdec/sech.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sech.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/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"}))); +***** assert (isequal (sech (infsupdec (1)), infsupdec ("[0x1.4BCDC50ED6BE7p-1, 0x1.4BCDC50ED6BE8p-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")); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.atan2; - for testcase = [testcases]' - assert (isequaln (... - atan2 (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.atan2; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (atan2 (in1, in2), out)); -***** test - # N-dimensional array evaluation - 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; - 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 (atan2 (in1, in2), 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.infsupdec.inf; - for testcase = [testcases]' - assert (isequaln (... - inf (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.inf; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (inf (in1), out)); -***** 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)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/atan2rev2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2rev2.m +[inst/@infsupdec/sum.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sum.m ***** # from the documentation string -***** assert (isequal (atan2rev2 (infsupdec (1, 2), infsupdec ("pi") / 4), infsupdec ("[0x1.FFFFFFFFFFFFEp-1, 0x1.0000000000001p1]_trv"))); +***** assert (isequal (sum ([infsupdec(1), pow2(-1074), -1]), infsupdec (pow2 (-1074)))); 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 @@ -5059,64 +4655,30 @@ ***** 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/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/log10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log10.m +[inst/@infsupdec/log2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log2.m ***** # from the documentation string -***** assert (isequal (log10 (infsupdec (2)), infsupdec ("[0x1.34413509F79FEp-2, 0x1.34413509F79FFp-2]"))); +***** 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.infsupdec.log10; + testcases = testdata.NoSignal.infsupdec.log2; for testcase = [testcases]' assert (isequaln (... - log10 (testcase.in{1}), ... + log2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.log10; + testcases = testdata.NoSignal.infsupdec.log2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log10 (in1), out)); + assert (isequaln (log2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsup.log2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5127,111 +4689,32 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (log10 (in1), out)); + assert (isequaln (log2 (in1), out)); 4 tests, 4 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/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/sech.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sech.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/atan.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan.m +[inst/@infsupdec/acos.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acos.m ***** # from the documentation string -***** assert (isequal (atan (infsupdec (1)), infsupdec ("[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-1]"))); +***** 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.infsupdec.atan; + testcases = testdata.NoSignal.infsupdec.acos; for testcase = [testcases]' assert (isequaln (... - atan (testcase.in{1}), ... + acos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.atan; + testcases = testdata.NoSignal.infsupdec.acos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (atan (in1), out)); + assert (isequaln (acos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.acos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5242,64 +4725,85 @@ 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 (acos (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/pown.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pown.m +[inst/@infsupdec/fma.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/fma.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 (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.infsupdec.sqr; + testcases = testdata.NoSignal.infsupdec.fma; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, 2), ... + fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + 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 (pown (in1, 2), out)); + assert (isequaln (fma (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + 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 (pown (in1, 2), out)); + assert (isequaln (fma (in1, in2, in3), 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)); +***** 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.infsupdec.intervalPart; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, testcase.in{2}), ... + intervalpart (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pown; + testcases = testdata.NoSignal.infsupdec.intervalPart; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, in2), 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.infsupdec.pown; + testcases = testdata.NoSignal.infsupdec.intervalPart; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5308,63 +4812,51 @@ 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/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"))); + assert (isequaln (intervalpart (in1), out)); +6 tests, 6 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 (absrev (infsupdec (-2, 1)), infsupdec (-1, 1, "trv"))); +***** assert (isequal (csc (infsupdec (1)), infsupdec ("[0x1.303AA9620B223, 0x1.303AA9620B224]_com"))); +1 test, 1 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/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")); ***** test - # Scalar evaluation with one argument - testcases = testdata.NoSignal.infsupdec.absRev; + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.intersection; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}), ... + intersect (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation with one argument - testcases = testdata.NoSignal.infsupdec.absRev; + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.intersection; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1), out)); + assert (isequaln (intersect (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.absRev; + 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; @@ -5373,28 +4865,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 (absrev (in1), out)); + assert (isequaln (intersect (in1, in2), 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 with two arguments - testcases = testdata.NoSignal.infsupdec.absRevBin; + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.sqr; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}, testcase.in{2}), ... + power (testcase.in{1}, 2), ... testcase.out)); endfor ***** test - # Vector evaluation with two arguments - testcases = testdata.NoSignal.infsupdec.absRevBin; + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1, in2), out)); + assert (isequaln (power (in1, 2), out)); ***** test - # N-dimensional array evaluation with two arguments - testcases = testdata.NoSignal.infsupdec.absRevBin; + # N-dimensional array evaluation + 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; @@ -5403,34 +4902,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 (absrev (in1, in2), out)); -31 tests, 31 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cosrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cosrev.m + assert (isequaln (power (in1, 2), out)); +4 tests, 4 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 (isequal (cosrev (0, infsupdec (6, 9)), infsupdec ("[0x1.F6A7A2955385Ep2, 0x1.F6A7A2955386p2]_trv"))); +***** 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.infsupdec.cosRev; + testcases = testdata.NoSignal.infsupdec.tan; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}), ... + tan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cosRev; + testcases = testdata.NoSignal.infsupdec.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1), out)); + assert (isequaln (tan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.cosRev; + testcases = testdata.NoSignal.infsup.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5441,79 +4939,103 @@ 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 (tan (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 +***** # from the documentation string +***** 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.infsupdec.cosRevBin; + testcases = testdata.NoSignal.infsupdec.exp10; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}, testcase.in{2}), ... + pow10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cosRevBin; + testcases = testdata.NoSignal.infsupdec.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1, in2), out)); + assert (isequaln (pow10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.cosRevBin; + testcases = testdata.NoSignal.infsupdec.exp10; 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) + until (numel (testsize) > 2 || i == numel (in1)) 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/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/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 (pow10 (in1), 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/@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/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 (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.infsupdec.isNaI; + testcases = testdata.NoSignal.infsupdec.abs; for testcase = [testcases]' assert (isequaln (... - isnai (testcase.in{1}), ... + abs (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.isNaI; + testcases = testdata.NoSignal.infsupdec.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (isnai (in1), out)); + assert (isequaln (abs (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.isNaI; + testcases = testdata.NoSignal.infsup.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5524,41 +5046,80 @@ 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/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/tanrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tanrev.m + assert (isequaln (abs (in1), out)); +25 tests, 25 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/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/csch.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/csch.m ***** # from the documentation string -***** assert (isequal (tanrev (infsupdec (0), infsupdec (2, 4)), infsupdec ("pi", "trv"))); +***** assert (isequal (csch (infsupdec (1)), infsupdec ("[0x1.B3AB8A78B90Cp-1, 0x1.B3AB8A78B90C1p-1]_com"))); +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/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/sinrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sinrev.m +***** # from the documentation string +***** 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.infsupdec.tanRev; + testcases = testdata.NoSignal.infsupdec.sinRev; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}), ... + sinrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tanRev; + testcases = testdata.NoSignal.infsupdec.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1), out)); + assert (isequaln (sinrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.tanRev; + testcases = testdata.NoSignal.infsupdec.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5569,25 +5130,25 @@ 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 (sinrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.tanRevBin; + testcases = testdata.NoSignal.infsupdec.sinRevBin; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}, testcase.in{2}), ... + sinrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tanRevBin; + testcases = testdata.NoSignal.infsupdec.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1, in2), out)); + assert (isequaln (sinrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.tanRevBin; + testcases = testdata.NoSignal.infsupdec.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -5600,32 +5161,32 @@ 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)); + assert (isequaln (sinrev (in1, in2), out)); 7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sin.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sin.m +[inst/@infsupdec/atan.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan.m ***** # from the documentation string -***** assert (isequal (sin (infsupdec (1)), infsupdec ("[0x1.AED548F090CEEp-1, 0x1.AED548F090CEFp-1]"))); +***** 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.infsupdec.sin; + testcases = testdata.NoSignal.infsupdec.atan; for testcase = [testcases]' assert (isequaln (... - sin (testcase.in{1}), ... + atan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sin; + testcases = testdata.NoSignal.infsupdec.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sin (in1), out)); + assert (isequaln (atan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsup.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5636,43 +5197,52 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sin (in1), out)); + assert (isequaln (atan (in1), out)); 4 tests, 4 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/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/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"))); +[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"))); ***** 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.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.infsupdec.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.infsupdec.trunc; + testcases = testdata.NoSignal.infsup.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5683,33 +5253,35 @@ 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/cos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cos.m + assert (isequaln (round (in1), out)); +21 tests, 21 passed, 0 known failure, 0 skipped +[inst/@infsupdec/union.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/union.m ***** # from the documentation string -***** assert (isequal (cos (infsupdec (1)), infsupdec ("[0x1.14A280FB5068Bp-1, 0x1.14A280FB5068Cp-1]"))); +***** 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.infsupdec.cos; + testcases = testdata.NoSignal.infsupdec.convexHull; for testcase = [testcases]' assert (isequaln (... - cos (testcase.in{1}), ... + union (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cos; + testcases = testdata.NoSignal.infsupdec.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cos (in1), out)); + assert (isequaln (union (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cos; + 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; @@ -5718,35 +5290,51 @@ 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)); + assert (isequaln (union (in1, in2), 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"))); +[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/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/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"))); ***** 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.infsupdec.cosRev; for testcase = [testcases]' assert (isequaln (... - pownrev (testcase.in{1}, testcase.in{2}), ... + cosrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pownRev; + testcases = testdata.NoSignal.infsupdec.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pownrev (in1, in2), out)); + assert (isequaln (cosrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pownRev; + 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; @@ -5755,31 +5343,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 (cosrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.pownRevBin; + testcases = testdata.NoSignal.infsupdec.cosRevBin; for testcase = [testcases]' assert (isequaln (... - pownrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + cosrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pownRevBin; + testcases = testdata.NoSignal.infsupdec.cosRevBin; 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 (cosrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pownRevBin; + testcases = testdata.NoSignal.infsupdec.cosRevBin; 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; @@ -5789,37 +5374,56 @@ 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 (cosrev (in1, in2), out)); 7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cancelminus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cancelminus.m +[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 (isequal (cancelminus (infsupdec (2, 3), infsupdec (1, 1.5)), infsupdec (1, 1.5, "trv"))); +***** assert (setdiff (infsupdec (1, 3), infsupdec (2, 4)) == infsupdec (1, 2)); +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/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/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.infsupdec.cancelMinus; + testcases = testdata.NoSignal.infsupdec.neg; for testcase = [testcases]' assert (isequaln (... - cancelminus (testcase.in{1}, testcase.in{2}), ... + uminus (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cancelMinus; + testcases = testdata.NoSignal.infsupdec.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelminus (in1, in2), out)); + assert (isequaln (uminus (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.cancelMinus; + testcases = testdata.NoSignal.infsup.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5828,265 +5432,97 @@ 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)); + assert (isequaln (uminus (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/prod.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/prod.m +[inst/@infsupdec/bisect.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/bisect.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/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 = 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])); + [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/bitunpack.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/bitunpack.m ***** 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) + 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/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.setDec; + testcases = testdata.NoSignal.infsupdec.strictPrecedes; for testcase = [testcases]' assert (isequaln (... - infsupdec (testcase.in{1}, testcase.in{2}), ... + strictprecedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.setDec; + testcases = testdata.NoSignal.infsupdec.strictPrecedes; 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 (strictprecedes (in1, in2), out)); ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.("d-numsToInterval"); + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.strictPrecedes; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (infsupdec (in1, in2), 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 (strictprecedes (in1, in2), out)); +5 tests, 5 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/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]"))); +***** 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.("d-textToInterval"); + testcases = testdata.NoSignal.infsupdec.cosh; for testcase = [testcases]' assert (isequaln (... - infsupdec (testcase.in{1}), ... + cosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.("d-textToInterval"); - in1 = vertcat (testcases.in); + testcases = testdata.NoSignal.infsupdec.cosh; + in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.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 + assert (isequaln (cosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.("d-numsToInterval"); + 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; @@ -6095,34 +5531,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 (infsupdec (in1, in2), out)); -44 tests, 44 passed, 0 known failure, 0 skipped -[inst/@infsupdec/log2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log2.m + 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 ***** # from the documentation string -***** assert (isequal (log2 (infsupdec (2)), infsupdec (1))); +***** 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.infsupdec.log2; + testcases = testdata.NoSignal.infsupdec.sqrt; for testcase = [testcases]' assert (isequaln (... - log2 (testcase.in{1}), ... + realsqrt (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.log2; + testcases = testdata.NoSignal.infsupdec.sqrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log2 (in1), out)); + assert (isequaln (realsqrt (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsup.sqrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6133,54 +5568,41 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (log2 (in1), out)); + assert (isequaln (realsqrt (in1), out)); 4 tests, 4 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"))); +[inst/@infsupdec/nextout.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/nextout.m +***** # from the documentation string +***** 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/cos.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cos.m +***** # from the documentation string +***** 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.infsupdec.roundTiesToEven; + testcases = testdata.NoSignal.infsupdec.cos; for testcase = [testcases]' assert (isequaln (... - roundb (testcase.in{1}), ... + cos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.roundTiesToEven; + testcases = testdata.NoSignal.infsupdec.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (roundb (in1), out)); + assert (isequaln (cos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6191,8 +5613,8 @@ 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 + assert (isequaln (cos (in1), out)); +4 tests, 4 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 @@ -6345,33 +5767,31 @@ 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/min.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/min.m +[inst/@infsupdec/log.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log.m ***** # from the documentation string -***** assert (isequal (min (infsupdec (2, 3), infsupdec (1, 2)), infsupdec (1, 2))); +***** 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.infsupdec.min; + testcases = testdata.NoSignal.infsupdec.log; for testcase = [testcases]' assert (isequaln (... - min (testcase.in{1}, testcase.in{2}), ... + log (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.min; + testcases = testdata.NoSignal.infsupdec.log; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (min (in1, in2), out)); + assert (isequaln (log (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.min; + 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; @@ -6380,34 +5800,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 (min (in1, in2), out)); + assert (isequaln (log (in1), out)); 4 tests, 4 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]"))); +[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.infsupdec.asin; + testcases = testdata.NoSignal.infsupdec.sup; for testcase = [testcases]' assert (isequaln (... - asin (testcase.in{1}), ... + sup (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.asin; + testcases = testdata.NoSignal.infsupdec.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (asin (in1), out)); + assert (isequaln (sup (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsup.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6418,32 +5840,38 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/interior.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/interior.m -***** assert (interior (infsupdec (1, 2), infsupdec (0, 3))); + 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/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")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.interior; + testcases = testdata.NoSignal.infsupdec.max; for testcase = [testcases]' assert (isequaln (... - interior (testcase.in{1}, testcase.in{2}), ... + max (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.interior; + testcases = testdata.NoSignal.infsupdec.max; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (interior (in1, in2), out)); + assert (isequaln (max (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.interior; + testcases = testdata.NoSignal.infsupdec.max; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -6456,33 +5884,32 @@ 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 (max (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/ceil.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/ceil.m +[inst/@infsupdec/sin.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sin.m ***** # 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 (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.infsupdec.ceil; + testcases = testdata.NoSignal.infsupdec.sin; for testcase = [testcases]' assert (isequaln (... - ceil (testcase.in{1}), ... + sin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.ceil; + testcases = testdata.NoSignal.infsupdec.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (ceil (in1), out)); + assert (isequaln (sin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.ceil; + testcases = testdata.NoSignal.infsup.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6493,33 +5920,37 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (ceil (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/pow.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow.m + assert (isequaln (sin (in1), out)); +4 tests, 4 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 (pow (infsupdec (5, 6), infsupdec (2, 3)), infsupdec (25, 216))); +***** 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/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.infsupdec.pow; + testcases = testdata.NoSignal.infsupdec.less; for testcase = [testcases]' assert (isequaln (... - pow (testcase.in{1}, testcase.in{2}), ... + le (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pow; + testcases = testdata.NoSignal.infsupdec.less; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pow (in1, in2), out)); + assert (isequaln (le (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pow; + testcases = testdata.NoSignal.infsupdec.less; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -6532,32 +5963,37 @@ 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)); + assert (isequaln (le (in1, in2), out)); 4 tests, 4 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 (isequal (tan (infsupdec (1)), infsupdec ("[0x1.8EB245CBEE3A5, 0x1.8EB245CBEE3A6]"))); +[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/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.infsupdec.tan; + testcases = testdata.NoSignal.infsupdec.isEmpty; for testcase = [testcases]' assert (isequaln (... - tan (testcase.in{1}), ... + isempty (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tan; + testcases = testdata.NoSignal.infsupdec.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tan (in1), out)); + assert (isequaln (isempty (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsup.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6568,45 +6004,41 @@ 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/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/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))); + assert (isequaln (isempty (in1), 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/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.infsupdec.max; + testcases = testdata.NoSignal.infsupdec.subset; for testcase = [testcases]' assert (isequaln (... - max (testcase.in{1}, testcase.in{2}), ... + subset (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.max; + testcases = testdata.NoSignal.infsupdec.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (max (in1, in2), out)); + assert (isequaln (subset (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.max; + testcases = testdata.NoSignal.infsupdec.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -6619,33 +6051,61 @@ 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)); + assert (isequaln (subset (in1, in2), out)); 4 tests, 4 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))); +[inst/@infsupdec/coshrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/coshrev.m +***** # from the documentation string +***** 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.infsupdec.strictLess; + testcases = testdata.NoSignal.infsupdec.coshRev; for testcase = [testcases]' assert (isequaln (... - lt (testcase.in{1}, testcase.in{2}), ... + coshrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.strictLess; + testcases = testdata.NoSignal.infsupdec.coshRev; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (coshrev (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.coshRev; + 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 (coshrev (in1), out)); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.coshRevBin; + for testcase = [testcases]' + assert (isequaln (... + coshrev (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (lt (in1, in2), out)); + assert (isequaln (coshrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.strictLess; + testcases = testdata.NoSignal.infsupdec.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -6658,52 +6118,60 @@ 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)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/det.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/det.m + assert (isequaln (coshrev (in1, in2), out)); +7 tests, 7 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 (det (infsupdec (magic (3))) == -360); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/powrev1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/powrev1.m +***** assert (isequal (dilog (infsupdec (1)), infsupdec ("[0x1.A51A6625307D3, 0x1.A51A6625307D4]_com"))); +2 tests, 2 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 (powrev1 (infsupdec (2, 5), infsupdec (3, 6)), infsupdec ("[0x1.3EE8390D43955, 0x1.3988E1409212Fp1]_trv"))); +***** 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/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/subset.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subset.m -***** assert (subset (infsupdec (1, 2), infsupdec (1, 3))); +[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/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/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.infsupdec.subset; + testcases = testdata.NoSignal.infsupdec.overlap; for testcase = [testcases]' assert (isequaln (... - subset (testcase.in{1}, testcase.in{2}), ... + overlap (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.subset; + testcases = testdata.NoSignal.infsupdec.overlap; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (subset (in1, in2), out)); + out = {testcases.out}'; + assert (isequaln (overlap (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.subset; + testcases = testdata.NoSignal.infsupdec.overlap; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); + out = {testcases.out}'; # Reshape data i = -1; do @@ -6713,32 +6181,32 @@ 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 (overlap (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/pow2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow2.m +[inst/@infsupdec/acosh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acosh.m ***** # from the documentation string -***** assert (isequal (pow2 (infsupdec (5)), infsupdec (32))); +***** 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.infsupdec.exp2; + testcases = testdata.NoSignal.infsupdec.acosh; for testcase = [testcases]' assert (isequaln (... - pow2 (testcase.in{1}), ... + acosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.exp2; + testcases = testdata.NoSignal.infsupdec.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pow2 (in1), out)); + assert (isequaln (acosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.exp2; + testcases = testdata.NoSignal.infsup.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6746,48 +6214,39 @@ 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)); + assert (isequaln (acosh (in1), out)); 4 tests, 4 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/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/rdivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rdivide.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)); +[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.infsupdec.div; + testcases = testdata.NoSignal.infsupdec.inf; for testcase = [testcases]' assert (isequaln (... - rdivide (testcase.in{1}, testcase.in{2}), ... + inf (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.div; + testcases = testdata.NoSignal.infsupdec.inf; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (rdivide (in1, in2), out)); + assert (isequaln (inf (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.div; + testcases = testdata.NoSignal.infsup.inf; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6796,27 +6255,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 (rdivide (in1, in2), out)); + assert (isequaln (inf (in1), out)); +7 tests, 7 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.infsupdec.recip; + testcases = testdata.NoSignal.infsupdec.cancelMinus; for testcase = [testcases]' assert (isequaln (... - rdivide (1, testcase.in{1}), ... + cancelminus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.recip; + testcases = testdata.NoSignal.infsupdec.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (rdivide (1, in1), out)); + assert (isequaln (cancelminus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.recip; + testcases = testdata.NoSignal.infsupdec.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6825,36 +6293,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 (rdivide (1, in1), out)); -8 tests, 8 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); + assert (isequaln (cancelminus (in1, in2), 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 +***** # from the documentation string +***** 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.infsupdec.sup; + testcases = testdata.NoSignal.infsupdec.asinh; for testcase = [testcases]' assert (isequaln (... - sup (testcase.in{1}), ... + asinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sup; + testcases = testdata.NoSignal.infsupdec.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sup (in1), out)); + assert (isequaln (asinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sup; + testcases = testdata.NoSignal.infsup.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6865,57 +6331,115 @@ 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/gamma.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gamma.m + assert (isequaln (asinh (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 ***** # from the documentation string -***** assert (isequal (gamma (infsupdec (1.5)), infsupdec ("[0x1.C5BF891B4EF6Ap-1, 0x1.C5BF891B4EF6Bp-1]_com"))); +***** 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/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"))); +[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/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/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/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]"))); ***** 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.infsupdec.log10; for testcase = [testcases]' assert (isequaln (... - round (testcase.in{1}), ... + log10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.roundTiesToAway; + testcases = testdata.NoSignal.infsupdec.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (round (in1), out)); + assert (isequaln (log10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6926,54 +6450,35 @@ 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/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/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/cosh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cosh.m + assert (isequaln (log10 (in1), 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 (cosh (infsupdec (1)), infsupdec ("[0x1.8B07551D9F55, 0x1.8B07551D9F551]"))); +***** 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.infsupdec.cosh; + testcases = testdata.NoSignal.infsupdec.mul; for testcase = [testcases]' assert (isequaln (... - cosh (testcase.in{1}), ... + times (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cosh; + testcases = testdata.NoSignal.infsupdec.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cosh (in1), out)); + assert (isequaln (times (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosh; + testcases = testdata.NoSignal.infsupdec.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6982,40 +6487,53 @@ 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)); + assert (isequaln (times (in1, in2), 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/exp.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/exp.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 (isequal (exp (infsupdec (1)), infsupdec ("e"))); +***** 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/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.infsupdec.exp; + testcases = testdata.NoSignal.infsupdec.decorationPart; for testcase = [testcases]' assert (isequaln (... - exp (testcase.in{1}), ... - testcase.out)); + decorationpart (testcase.in{1}), ... + {testcase.out})); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.exp; + testcases = testdata.NoSignal.infsupdec.decorationPart; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (exp (in1), out)); + out = {testcases.out}'; + assert (isequaln (decorationpart (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsupdec.decorationPart; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); + out = {testcases.out}'; # Reshape data i = -1; do @@ -7024,64 +6542,66 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (exp (in1), out)); -4 tests, 4 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/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/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/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 (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/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.infsupdec.strictPrecedes; + testcases = testdata.NoSignal.infsupdec.interior; for testcase = [testcases]' assert (isequaln (... - strictprecedes (testcase.in{1}, testcase.in{2}), ... + interior (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.strictPrecedes; + testcases = testdata.NoSignal.infsupdec.interior; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (strictprecedes (in1, in2), out)); + assert (isequaln (interior (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.strictPrecedes; + testcases = testdata.NoSignal.infsupdec.interior; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -7094,33 +6614,57 @@ 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)); -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 (interior (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 + 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]))) +7 tests, 7 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/rdivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rdivide.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)); ***** 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.infsupdec.div; for testcase = [testcases]' assert (isequaln (... - isempty (testcase.in{1}), ... + rdivide (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.isEmpty; + testcases = testdata.NoSignal.infsupdec.div; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (isempty (in1), out)); + assert (isequaln (rdivide (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEmpty; + 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; @@ -7129,36 +6673,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 (isempty (in1), 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 -***** # 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")); + assert (isequaln (rdivide (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mul; + testcases = testdata.NoSignal.infsupdec.recip; for testcase = [testcases]' assert (isequaln (... - times (testcase.in{1}, testcase.in{2}), ... + rdivide (1, testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mul; + testcases = testdata.NoSignal.infsupdec.recip; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (times (in1, in2), out)); + assert (isequaln (rdivide (1, in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mul; + testcases = testdata.NoSignal.infsupdec.recip; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7167,55 +6702,252 @@ 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/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/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/@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/minus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/minus.m -***** # from the documentation string -***** assert (isequal (infsupdec (2, 3) - infsupdec (1, 2), infsupdec (0, 2))); + assert (isequaln (rdivide (1, in1), out)); +8 tests, 8 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 = 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.infsupdec.sub; + testcases = testdata.NoSignal.infsup.setDec; for testcase = [testcases]' assert (isequaln (... - minus (testcase.in{1}, testcase.in{2}), ... + infsupdec (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sub; + testcases = testdata.NoSignal.infsup.setDec; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (minus (in1, in2), 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 +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.("d-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-textToInterval"); + for testcase = [testcases]' + assert (isequaln (... + infsupdec (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.("d-textToInterval"); + in1 = vertcat (testcases.in); + out = vertcat (testcases.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 # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sub; + testcases = testdata.NoSignal.infsupdec.("d-numsToInterval"); in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -7228,38 +6960,49 @@ 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)); -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 + assert (isequaln (infsupdec (in1, in2), out)); +44 tests, 44 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 (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 (isequal (ei (infsupdec (1)), infsupdec ("[0x1.E52670F350D08, 0x1.E52670F350D09]_com"))); +5 tests, 5 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/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.infsupdec.floor; + testcases = testdata.NoSignal.infsupdec.min; for testcase = [testcases]' assert (isequaln (... - floor (testcase.in{1}), ... + min (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.floor; + testcases = testdata.NoSignal.infsupdec.min; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (floor (in1), out)); + assert (isequaln (min (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsupdec.min; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7268,33 +7011,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 (floor (in1), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsupdec/power.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/power.m + assert (isequaln (min (in1, in2), 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 (infsupdec (-5, 6) .^ infsupdec (2, 3), infsupdec (-125, 216, "trv"))); +***** 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.infsupdec.sqr; + testcases = testdata.NoSignal.infsupdec.trunc; for testcase = [testcases]' assert (isequaln (... - power (testcase.in{1}, 2), ... + fix (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + testcases = testdata.NoSignal.infsupdec.trunc; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (power (in1, 2), out)); + assert (isequaln (fix (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsupdec.trunc; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7305,171 +7050,69 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (power (in1, 2), out)); -4 tests, 4 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/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/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)) + assert (isequaln (fix (in1), out)); 5 tests, 5 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/verintlinineqs.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verintlinineqs.m +[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 = [-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/@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/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/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/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/tanh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tanh.m -***** # from the documentation string -***** assert (tanh (infsup (1)) == "[0x1.85EFAB514F394p-1, 0x1.85EFAB514F395p-1]"); -***** # correct use of signed zeros + 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 - x = tanh (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + 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/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.tanh; + testcases = testdata.NoSignal.infsupdec.equal; for testcase = [testcases]' assert (isequaln (... - tanh (testcase.in{1}), ... + eq (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tanh; + testcases = testdata.NoSignal.infsupdec.equal; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (tanh (in1), out)); + assert (isequaln (eq (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanh; + 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; @@ -7478,39 +7121,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 (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)))); + assert (isequaln (eq (in1, in2), out)); +19 tests, 19 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.logp1; + testcases = testdata.NoSignal.infsupdec.precedes; for testcase = [testcases]' assert (isequaln (... - log1p (testcase.in{1}), ... + precedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.logp1; + testcases = testdata.NoSignal.infsupdec.precedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (log1p (in1), out)); + assert (isequaln (precedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.logp1; + 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; @@ -7519,61 +7160,51 @@ 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 (log1p (in1), out)); + assert (isequaln (precedes (in1, in2), out)); 5 tests, 5 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/dot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/dot.m +[inst/@infsupdec/dot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/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]); +***** 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 (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]); +***** 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 (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]); +***** 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 (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]); +***** 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 (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]); +***** 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 = 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])) + 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 = infsup (ones (2, 2, 2, 2)); - y = infsup (1); + 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]); @@ -7581,33 +7212,55 @@ 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/cot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cot.m +***** 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/gamma.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gamma.m ***** # from the documentation string -***** assert (cot (infsup (1)) == "[0x1.48C05D04E1CFDp-1, 0x1.48C05D04E1CFEp-1]"); +***** 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/atan2rev2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2rev2.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/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/@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/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.cot; + testcases = testdata.NoSignal.infsupdec.sinh; for testcase = [testcases]' assert (isequaln (... - cot (testcase.in{1}), ... + sinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cot; + testcases = testdata.NoSignal.infsupdec.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cot (in1), out)); + assert (isequaln (sinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cot; + testcases = testdata.NoSignal.infsupdec.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7618,91 +7271,32 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cot (in1), out)); + assert (isequaln (sinh (in1), out)); 4 tests, 4 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)))); -***** # 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/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/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/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)); +[inst/@infsupdec/exp.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/exp.m ***** # 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)))); +***** 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.abs; + testcases = testdata.NoSignal.infsupdec.exp; for testcase = [testcases]' assert (isequaln (... - abs (testcase.in{1}), ... + exp (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsupdec.exp; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (abs (in1), out)); + assert (isequaln (exp (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsup.exp; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7713,97 +7307,38 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/plot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plot.m -***** # this test is rather pointless -***** test - clf - plot (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 - 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 + assert (isequaln (exp (in1), out)); +4 tests, 4 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/@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); +[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.equal; + testcases = testdata.NoSignal.infsupdec.asin; for testcase = [testcases]' assert (isequaln (... - eq (testcase.in{1}, testcase.in{2}), ... + asin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.equal; + testcases = testdata.NoSignal.infsupdec.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (eq (in1, in2), out)); + assert (isequaln (asin (in1), out)); ***** test - # N-dimensional array evaluations - testcases = testdata.NoSignal.infsup.equal; + # N-dimensional array evaluation + 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; @@ -7812,39 +7347,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 (eq (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/atanh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atanh.m + assert (isequaln (asin (in1), out)); +4 tests, 4 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 (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)))); +***** 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.atanh; + testcases = testdata.NoSignal.infsupdec.exp2; for testcase = [testcases]' assert (isequaln (... - atanh (testcase.in{1}), ... + pow2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsupdec.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (atanh (in1), out)); + assert (isequaln (pow2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsupdec.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7852,49 +7381,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 (atanh (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 (dilog (infsup (1)) == "[0x1.A51A6625307D3, 0x1.A51A6625307D4]"); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/plus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plus.m + assert (isequaln (pow2 (in1), 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 (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)))); +***** 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.add; + testcases = testdata.NoSignal.infsupdec.atanh; for testcase = [testcases]' assert (isequaln (... - plus (testcase.in{1}, testcase.in{2}), ... + atanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.add; + testcases = testdata.NoSignal.infsupdec.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (plus (in1, in2), out)); + assert (isequaln (atanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.add; + testcases = testdata.NoSignal.infsup.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7903,65 +7419,229 @@ 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)); -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 + assert (isequaln (atanh (in1), out)); +4 tests, 4 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 (erf (infsup (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); -***** # correct use of signed zeros +***** assert (isequal (rsqrt (infsupdec (-6, 4)), infsupdec (.5, inf, "trv"))); +1 test, 1 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/vereigvec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/vereigvec.m ***** 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/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)); + 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 - 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 + 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 - x = acosh (infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + 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/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/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/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/@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.infsup.acosh; + testcases = testdata.NoSignal.infsup.isSingleton; for testcase = [testcases]' assert (isequaln (... - acosh (testcase.in{1}), ... + issingleton (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.acosh; + testcases = testdata.NoSignal.infsup.isSingleton; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (acosh (in1), out)); + assert (isequaln (issingleton (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acosh; + testcases = testdata.NoSignal.infsup.isSingleton; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7972,63 +7652,62 @@ 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/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/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])); + assert (isequaln (issingleton (in1), out)); ***** test - x = infsup (magic (3), magic (3) + 1); - assert (x(1) == infsup (8, 9)); + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isSingleton; + for testcase = [testcases]' + assert (isequaln (... + issingleton (testcase.in{1}), ... + testcase.out)); + endfor ***** test - x = infsup (magic (3), magic (3) + 1); - assert (x(:, 2) == infsup ([1; 5; 9], [2; 6; 10])); -***** assert (infsup (3).inf, 3); + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.isSingleton; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (issingleton (in1), out)); ***** 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/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/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)); + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.isSingleton; + 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 (issingleton (in1), out)); +13 tests, 13 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.infsup.sqrRev; + testcases = testdata.NoSignal.infsup.pownRev; for testcase = [testcases]' assert (isequaln (... - sqrrev (testcase.in{1}), ... + pownrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqrRev; + testcases = testdata.NoSignal.infsup.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1), out)); + assert (isequaln (pownrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrRev; + testcases = testdata.NoSignal.infsup.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -8037,28 +7716,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 (sqrrev (in1), out)); + assert (isequaln (pownrev (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sqrRevBin; + testcases = testdata.NoSignal.infsup.pownRevBin; for testcase = [testcases]' assert (isequaln (... - sqrrev (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.sqrRevBin; + testcases = testdata.NoSignal.infsup.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 (sqrrev (in1, in2), out)); + assert (isequaln (pownrev (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrRevBin; + testcases = testdata.NoSignal.infsup.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; @@ -8068,45 +7750,45 @@ 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 (sqrrev (in1, in2), out)); + assert (isequaln (pownrev (in1, in2, in3), out)); 7 tests, 7 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/hypot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/hypot.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)))); +[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/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.infsup.hypot; + testcases = testdata.NoSignal.infsup.isMember; for testcase = [testcases]' assert (isequaln (... - hypot (testcase.in{1}, testcase.in{2}), ... + ismember (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.hypot; + testcases = testdata.NoSignal.infsup.isMember; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (hypot (in1, in2), out)); + assert (isequaln (ismember (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.hypot; + testcases = testdata.NoSignal.infsup.isMember; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -8119,38 +7801,27 @@ 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)))); -***** 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.infsup.log; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isMember; for testcase = [testcases]' assert (isequaln (... - log (testcase.in{1}), ... + ismember (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.log; + # 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 (log (in1), out)); + assert (isequaln (ismember (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log; + # 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; @@ -8159,29 +7830,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 (log (in1), out)); -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/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/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]"); + assert (isequaln (ismember (in1, in2), out)); +11 tests, 11 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 = sinh (infsup (0)); + 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 @@ -8189,21 +7874,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sinh; + testcases = testdata.NoSignal.infsup.roundTiesToEven; for testcase = [testcases]' assert (isequaln (... - sinh (testcase.in{1}), ... + roundb (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sinh; + testcases = testdata.NoSignal.infsup.roundTiesToEven; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sinh (in1), out)); + assert (isequaln (roundb (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sinh; + testcases = testdata.NoSignal.infsup.roundTiesToEven; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8214,37 +7899,40 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/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)))); + assert (isequaln (roundb (in1), out)); +25 tests, 25 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/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 (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.isSingleton; + testcases = testdata.NoSignal.infsup.rad; for testcase = [testcases]' assert (isequaln (... - issingleton (testcase.in{1}), ... + rad (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + testcases = testdata.NoSignal.infsup.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (issingleton (in1), out)); + assert (isequaln (rad (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + testcases = testdata.NoSignal.infsup.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8255,65 +7943,24 @@ 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 (rad (in1), out)); ***** test # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isSingleton; + testcases = testdata.NoSignal.infsupdec.rad; for testcase = [testcases]' assert (isequaln (... - issingleton (testcase.in{1}), ... + rad (testcase.in{1}), ... testcase.out)); endfor ***** test # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isSingleton; + testcases = testdata.NoSignal.infsupdec.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (issingleton (in1), out)); + assert (isequaln (rad (in1), out)); ***** test # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isSingleton; - 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 (issingleton (in1), out)); -13 tests, 13 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.infsup.neg; - for testcase = [testcases]' - assert (isequaln (... - uminus (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.neg; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (uminus (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.neg; + testcases = testdata.NoSignal.infsup.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8324,53 +7971,52 @@ 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/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/intersect.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/intersect.m + assert (isequaln (rad (in1), out)); +8 tests, 8 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/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/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/ceil.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ceil.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 ()); +***** assert (ceil (infsup ()) == infsup ()); ***** # Singleton intervals -***** assert (intersect (infsup (0), infsup (1)) == infsup ()); -***** assert (intersect (infsup (0), infsup (0)) == infsup (0)); +***** assert (ceil (infsup (0)) == infsup (0)); +***** assert (ceil (infsup (0.5)) == infsup (1)); +***** assert (ceil (infsup (-0.5)) == 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)); +***** 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 (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)); +***** 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 (intersect (infsup (1, 3), infsup (2, 4)) == infsup (2, 3)); +***** 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 = 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)); + x = ceil (infsup (-0.5)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** test - x = intersect (infsup (-1, 0), infsup (0, 1)); + x = ceil (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -8378,24 +8024,22 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.intersection; + testcases = testdata.NoSignal.infsup.ceil; for testcase = [testcases]' assert (isequaln (... - intersect (testcase.in{1}, testcase.in{2}), ... + ceil (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.intersection; + testcases = testdata.NoSignal.infsup.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (intersect (in1, in2), out)); + assert (isequaln (ceil (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.intersection; + 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; @@ -8404,76 +8048,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 (intersect (in1, in2), out)); -25 tests, 25 passed, 0 known failure, 0 skipped -[inst/@infsup/mtimes.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mtimes.m -***** # 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])); -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 -***** 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/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/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/newdec.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/newdec.m + assert (isequaln (ceil (in1), out)); +23 tests, 23 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 (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 (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.infsup.newDec; + testcases = testdata.NoSignal.infsup.cot; for testcase = [testcases]' assert (isequaln (... - newdec (testcase.in{1}), ... + cot (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.newDec; + testcases = testdata.NoSignal.infsup.cot; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (newdec (in1), out)); + assert (isequaln (cot (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.newDec; + testcases = testdata.NoSignal.infsup.cot; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8484,60 +8085,32 @@ 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/uplus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/uplus.m + assert (isequaln (cot (in1), out)); +4 tests, 4 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 (+infsup (2, 3) == infsup (2, 3)); +***** 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.infsup.pos; + testcases = testdata.NoSignal.infsup.sqrRev; for testcase = [testcases]' assert (isequaln (... - uplus (testcase.in{1}), ... + sqrrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pos; + testcases = testdata.NoSignal.infsup.sqrRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (uplus (in1), out)); + assert (isequaln (sqrrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pos; - 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 (uplus (in1), out)); -***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.pos; - for testcase = [testcases]' - assert (isequaln (... - uplus (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.pos; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (uplus (in1), out)); -***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pos; + testcases = testdata.NoSignal.infsup.sqrRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8548,33 +8121,25 @@ 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/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 (sqrrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.precedes; + testcases = testdata.NoSignal.infsup.sqrRevBin; for testcase = [testcases]' assert (isequaln (... - precedes (testcase.in{1}, testcase.in{2}), ... + sqrrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.precedes; + testcases = testdata.NoSignal.infsup.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (precedes (in1, in2), out)); + assert (isequaln (sqrrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.precedes; + testcases = testdata.NoSignal.infsup.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -8587,68 +8152,67 @@ 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/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)); + assert (isequaln (sqrrev (in1, in2), out)); +7 tests, 7 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 - [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/union.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/union.m + x = erf (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +2 tests, 2 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/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/idist.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/idist.m ***** # from the documentation string -***** assert (union (infsup (1, 3), infsup (2, 4)) == infsup (1, 4)); +***** assert (idist (infsup (0, 6), infsup (7, 20)), 1); +1 test, 1 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")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.convexHull; + testcases = testdata.NoSignal.infsup.add; for testcase = [testcases]' assert (isequaln (... - union (testcase.in{1}, testcase.in{2}), ... + plus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.convexHull; + testcases = testdata.NoSignal.infsup.add; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (union (in1, in2), out)); + assert (isequaln (plus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.convexHull; + testcases = testdata.NoSignal.infsup.add; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -8661,47 +8225,101 @@ 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/fminsearch.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fminsearch.m + assert (isequaln (plus (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/subsasgn.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subsasgn.m ***** test - sqr = @(x) x .^ 2; - [x, y] = fminsearch (sqr, infsup (-inf, inf)); - assert (y == 0); + 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/plot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plot.m +***** # this test is rather pointless +***** test + clf + plot (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 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)); + 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/csc.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/csc.m +[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/sign.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sign.m ***** # from the documentation string -***** assert (csc (infsup (1)) == "[0x1.303AA9620B223, 0x1.303AA9620B224]"); +***** 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")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.csc; + testcases = testdata.NoSignal.infsup.sign; for testcase = [testcases]' assert (isequaln (... - csc (testcase.in{1}), ... + sign (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.csc; + testcases = testdata.NoSignal.infsup.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (csc (in1), out)); + assert (isequaln (sign (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.csc; + testcases = testdata.NoSignal.infsup.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8712,55 +8330,32 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (csc (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/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/sinrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinrev.m + assert (isequaln (sign (in1), out)); +7 tests, 7 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 @@ -8771,27 +8366,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; @@ -8800,67 +8393,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 (sinrev (in1, in2), out)); + assert (isequaln (wid (in1), out)); 7 tests, 7 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/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/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)))); +[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/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; @@ -8870,82 +8436,67 @@ 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/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 -***** 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/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/asinh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/asinh.m + assert (isequaln (disjoint (in1, in2), out)); +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 (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 (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/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")); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.asinh; + # Scalar evaluation with one argument + testcases = testdata.NoSignal.infsup.absRev; for testcase = [testcases]' assert (isequaln (... - asinh (testcase.in{1}), ... + absrev (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.asinh; + # Vector evaluation with one argument + testcases = testdata.NoSignal.infsup.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (asinh (in1), out)); + assert (isequaln (absrev (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asinh; + # N-dimensional array evaluation with one argument + testcases = testdata.NoSignal.infsup.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8956,33 +8507,27 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/coshrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/coshrev.m -***** # from the documentation string -***** assert (coshrev (infsup (-2, 1)) == 0); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (absrev (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.coshRev; + # Scalar evaluation with two arguments + testcases = testdata.NoSignal.infsup.absRevBin; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}), ... + absrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.coshRev; + # 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 (coshrev (in1), out)); + assert (isequaln (absrev (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.coshRev; + # 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; @@ -8991,26 +8536,61 @@ 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), out)); + assert (isequaln (absrev (in1, in2), out)); +31 tests, 31 passed, 0 known failure, 0 skipped +[inst/@infsup/atan2rev1.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2rev1.m +***** # from the documentation string +***** assert (atan2rev1 (infsup (1, 2), infsup ("pi") / 4) == "[0x1.FFFFFFFFFFFFFp-1, 0x1.0000000000001p1]"); +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 +***** 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/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.infsup.coshRevBin; + testcases = testdata.NoSignal.infsup.pow; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}, testcase.in{2}), ... + pow (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.coshRevBin; + testcases = testdata.NoSignal.infsup.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (coshrev (in1, in2), out)); + assert (isequaln (pow (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.coshRevBin; + testcases = testdata.NoSignal.infsup.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -9023,37 +8603,40 @@ 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/pow10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow10.m + assert (isequaln (pow (in1, in2), out)); +5 tests, 5 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 (pow10 (infsup (5)) == infsup (100000)); +***** assert (infsup (2, 3) - infsup (1, 2) == infsup (0, 2)); ***** # correct use of signed zeros ***** test - x = pow10 (infsup (-inf, -realmax)); + 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.infsup.exp10; + testcases = testdata.NoSignal.infsup.sub; for testcase = [testcases]' assert (isequaln (... - pow10 (testcase.in{1}), ... + minus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.exp10; + testcases = testdata.NoSignal.infsup.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pow10 (in1), out)); + assert (isequaln (minus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp10; + testcases = testdata.NoSignal.infsup.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -9062,50 +8645,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 (pow10 (in1), out)); -4 tests, 4 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)); + assert (isequaln (minus (in1, in2), out)); 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)))); +[inst/@infsup/pown.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pown.m +***** # from the documentation string +***** 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.infsup.disjoint; + testcases = testdata.NoSignal.infsup.sqr; for testcase = [testcases]' assert (isequaln (... - disjoint (testcase.in{1}, testcase.in{2}), ... + pown (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.disjoint; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (disjoint (in1, in2), out)); + assert (isequaln (pown (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.disjoint; + 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; @@ -9114,43 +8683,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 (disjoint (in1, in2), out)); -5 tests, 5 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/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 (pown (in1, 2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.isEntire; + testcases = testdata.NoSignal.infsup.pown; for testcase = [testcases]' assert (isequaln (... - isentire (testcase.in{1}), ... + pown (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isEntire; + testcases = testdata.NoSignal.infsup.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (isentire (in1), out)); + assert (isequaln (pown (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEntire; + testcases = testdata.NoSignal.infsup.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -9159,25 +8713,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 (isentire (in1), out)); + assert (isequaln (pown (in1, in2), out)); +8 tests, 8 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/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 - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isEntire; + # Scalar evaluation + testcases = testdata.NoSignal.infsup.mig; for testcase = [testcases]' assert (isequaln (... - isentire (testcase.in{1}), ... + mig (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isEntire; + # Vector evaluation + testcases = testdata.NoSignal.infsup.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (isentire (in1), out)); + assert (isequaln (mig (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEntire; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9188,70 +8759,24 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/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 - x = rsqrt (infsup (0, inf)); - assert (signbit (inf (x))); -2 tests, 2 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/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 (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)))); -***** 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.acos; + testcases = testdata.NoSignal.infsupdec.mig; for testcase = [testcases]' assert (isequaln (... - acos (testcase.in{1}), ... + mig (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.acos; + testcases = testdata.NoSignal.infsupdec.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (acos (in1), out)); + assert (isequaln (mig (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acos; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9262,34 +8787,33 @@ 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/le.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/le.m -***** assert (le (infsup (1, 3), infsup (3))); + assert (isequaln (mig (in1), out)); +8 tests, 8 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.less; + testcases = testdata.NoSignal.infsup.tanRev; for testcase = [testcases]' assert (isequaln (... - le (testcase.in{1}, testcase.in{2}), ... + tanrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.less; + testcases = testdata.NoSignal.infsup.tanRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (le (in1, in2), out)); + assert (isequaln (tanrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.less; + testcases = testdata.NoSignal.infsup.tanRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -9298,100 +8822,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 (le (in1, in2), out)); -4 tests, 4 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")); + assert (isequaln (tanrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.overlap; + testcases = testdata.NoSignal.infsup.tanRevBin; for testcase = [testcases]' assert (isequaln (... - overlap (testcase.in{1}, testcase.in{2}), ... + tanrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.overlap; + testcases = testdata.NoSignal.infsup.tanRevBin; 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 (tanrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.overlap; + testcases = testdata.NoSignal.infsup.tanRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - out = {testcases.out}'; + out = vertcat (testcases.out); # Reshape data i = -1; do @@ -9401,59 +8854,42 @@ 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/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/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)))); + assert (isequaln (tanrev (in1, in2), out)); +7 tests, 7 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/realsqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/realsqrt.m +[inst/@infsup/tanh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tanh.m ***** # from the documentation string -***** assert (realsqrt (infsup (-6, 4)) == infsup (0, 2)); +***** assert (tanh (infsup (1)) == "[0x1.85EFAB514F394p-1, 0x1.85EFAB514F395p-1]"); ***** # correct use of signed zeros ***** test - x = realsqrt (infsup (0)); + x = tanh (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.infsup.sqrt; + testcases = testdata.NoSignal.infsup.tanh; for testcase = [testcases]' assert (isequaln (... - realsqrt (testcase.in{1}), ... + tanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqrt; + testcases = testdata.NoSignal.infsup.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (realsqrt (in1), out)); + assert (isequaln (tanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrt; + testcases = testdata.NoSignal.infsup.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9464,21 +8900,66 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (realsqrt (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/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)); + assert (isequaln (tanh (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 + 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/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 = sign (infsup (0)); + x = atan2 (0, infsup (1)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -9486,22 +8967,24 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sign; + testcases = testdata.NoSignal.infsup.atan2; for testcase = [testcases]' assert (isequaln (... - sign (testcase.in{1}), ... + atan2 (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sign; + testcases = testdata.NoSignal.infsup.atan2; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sign (in1), out)); + assert (isequaln (atan2 (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sign; + 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; @@ -9510,38 +8993,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 (sign (in1), out)); -7 tests, 7 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]"); + assert (isequaln (atan2 (in1, in2), out)); +6 tests, 6 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.infsup.powRev2; + testcases = testdata.NoSignal.infsup.strictLess; for testcase = [testcases]' assert (isequaln (... - powrev2 (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + lt (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.powRev2; + testcases = testdata.NoSignal.infsup.strictLess; 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 (lt (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.powRev2; + testcases = testdata.NoSignal.infsup.strictLess; 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; @@ -9551,33 +9033,41 @@ 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/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/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]"); + assert (isequaln (lt (in1, in2), out)); +5 tests, 5 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 - x = atan2 (0, infsup (1)); + 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 @@ -9585,24 +9075,22 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.atan2; + testcases = testdata.NoSignal.infsup.floor; for testcase = [testcases]' assert (isequaln (... - atan2 (testcase.in{1}, testcase.in{2}), ... + floor (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.atan2; + testcases = testdata.NoSignal.infsup.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (atan2 (in1, in2), out)); + assert (isequaln (floor (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atan2; + 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; @@ -9611,34 +9099,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 (atan2 (in1, in2), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/inf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/inf.m + assert (isequaln (floor (in1), out)); +23 tests, 23 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 (inf (infsup (2.5, 3.5)), 2.5); +***** 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.infsup.inf; + testcases = testdata.NoSignal.infsup.sech; for testcase = [testcases]' assert (isequaln (... - inf (testcase.in{1}), ... + sech (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.inf; + testcases = testdata.NoSignal.infsup.sech; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (inf (in1), out)); + assert (isequaln (sech (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.inf; + testcases = testdata.NoSignal.infsup.sech; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9649,13 +9140,26 @@ 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/atan2rev2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2rev2.m -***** # from the documentation string -***** assert (atan2rev2 (infsup (1, 2), infsup ("pi") / 4) == "[0x1.FFFFFFFFFFFFEp-1, 0x1.0000000000001p1]"); + assert (isequaln (sech (in1), out)); +5 tests, 5 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/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/mod.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mod.m ***** assert (mod (infsup (), infsup ()) == infsup ()); @@ -9725,47 +9229,141 @@ ***** 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/setxor.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/setxor.m +[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/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 ***** test - [z, z1, z2] = setxor (infsup (), infsup ()); - assert (isempty (z)); - assert (isempty (z1)); - assert (isempty (z2)); + 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 - [z, z1, z2] = setxor (infsup (-inf, inf), infsup ()); - assert (isentire (z)); - assert (isentire (z1)); - assert (isempty (z2)); + # Scalar evaluation + testcases = testdata.NoSignal.infsup.log2; + for testcase = [testcases]' + assert (isequaln (... + log2 (testcase.in{1}), ... + testcase.out)); + endfor ***** test - [z, z1, z2] = setxor (infsup (-inf, inf), infsup (2)); - assert (isentire (z)); - assert (z1 == infsup (-inf, 2)); - assert (z2 == infsup (2, inf)); + # Vector evaluation + testcases = testdata.NoSignal.infsup.log2; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (log2 (in1), out)); ***** test - [z, z1, z2] = setxor (infsup (2, 3), infsup (2)); - assert (z == infsup (2, 3)); - assert (z1 == infsup ()); - assert (z2 == infsup (2, 3)); + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.log2; + 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 (log2 (in1), out)); +5 tests, 5 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 - [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)); + 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/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 (acos (infsup (.5)) == "[0x1.0C152382D7365, 0x1.0C152382D7366]"); +***** # correct use of signed zeros ***** 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/log10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log10.m + x = acos (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.infsup.acos; + for testcase = [testcases]' + assert (isequaln (... + acos (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.acos; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (acos (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.acos; + 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 (acos (in1), out)); +18 tests, 18 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 (log10 (infsup (2)) == "[0x1.34413509F79FEp-2, 0x1.34413509F79FFp-2]"); +***** assert (fma (infsup (1+eps), infsup (7), infsup ("0.1")) == "[0x1.C666666666668p2, 0x1.C666666666669p2]"); ***** # correct use of signed zeros ***** test - x = log10 (infsup (1)); + 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 @@ -9773,22 +9371,26 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsup.fma; for testcase = [testcases]' assert (isequaln (... - log10 (testcase.in{1}), ... + fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.log10; + 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 (log10 (in1), out)); + assert (isequaln (fma (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log10; + 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; @@ -9797,112 +9399,119 @@ 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 (log10 (in1), out)); -5 tests, 5 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/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/sech.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sech.m + assert (isequaln (fma (in1, in2, in3), 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.infsup.csc; + for testcase = [testcases]' + assert (isequaln (... + csc (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.csc; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (csc (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.csc; + 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 (csc (in1), out)); +4 tests, 4 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/@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 (sech (infsup (1)) == "[0x1.4BCDC50ED6BE7p-1, 0x1.4BCDC50ED6BE8p-1]"); +***** assert (intersect (infsup (1, 3), infsup (2, 4)) == infsup (2, 3)); ***** # correct use of signed zeros ***** test - x = sech (infsup (0, inf)); + 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.infsup.sech; + testcases = testdata.NoSignal.infsup.intersection; for testcase = [testcases]' assert (isequaln (... - sech (testcase.in{1}), ... + intersect (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sech; + testcases = testdata.NoSignal.infsup.intersection; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sech (in1), out)); + assert (isequaln (intersect (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sech; + 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; @@ -9911,57 +9520,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 (sech (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); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/cancelplus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cancelplus.m + assert (isequaln (intersect (in1, in2), out)); +25 tests, 25 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 (cancelplus (infsup (2, 3), infsup (1, 1.5)) == infsup (3.5, 4)); +***** 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.infsup.cancelPlus; + testcases = testdata.NoSignal.infsup.mid; for testcase = [testcases]' assert (isequaln (... - cancelplus (testcase.in{1}, testcase.in{2}), ... + mid (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cancelPlus; + testcases = testdata.NoSignal.infsup.mid; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelplus (in1, in2), out)); + assert (isequaln (mid (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mid; + 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 (mid (in1), out)); ***** test # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.cancelPlus; + testcases = testdata.NoSignal.infsupdec.mid; for testcase = [testcases]' assert (isequaln (... - cancelplus (testcase.in{1}, testcase.in{2}), ... + mid (testcase.in{1}), ... testcase.out)); endfor ***** test # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.cancelPlus; + testcases = testdata.NoSignal.infsupdec.mid; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelplus (in1, in2), out)); + assert (isequaln (mid (in1), out)); ***** test - # N-dimensional array vector evaluation - testcases = testdata.NoSignal.infsupdec.cancelPlus; + # 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; @@ -9970,17 +9586,17 @@ 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/atan.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan.m + assert (isequaln (mid (in1), out)); +8 tests, 8 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 (atan (infsup (1)) == "[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-1]"); +***** 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 = atan (infsup (0)); + x = power (infsup (0), infsup (1)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -9988,21 +9604,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.sqr; for testcase = [testcases]' assert (isequaln (... - atan (testcase.in{1}), ... + power (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (atan (in1), out)); + assert (isequaln (power (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10013,33 +9629,48 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atan (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/pown.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pown.m + assert (isequaln (power (in1, 2), out)); +6 tests, 6 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 (pown (infsup (5, 6), 2) == infsup (25, 36)); -***** assert (pown (infsup (-2, 1), 2) == infsup (0, 4)); +***** 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/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.infsup.sqr; + testcases = testdata.NoSignal.infsup.tan; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, 2), ... + tan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsup.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, 2), out)); + assert (isequaln (tan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsup.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10050,27 +9681,41 @@ 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 (tan (in1), out)); +5 tests, 5 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.infsup.pown; + testcases = testdata.NoSignal.infsup.isCommonInterval; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, testcase.in{2}), ... + iscommoninterval (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pown; + testcases = testdata.NoSignal.infsup.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, in2), out)); + assert (isequaln (iscommoninterval (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pown; + 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; @@ -10079,62 +9724,25 @@ 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/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 (iscommoninterval (in1), out)); ***** test - # Scalar evaluation with one argument - testcases = testdata.NoSignal.infsup.absRev; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isCommonInterval; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}), ... + iscommoninterval (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation with one argument - testcases = testdata.NoSignal.infsup.absRev; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1), out)); + assert (isequaln (iscommoninterval (in1), out)); ***** test - # N-dimensional array evaluation with one argument - testcases = testdata.NoSignal.infsup.absRev; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10145,27 +9753,37 @@ 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 (iscommoninterval (in1), out)); +16 tests, 16 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 - # Scalar evaluation with two arguments - testcases = testdata.NoSignal.infsup.absRevBin; + 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 + testcases = testdata.NoSignal.infsup.exp10; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}, testcase.in{2}), ... + pow10 (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation with two arguments - testcases = testdata.NoSignal.infsup.absRevBin; + # Vector evaluation + testcases = testdata.NoSignal.infsup.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1, in2), out)); + assert (isequaln (pow10 (in1), out)); ***** test - # N-dimensional array evaluation with two arguments - testcases = testdata.NoSignal.infsup.absRevBin; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10174,17 +9792,52 @@ 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/cosrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cosrev.m + assert (isequaln (pow10 (in1), out)); +4 tests, 4 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 (cosrev (0, infsup (6, 9)) == "[0x1.F6A7A2955385Ep2, 0x1.F6A7A2955386p2]"); +***** 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/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 = cosrev (infsup (1), infsup (0)); + x = abs (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -10192,21 +9845,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cosRev; + testcases = testdata.NoSignal.infsup.abs; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}), ... + abs (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cosRev; + testcases = testdata.NoSignal.infsup.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1), out)); + assert (isequaln (abs (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosRev; + testcases = testdata.NoSignal.infsup.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10217,27 +9870,104 @@ 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 (abs (in1), out)); +27 tests, 27 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/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/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/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.infsup.cosRevBin; + testcases = testdata.NoSignal.infsup.csch; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}, testcase.in{2}), ... + csch (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cosRevBin; + testcases = testdata.NoSignal.infsup.csch; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1, in2), out)); + assert (isequaln (csch (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosRevBin; + testcases = testdata.NoSignal.infsup.csch; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10246,51 +9976,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 (cosrev (in1, in2), out)); -8 tests, 8 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)); -***** # correct use of signed zeros -***** test - x = nthroot (infsup (0), 2); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = nthroot (infsup (0, inf), -2); - assert (signbit (inf (x))); -***** test - x = nthroot (infsup (0, inf), -3); - assert (signbit (inf (x))); -***** assert (nthroot (infsup (-1, 1), 2) == infsup (0, 1)); -***** assert (nthroot (infsup (-1, 1), 3) == infsup (-1, 1)); -***** assert (nthroot (infsup (-1, 1), -2) == infsup (1, inf)); -***** assert (nthroot (infsup (-1, 1), -3) == infsup (-inf, inf)); + assert (isequaln (csch (in1), out)); +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 (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.infsup.rootn; + testcases = testdata.NoSignal.infsup.powRev2; for testcase = [testcases]' assert (isequaln (... - nthroot (testcase.in{1}, testcase.in{2}), ... + powrev2 (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.rootn; + 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 (nthroot (in1, in2), out)); + assert (isequaln (powrev2 (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.rootn; + 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; @@ -10298,70 +10015,74 @@ i = i + 1; testsize = factor (numel (in1) + i); until (numel (testsize) > 2) - if (i > numel (in1)) - i = i - numel (in1); - in1 = [in1; in1]; - in2 = [in2; in2]; - out = [out; out]; - endif 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 (nthroot (in1, in2), out)); -11 tests, 11 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/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); + assert (isequaln (powrev2 (in1, in2, in3), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/sqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sqrt.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 (sqrt (infsup (-6, 4)) == infsup (0, 2)); -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/tanrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tanrev.m +***** assert (psi (infsup (1)) == "[-0x1.2788CFC6FB619p-1, -0x1.2788CFC6FB618p-1]"); +12 tests, 12 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))))); +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/sinrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinrev.m ***** # from the documentation string -***** assert (tanrev (infsup (0), infsup (2, 4)) == infsup ("pi")); +***** 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.infsup.tanRev; + testcases = testdata.NoSignal.infsup.sinRev; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}), ... + sinrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tanRev; + testcases = testdata.NoSignal.infsup.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1), out)); + assert (isequaln (sinrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanRev; + testcases = testdata.NoSignal.infsup.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10372,25 +10093,25 @@ 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 (sinrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.tanRevBin; + testcases = testdata.NoSignal.infsup.sinRevBin; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}, testcase.in{2}), ... + sinrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tanRevBin; + testcases = testdata.NoSignal.infsup.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1, in2), out)); + assert (isequaln (sinrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanRevBin; + testcases = testdata.NoSignal.infsup.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -10403,20 +10124,15 @@ 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)); + assert (isequaln (sinrev (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 +[inst/@infsup/atan.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan.m ***** # from the documentation string -***** assert (sin (infsup (1)) == "[0x1.AED548F090CEEp-1, 0x1.AED548F090CEFp-1]"); +***** assert (atan (infsup (1)) == "[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-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])); + x = atan (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -10424,21 +10140,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsup.atan; for testcase = [testcases]' assert (isequaln (... - sin (testcase.in{1}), ... + atan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsup.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sin (in1), out)); + assert (isequaln (atan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsup.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10449,51 +10165,61 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/atan2rev1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2rev1.m -***** # from the documentation string -***** assert (atan2rev1 (infsup (1, 2), infsup ("pi") / 4) == "[0x1.FFFFFFFFFFFFFp-1, 0x1.0000000000001p1]"); -1 test, 1 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/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]"); + assert (isequaln (atan (in1), out)); +5 tests, 5 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.infsup.coth; + testcases = testdata.NoSignal.infsup.roundTiesToAway; for testcase = [testcases]' assert (isequaln (... - coth (testcase.in{1}), ... + round (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.coth; + testcases = testdata.NoSignal.infsup.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (coth (in1), out)); + assert (isequaln (round (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.coth; + testcases = testdata.NoSignal.infsup.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10504,78 +10230,35 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (coth (in1), out)); -4 tests, 4 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/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/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)); + assert (isequaln (round (in1), out)); +23 tests, 23 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 (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 (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.infsup.trunc; + testcases = testdata.NoSignal.infsup.convexHull; for testcase = [testcases]' assert (isequaln (... - fix (testcase.in{1}), ... + union (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.trunc; + testcases = testdata.NoSignal.infsup.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (fix (in1), out)); + assert (isequaln (union (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.trunc; + testcases = testdata.NoSignal.infsup.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10584,33 +10267,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 (fix (in1), out)); -27 tests, 27 passed, 0 known failure, 0 skipped -[inst/@infsup/cos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cos.m + assert (isequaln (union (in1, in2), out)); +4 tests, 4 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 (cos (infsup (1)) == "[0x1.14A280FB5068Bp-1, 0x1.14A280FB5068Cp-1]"); +***** 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/sec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sec.m +***** # from the documentation string +***** 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.infsup.cos; + testcases = testdata.NoSignal.infsup.sec; for testcase = [testcases]' assert (isequaln (... - cos (testcase.in{1}), ... + sec (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cos; + testcases = testdata.NoSignal.infsup.sec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cos (in1), out)); + assert (isequaln (sec (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cos; + testcases = testdata.NoSignal.infsup.sec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10621,34 +10314,38 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cos (in1), out)); + assert (isequaln (sec (in1), out)); 4 tests, 4 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)); +[inst/@infsup/cosrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cosrev.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)))); ***** 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.infsup.cosRev; for testcase = [testcases]' assert (isequaln (... - pownrev (testcase.in{1}, testcase.in{2}), ... + cosrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pownRev; + testcases = testdata.NoSignal.infsup.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pownrev (in1, in2), out)); + assert (isequaln (cosrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pownRev; + testcases = testdata.NoSignal.infsup.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10657,31 +10354,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 (cosrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.pownRevBin; + testcases = testdata.NoSignal.infsup.cosRevBin; for testcase = [testcases]' assert (isequaln (... - pownrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + cosrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pownRevBin; + testcases = testdata.NoSignal.infsup.cosRevBin; 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 (cosrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pownRevBin; + testcases = testdata.NoSignal.infsup.cosRevBin; 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; @@ -10691,37 +10385,49 @@ 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)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/cancelminus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cancelminus.m + assert (isequaln (cosrev (in1, in2), out)); +8 tests, 8 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 (cancelminus (infsup (2, 3), infsup (1, 1.5)) == infsup (1, 1.5)); + assert (setdiff (infsup (1, 3), infsup (2, 4)) == infsup (1, 2)); +5 tests, 5 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.infsup.cancelMinus; + testcases = testdata.NoSignal.infsup.expm1; for testcase = [testcases]' assert (isequaln (... - cancelminus (testcase.in{1}, testcase.in{2}), ... + expm1 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cancelMinus; + testcases = testdata.NoSignal.infsup.expm1; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelminus (in1, in2), out)); + assert (isequaln (expm1 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cancelMinus; + 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; @@ -10730,40 +10436,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 (cancelminus (in1, in2), out)); + assert (isequaln (expm1 (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/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)))); +[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.infsup.isMember; + testcases = testdata.NoSignal.infsup.neg; for testcase = [testcases]' assert (isequaln (... - ismember (testcase.in{1}, testcase.in{2}), ... + uminus (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isMember; + testcases = testdata.NoSignal.infsup.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (ismember (in1, in2), out)); + assert (isequaln (uminus (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isMember; + testcases = testdata.NoSignal.infsup.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10772,70 +10484,83 @@ 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 (ismember (in1, in2), out)); + assert (isequaln (uminus (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 - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isMember; - for testcase = [testcases]' - assert (isequaln (... - ismember (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor + # from the documentation string + [a, b] = bisect (infsup (2, 32)); + assert (a == infsup (2, 8)); + assert (b == infsup (8, 32)); ***** test - # 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 (ismember (in1, in2), out)); + [a, b] = bisect (infsup (-inf, inf)); + assert (a == infsup (-inf, 0)); + assert (b == infsup (0, inf)); ***** test - # 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; - 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 (ismember (in1, in2), out)); -11 tests, 11 passed, 0 known failure, 0 skipped -[inst/@infsup/rad.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rad.m + [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/bitunpack.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/bitunpack.m ***** test; - [m, r] = rad (infsup (2.5, 3.5)); - assert (m, 3); - assert (r, .5); -***** # from the documentation string -***** assert (rad (infsup (2.5, 3.5)), .5); + 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/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.infsup.rad; + testcases = testdata.NoSignal.infsup.strictPrecedes; for testcase = [testcases]' assert (isequaln (... - rad (testcase.in{1}), ... + strictprecedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.rad; + testcases = testdata.NoSignal.infsup.strictPrecedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (rad (in1), out)); + assert (isequaln (strictprecedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.rad; + 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; @@ -10844,25 +10569,53 @@ 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 (rad (in1), out)); + assert (isequaln (strictprecedes (in1, in2), out)); +5 tests, 5 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/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 - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.rad; + 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/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/cosh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cosh.m +***** # from the documentation string +***** 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.infsup.cosh; for testcase = [testcases]' assert (isequaln (... - rad (testcase.in{1}), ... + cosh (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.rad; + # Vector evaluation + testcases = testdata.NoSignal.infsup.cosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (rad (in1), out)); + assert (isequaln (cosh (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.rad; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.cosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10873,51 +10626,81 @@ 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/prod.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/prod.m + assert (isequaln (cosh (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 (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/ctranspose.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ctranspose.m -***** assert (ctranspose (infsup (magic (3))) == infsup (magic (3)')); +***** 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/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 +***** 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/log2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log2.m +[inst/@infsup/realsqrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/realsqrt.m ***** # from the documentation string -***** assert (log2 (infsup (2)) == 1); +***** assert (realsqrt (infsup (-6, 4)) == infsup (0, 2)); ***** # correct use of signed zeros ***** test - x = log2 (infsup (1)); + 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.infsup.log2; + testcases = testdata.NoSignal.infsup.sqrt; for testcase = [testcases]' assert (isequaln (... - log2 (testcase.in{1}), ... + realsqrt (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsup.sqrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log2 (in1), out)); + assert (isequaln (realsqrt (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsup.sqrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10928,63 +10711,47 @@ 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/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 (isequaln (realsqrt (in1), out)); +6 tests, 6 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 +***** test + x = nextout (infsup (1)); + assert (inf (x), 1 - eps / 2); + assert (sup (x), 1 + eps); ***** # correct use of signed zeros ***** test - x = roundb (infsup (0)); + x = nextout (infsup (pow2 (-1074))); assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); ***** test - x = roundb (infsup (-0.25, 0.25)); - assert (signbit (inf (x))); + x = nextout (infsup (-pow2 (-1074))); assert (not (signbit (sup (x)))); +3 tests, 3 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 (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.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.cos; for testcase = [testcases]' assert (isequaln (... - roundb (testcase.in{1}), ... + cos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (roundb (in1), out)); + assert (isequaln (cos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10995,8 +10762,8 @@ 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 + assert (isequaln (cos (in1), out)); +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 @@ -11149,29 +10916,35 @@ 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/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); +[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.infsup.mag; + testcases = testdata.NoSignal.infsup.log; for testcase = [testcases]' assert (isequaln (... - mag (testcase.in{1}), ... + log (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mag; + testcases = testdata.NoSignal.infsup.log; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mag (in1), out)); + assert (isequaln (log (in1), out)); +***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mag; + testcases = testdata.NoSignal.infsup.log; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11182,24 +10955,32 @@ 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 (log (in1), out)); +5 tests, 5 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 - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.mag; + # Scalar evaluation + testcases = testdata.NoSignal.infsup.sup; for testcase = [testcases]' assert (isequaln (... - mag (testcase.in{1}), ... + sup (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.mag; + # Vector evaluation + testcases = testdata.NoSignal.infsup.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mag (in1), out)); + assert (isequaln (sup (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mag; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11210,35 +10991,32 @@ 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/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)); + assert (isequaln (sup (in1), 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); ***** 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.infsup.mag; for testcase = [testcases]' assert (isequaln (... - min (testcase.in{1}, testcase.in{2}), ... + mag (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.min; + testcases = testdata.NoSignal.infsup.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (min (in1, in2), out)); -***** test + assert (isequaln (mag (in1), out)); # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.min; + testcases = testdata.NoSignal.infsup.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11247,46 +11025,25 @@ 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/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/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 (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")); + assert (isequaln (mag (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.asin; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.mag; for testcase = [testcases]' assert (isequaln (... - asin (testcase.in{1}), ... + mag (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.asin; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (asin (in1), out)); + assert (isequaln (mag (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asin; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11297,32 +11054,49 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (asin (in1), out)); -6 tests, 6 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 (isequaln (mag (in1), out)); +7 tests, 7 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 + x = sumabs (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +3 tests, 3 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/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)); ***** 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.infsup.max; for testcase = [testcases]' assert (isequaln (... - interior (testcase.in{1}, testcase.in{2}), ... + max (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.interior; + testcases = testdata.NoSignal.infsup.max; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (interior (in1, in2), out)); + assert (isequaln (max (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.interior; + testcases = testdata.NoSignal.infsup.max; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -11335,40 +11109,20 @@ 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 (max (in1, in2), out)); 4 tests, 4 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)); +[inst/@infsup/sin.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sin.m ***** # from the documentation string -***** assert (ceil (infsup (2.5, 3.5)) == infsup (3, 4)); -***** assert (ceil (infsup (-.5, 5)) == infsup (0, 5)); +***** assert (sin (infsup (1)) == "[0x1.AED548F090CEEp-1, 0x1.AED548F090CEFp-1]"); ***** # correct use of signed zeros ***** test - x = ceil (infsup (-0.5)); + x = sin (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); +***** # test fix for bug #51283 ***** test - x = ceil (infsup (0)); + x = sin (infsup ([0, 0])); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -11376,21 +11130,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.ceil; + testcases = testdata.NoSignal.infsup.sin; for testcase = [testcases]' assert (isequaln (... - ceil (testcase.in{1}), ... + sin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.ceil; + testcases = testdata.NoSignal.infsup.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (ceil (in1), out)); + assert (isequaln (sin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.ceil; + testcases = testdata.NoSignal.infsup.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11401,40 +11155,37 @@ 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/pow.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow.m + assert (isequaln (sin (in1), out)); +6 tests, 6 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 (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)))); +***** 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.infsup.pow; + testcases = testdata.NoSignal.infsup.powRev1; for testcase = [testcases]' assert (isequaln (... - pow (testcase.in{1}, testcase.in{2}), ... + powrev1 (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pow; + 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 (pow (in1, in2), out)); + assert (isequaln (powrev1 (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pow; + 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; @@ -11444,39 +11195,36 @@ 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 (pow (in1, in2), out)); -5 tests, 5 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)))); + assert (isequaln (powrev1 (in1, in2, in3), 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")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsup.less; for testcase = [testcases]' assert (isequaln (... - tan (testcase.in{1}), ... + le (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsup.less; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (tan (in1), out)); + assert (isequaln (le (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsup.less; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11485,71 +11233,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 (tan (in1), out)); -5 tests, 5 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/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/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/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)); + 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/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.max; + testcases = testdata.NoSignal.infsup.isEmpty; for testcase = [testcases]' assert (isequaln (... - max (testcase.in{1}, testcase.in{2}), ... + isempty (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.max; + testcases = testdata.NoSignal.infsup.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (max (in1, in2), out)); + assert (isequaln (isempty (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.max; + testcases = testdata.NoSignal.infsup.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11558,35 +11275,67 @@ 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)); + assert (isequaln (isempty (in1), out)); +5 tests, 5 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/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/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))); +[inst/@infsup/cancelplus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cancelplus.m +***** # from the documentation string +***** 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.infsup.strictLess; + testcases = testdata.NoSignal.infsup.cancelPlus; for testcase = [testcases]' assert (isequaln (... - lt (testcase.in{1}, testcase.in{2}), ... + cancelplus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.strictLess; + testcases = testdata.NoSignal.infsup.cancelPlus; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (lt (in1, in2), out)); + assert (isequaln (cancelplus (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.strictLess; + # 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); @@ -11599,143 +11348,34 @@ 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)); -5 tests, 5 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/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 -warning: test: file /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/display.m leaked global variables: current_print_indent_level -8 tests, 8 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]"); + assert (isequaln (cancelplus (in1, in2), out)); +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")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.powRev1; + testcases = testdata.NoSignal.infsup.subset; for testcase = [testcases]' assert (isequaln (... - powrev1 (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + subset (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.powRev1; + testcases = testdata.NoSignal.infsup.subset; 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)); + assert (isequaln (subset (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.powRev1; + testcases = testdata.NoSignal.infsup.subset; 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; @@ -11745,9 +11385,8 @@ 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)); + assert (isequaln (subset (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@infsup/issquare.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/issquare.m @@ -11757,56 +11396,36 @@ ***** assert (not (issquare (infsup (zeros (2, 1))))); ***** assert (issquare (infsup (zeros (5)))); 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/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]); +[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/coshrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/coshrev.m ***** # 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/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/subset.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subset.m -***** assert (subset (infsup (1, 2), infsup (1, 3))); +***** 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.infsup.subset; + testcases = testdata.NoSignal.infsup.coshRev; for testcase = [testcases]' assert (isequaln (... - subset (testcase.in{1}, testcase.in{2}), ... + coshrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.subset; + testcases = testdata.NoSignal.infsup.coshRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (subset (in1, in2), out)); + assert (isequaln (coshrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.subset; + 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; @@ -11815,39 +11434,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 (subset (in1, in2), out)); -4 tests, 4 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")); + assert (isequaln (coshrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.exp2; + testcases = testdata.NoSignal.infsup.coshRevBin; for testcase = [testcases]' assert (isequaln (... - pow2 (testcase.in{1}), ... + coshrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.exp2; + testcases = testdata.NoSignal.infsup.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pow2 (in1), out)); + assert (isequaln (coshrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp2; + testcases = testdata.NoSignal.infsup.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11856,16 +11464,23 @@ 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 (pow2 (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/cbrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cbrt.m + assert (isequaln (coshrev (in1, in2), out)); +7 tests, 7 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 (cbrt (infsup (-27, 27)) == infsup (-3, 3)); +***** assert (dilog (infsup (1)) == "[0x1.A51A6625307D3, 0x1.A51A6625307D4]"); +2 tests, 2 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 (hypot (infsup (2, 3), infsup (1, 2)) == "[0x1.1E3779B97F4A7p1, 0x1.CD82B446159F4p1]"); ***** # correct use of signed zeros ***** test - x = cbrt (infsup (0)); + x = hypot (infsup (0), infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -11873,22 +11488,24 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cbrt; + testcases = testdata.NoSignal.infsup.hypot; for testcase = [testcases]' assert (isequaln (... - cbrt (testcase.in{1}), ... + hypot (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cbrt; + testcases = testdata.NoSignal.infsup.hypot; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cbrt (in1), out)); + assert (isequaln (hypot (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cbrt; + testcases = testdata.NoSignal.infsup.hypot; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11897,98 +11514,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 (cbrt (in1), out)); + assert (isequaln (hypot (in1, in2), out)); 5 tests, 5 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/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/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/rdivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rdivide.m +[inst/@infsup/newdec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/newdec.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 (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.infsup.div; + testcases = testdata.NoSignal.infsup.newDec; for testcase = [testcases]' assert (isequaln (... - rdivide (testcase.in{1}, testcase.in{2}), ... + newdec (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.div; + testcases = testdata.NoSignal.infsup.newDec; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (rdivide (in1, in2), out)); + assert (isequaln (newdec (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.div; + testcases = testdata.NoSignal.infsup.newDec; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11997,27 +11553,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 (rdivide (in1, in2), out)); + assert (isequaln (newdec (in1), out)); +6 tests, 6 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)); +***** # correct use of signed zeros +***** test + x = nthroot (infsup (0), 2); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = nthroot (infsup (0, inf), -2); + assert (signbit (inf (x))); +***** test + x = nthroot (infsup (0, inf), -3); + assert (signbit (inf (x))); +***** assert (nthroot (infsup (-1, 1), 2) == infsup (0, 1)); +***** assert (nthroot (infsup (-1, 1), 3) == infsup (-1, 1)); +***** assert (nthroot (infsup (-1, 1), -2) == infsup (1, inf)); +***** assert (nthroot (infsup (-1, 1), -3) == infsup (-inf, 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.recip; + testcases = testdata.NoSignal.infsup.rootn; for testcase = [testcases]' assert (isequaln (... - rdivide (1, testcase.in{1}), ... + nthroot (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.recip; + testcases = testdata.NoSignal.infsup.rootn; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (rdivide (1, in1), out)); + assert (isequaln (nthroot (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.recip; + testcases = testdata.NoSignal.infsup.rootn; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12025,36 +11604,135 @@ i = i + 1; testsize = factor (numel (in1) + i); until (numel (testsize) > 2) + if (i > numel (in1)) + i = i - numel (in1); + in1 = [in1; in1]; + in2 = [in2; in2]; + out = [out; out]; + endif 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/sup.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sup.m + assert (isequaln (nthroot (in1, in2), out)); +11 tests, 11 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/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/mtimes.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mtimes.m ***** # from the documentation string -***** assert (sup (infsup (2.5, 3.5)), 3.5); +***** 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/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/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.infsup.sup; + testcases = testdata.NoSignal.infsup.overlap; for testcase = [testcases]' assert (isequaln (... - sup (testcase.in{1}), ... + overlap (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sup; + testcases = testdata.NoSignal.infsup.overlap; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (sup (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.sup; + 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 @@ -12062,53 +11740,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 (sup (in1), out)); -4 tests, 4 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/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/round.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/round.m + assert (isequaln (overlap (in1, in2), out)); +19 tests, 19 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 (round (infsup ()) == infsup ()); +***** assert (acosh (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)); +***** 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 (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)); +***** assert (acosh (infsup (0, 1)) == infsup (0)); ***** # 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 (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 = round (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = round (infsup (-0.25, 0.25)); + x = acosh (infsup (1)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -12116,21 +11774,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.acosh; for testcase = [testcases]' assert (isequaln (... - round (testcase.in{1}), ... + acosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (round (in1), out)); + assert (isequaln (acosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12141,156 +11799,8 @@ 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/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/@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/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/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"); -13 tests, 13 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 + assert (isequaln (acosh (in1), out)); +15 tests, 15 passed, 0 known failure, 0 skipped [inst/@infsup/infsup.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/infsup.m ***** # Empty intervals @@ -12833,30 +12343,30 @@ assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); endfor 117 tests, 117 passed, 0 known failure, 0 skipped -[inst/@infsup/wid.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/wid.m +[inst/@infsup/inf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/inf.m ***** # from the documentation string -***** assert (wid (infsup (2.5, 3.5)), 1); +***** 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.wid; + testcases = testdata.NoSignal.infsup.inf; for testcase = [testcases]' assert (isequaln (... - wid (testcase.in{1}), ... + inf (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.wid; + testcases = testdata.NoSignal.infsup.inf; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (wid (in1), out)); + assert (isequaln (inf (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.wid; + testcases = testdata.NoSignal.infsup.inf; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12867,25 +12377,35 @@ 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 (inf (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 +***** # from the documentation string +***** 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 - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.wid; + # Scalar evaluation + testcases = testdata.NoSignal.infsup.cancelMinus; for testcase = [testcases]' assert (isequaln (... - wid (testcase.in{1}), ... + cancelminus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.wid; + # Vector evaluation + testcases = testdata.NoSignal.infsup.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (wid (in1), out)); + assert (isequaln (cancelminus (in1, in2), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.wid; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12894,34 +12414,39 @@ 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)); -7 tests, 7 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); + assert (isequaln (cancelminus (in1, in2), out)); +4 tests, 4 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 (mid (infsup (2.5, 3.5)), 3); +***** 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)))); ***** 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.infsup.asinh; for testcase = [testcases]' assert (isequaln (... - mid (testcase.in{1}), ... + asinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mid; + testcases = testdata.NoSignal.infsup.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mid (in1), out)); + assert (isequaln (asinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mid; + testcases = testdata.NoSignal.infsup.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12932,24 +12457,133 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mid (in1), out)); + assert (isequaln (asinh (in1), out)); +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/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/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/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/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/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 - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.mid; + # Scalar evaluation + testcases = testdata.NoSignal.infsup.coth; for testcase = [testcases]' assert (isequaln (... - mid (testcase.in{1}), ... + coth (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.mid; + # Vector evaluation + testcases = testdata.NoSignal.infsup.coth; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mid (in1), out)); + assert (isequaln (coth (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mid; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.coth; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12960,32 +12594,52 @@ 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/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); + assert (isequaln (coth (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/fminsearch.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fminsearch.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/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")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mig; + testcases = testdata.NoSignal.infsup.log10; for testcase = [testcases]' assert (isequaln (... - mig (testcase.in{1}), ... + log10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mig; + testcases = testdata.NoSignal.infsup.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mig (in1), out)); + assert (isequaln (log10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mig; + testcases = testdata.NoSignal.infsup.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12996,25 +12650,35 @@ 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 (log10 (in1), out)); +5 tests, 5 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)); +***** 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.mul; for testcase = [testcases]' assert (isequaln (... - mig (testcase.in{1}), ... + times (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mig; + testcases = testdata.NoSignal.infsup.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (mig (in1), out)); + assert (isequaln (times (in1, in2), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mig; + # N-dimensional array evaluation + 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; @@ -13023,34 +12687,93 @@ 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 (mig (in1), 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 + assert (isequaln (times (in1, in2), out)); +4 tests, 4 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/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 (cosh (infsup (1)) == "[0x1.8B07551D9F55, 0x1.8B07551D9F551]"); +***** 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/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 +***** 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/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.cosh; + testcases = testdata.NoSignal.infsup.interior; for testcase = [testcases]' assert (isequaln (... - cosh (testcase.in{1}), ... + interior (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cosh; + testcases = testdata.NoSignal.infsup.interior; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cosh (in1), out)); + assert (isequaln (interior (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosh; + testcases = testdata.NoSignal.infsup.interior; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -13059,38 +12782,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 (cosh (in1), out)); + assert (isequaln (interior (in1, in2), out)); 4 tests, 4 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 +[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 = expm1 (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + 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/uplus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/uplus.m +***** # from the documentation string +***** 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.infsup.expm1; + testcases = testdata.NoSignal.infsup.pos; for testcase = [testcases]' assert (isequaln (... - expm1 (testcase.in{1}), ... + uplus (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.expm1; + testcases = testdata.NoSignal.infsup.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (expm1 (in1), out)); + assert (isequaln (uplus (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.expm1; + testcases = testdata.NoSignal.infsup.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13101,15 +12836,50 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/exp.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/exp.m + assert (isequaln (uplus (in1), out)); +***** test + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.pos; + for testcase = [testcases]' + assert (isequaln (... + uplus (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.pos; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (uplus (in1), out)); +***** test + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.pos; + 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 (uplus (in1), out)); +7 tests, 7 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))))); +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 ***** # from the documentation string -***** assert (exp (infsup (1)) == infsup ("e")); +***** assert (log1p (infsup (eps)) == "[0x1.FFFFFFFFFFFFFp-53, 0x1p-52]"); ***** # correct use of signed zeros ***** test - x = exp (infsup (-realmax)); + x = log1p (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -13117,21 +12887,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsup.logp1; for testcase = [testcases]' assert (isequaln (... - exp (testcase.in{1}), ... + log1p (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsup.logp1; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (exp (in1), out)); + assert (isequaln (log1p (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsup.logp1; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13142,33 +12912,36 @@ 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 (log1p (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/sec.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sec.m +[inst/@infsup/rdivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rdivide.m ***** # from the documentation string -***** assert (sec (infsup (1)) == "[0x1.D9CF0F125CC29, 0x1.D9CF0F125CC2A]"); +***** 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.sec; + testcases = testdata.NoSignal.infsup.div; for testcase = [testcases]' assert (isequaln (... - sec (testcase.in{1}), ... + rdivide (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sec; + testcases = testdata.NoSignal.infsup.div; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sec (in1), out)); + assert (isequaln (rdivide (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sec; + 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; @@ -13177,72 +12950,73 @@ 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 (sec (in1), out)); -4 tests, 4 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/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/expm.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/expm.m -***** # from the paper + assert (isequaln (rdivide (in1, in2), out)); ***** 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/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)))); + # Scalar evaluation + testcases = testdata.NoSignal.infsup.recip; + for testcase = [testcases]' + assert (isequaln (... + rdivide (1, testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.recip; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (rdivide (1, in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.recip; + 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 (rdivide (1, in1), out)); +8 tests, 8 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/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.infsup.isCommonInterval; + testcases = testdata.NoSignal.infsup.isEntire; for testcase = [testcases]' assert (isequaln (... - iscommoninterval (testcase.in{1}), ... + isentire (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + testcases = testdata.NoSignal.infsup.isEntire; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (iscommoninterval (in1), out)); + assert (isequaln (isentire (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + testcases = testdata.NoSignal.infsup.isEntire; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13253,24 +13027,24 @@ 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 (isentire (in1), out)); ***** test # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isCommonInterval; + testcases = testdata.NoSignal.infsupdec.isEntire; for testcase = [testcases]' assert (isequaln (... - iscommoninterval (testcase.in{1}), ... + isentire (testcase.in{1}), ... testcase.out)); endfor ***** test # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isCommonInterval; + testcases = testdata.NoSignal.infsupdec.isEntire; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (iscommoninterval (in1), out)); + assert (isequaln (isentire (in1), out)); ***** test # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + testcases = testdata.NoSignal.infsup.isEntire; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13281,41 +13055,82 @@ 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/vertcat.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/vertcat.m -***** assert (vertcat (infsup (1), infsup (2)) == infsup (vertcat (1, 2))); + assert (isequaln (isentire (in1), out)); +11 tests, 11 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/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 - # 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/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)))); + 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.strictPrecedes; + testcases = testdata.NoSignal.infsup.cbrt; for testcase = [testcases]' assert (isequaln (... - strictprecedes (testcase.in{1}, testcase.in{2}), ... + cbrt (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.strictPrecedes; + testcases = testdata.NoSignal.infsup.cbrt; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (cbrt (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.cbrt; + 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 (cbrt (in1), out)); +5 tests, 5 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.infsup.min; + for testcase = [testcases]' + assert (isequaln (... + min (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.min; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (strictprecedes (in1, in2), out)); + assert (isequaln (min (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.strictPrecedes; + testcases = testdata.NoSignal.infsup.min; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -13328,32 +13143,77 @@ 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 (min (in1, in2), out)); +4 tests, 4 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/isempty.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isempty.m -***** assert (isempty (infsup ())); -***** assert (not (isempty (infsup (1, 2)))); +[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 (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)))); ***** 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.infsup.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.infsup.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.infsup.trunc; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13364,38 +13224,119 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (isempty (in1), out)); + assert (isequaln (fix (in1), out)); +27 tests, 27 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/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/hdist.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/hdist.m +[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/sqrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sqrt.m ***** # from the documentation string -***** assert (hdist (infsup (1, 6), infsup (2, 8)), 2); +***** assert (sqrt (infsup (-6, 4)) == infsup (0, 2)); 1 test, 1 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)); +[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.infsup.mul; + testcases = testdata.NoSignal.infsup.equal; for testcase = [testcases]' assert (isequaln (... - times (testcase.in{1}, testcase.in{2}), ... + eq (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mul; + testcases = testdata.NoSignal.infsup.equal; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (times (in1, in2), out)); + assert (isequaln (eq (in1, in2), out)); +***** test + # 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; + 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 (eq (in1, in2), out)); +7 tests, 7 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.infsup.precedes; + for testcase = [testcases]' + assert (isequaln (... + precedes (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.precedes; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + assert (isequaln (precedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mul; + testcases = testdata.NoSignal.infsup.precedes; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -13408,7 +13349,73 @@ 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)); + assert (isequaln (precedes (in1, in2), out)); +5 tests, 5 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/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/atan2rev2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2rev2.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/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/mpower.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mpower.m @@ -13420,39 +13427,13 @@ assert (signbit (inf (x(1, 2)))); assert (not (signbit (sup (x(1, 2))))); 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)); -***** # 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/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 - x = sumabs (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/idist.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/idist.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/csch.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/csch.m +[inst/@infsup/sinh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinh.m ***** # from the documentation string -***** assert (csch (infsup (1)) == "[0x1.B3AB8A78B90Cp-1, 0x1.B3AB8A78B90C1p-1]"); +***** assert (sinh (infsup (1)) == "[0x1.2CD9FC44EB982, 0x1.2CD9FC44EB983]"); ***** # correct use of signed zeros ***** test - x = csch (infsup (0, inf)); + x = sinh (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -13460,21 +13441,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.csch; + testcases = testdata.NoSignal.infsup.sinh; for testcase = [testcases]' assert (isequaln (... - csch (testcase.in{1}), ... + sinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.csch; + testcases = testdata.NoSignal.infsup.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (csch (in1), out)); + assert (isequaln (sinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.csch; + testcases = testdata.NoSignal.infsup.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13485,15 +13466,15 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (csch (in1), out)); + assert (isequaln (sinh (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/minus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/minus.m +[inst/@infsup/exp.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/exp.m ***** # from the documentation string -***** assert (infsup (2, 3) - infsup (1, 2) == infsup (0, 2)); +***** assert (exp (infsup (1)) == infsup ("e")); ***** # correct use of signed zeros ***** test - x = minus (infsup (0), infsup (0)); + x = exp (infsup (-realmax)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -13501,24 +13482,22 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sub; + testcases = testdata.NoSignal.infsup.exp; for testcase = [testcases]' assert (isequaln (... - minus (testcase.in{1}, testcase.in{2}), ... + exp (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sub; + testcases = testdata.NoSignal.infsup.exp; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (minus (in1, in2), out)); + assert (isequaln (exp (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sub; + 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; @@ -13527,50 +13506,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 (minus (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) + assert (isequaln (exp (in1), out)); 5 tests, 5 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/@infsup/erfc.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/erfc.m ***** # from the documentation string -***** assert (floor (infsup (2.5, 3.5)) == infsup (2, 3)); -***** assert (floor (infsup (-0.5, 5)) == infsup (-1, 5)); +***** assert (erfc (infsup (1)) == "[0x1.4226162FBDDD4p-3, 0x1.4226162FBDDD5p-3]"); ***** # correct use of signed zeros ***** test - x = floor (infsup (0.5)); + x = erfc (infsup (realmax)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); +2 tests, 2 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 = floor (infsup (0)); + [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/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/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 (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 @@ -13578,21 +13626,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsup.asin; for testcase = [testcases]' assert (isequaln (... - floor (testcase.in{1}), ... + asin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsup.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (floor (in1), out)); + assert (isequaln (asin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsup.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13603,38 +13651,36 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/power.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/power.m + assert (isequaln (asin (in1), out)); +6 tests, 6 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 (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])); + assert (pow2 (infsup (5)) == infsup (32)); ***** # correct use of signed zeros ***** test - x = power (infsup (0), infsup (1)); + x = pow2 (infsup (-inf, -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.sqr; + testcases = testdata.NoSignal.infsup.exp2; for testcase = [testcases]' assert (isequaln (... - power (testcase.in{1}, 2), ... + pow2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsup.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (power (in1, 2), out)); + assert (isequaln (pow2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsup.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13645,109 +13691,181 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/vereigback.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/vereigback.m + assert (isequaln (pow2 (in1), out)); +4 tests, 4 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 - [lambda, X, ep] = vereigback (eye (2)); - assert (lambda, [1; 1]); - assert (X, eye (2)); - assert (ep, zeros (2, 1)); + 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 - [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)); + # Scalar evaluation + testcases = testdata.NoSignal.infsup.atanh; + for testcase = [testcases]' + assert (isequaln (... + atanh (testcase.in{1}), ... + testcase.out)); + endfor ***** test - [lambda, X, ep] = vereigback ([2 0 0; 0 3 4; 0 4 9]); - assert (lambda, [1; 2; 11]); - assert (ep, zeros (3, 1)); + # Vector evaluation + testcases = testdata.NoSignal.infsup.atanh; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (atanh (in1), out)); ***** 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/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/verlinprog.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verlinprog.m + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.atanh; + 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 (atanh (in1), out)); +5 tests, 5 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 - 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/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); + 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 - x = infsup (0); - y = infsup (0); - [fval, cx] = c (y, x); - assert (fval == 0); - assert (cx == 0) + 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 - x = infsup ("pi") / 2; - y = infsup (0); - [fval, cx] = c (y, x); - assert (fval == "[0, 1]"); - assert (cx == x); + 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 - x = infsup ("pi") / 4; - y = infsup (0); - [fval, cx] = c (y, x); - assert (fval > 0); - assert (isempty (cx)); + 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 - x = infsup (0, eps); - y = infsup (0); - [fval, cx] = c (y, x); - assert (fval == "[0, 1]"); - assert (cx == 0); + 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/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 - x = infsup ("[0, pi]") / 2; - y = infsup (0); - [fval, cx] = c (y, x); - assert (fval == "[0, 1]"); - assert (cx == x); + x = rsqrt (infsup (0, inf)); + assert (signbit (inf (x))); +2 tests, 2 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/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/verlinineqnn.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verlinineqnn.m ***** test @@ -13771,228 +13889,79 @@ assert (x, [0; 0]); assert (isnan (y)); 3 tests, 3 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/__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/__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/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/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 Checking C++ files ... -[src/mpfr_vector_dot_d.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_vector_dot_d.cc -***** test; - [l, u] = mpfr_vector_dot_d (-1, -1, 2, 3, 1); - assert (l, -3); - assert (u, 6); -***** test; - x = [realmax, realmax, -realmax, -realmax, 1, eps/2]; - y = ones (size (x)); - [l, u] = mpfr_vector_dot_d (x, y, x, y, 2); - d = mpfr_vector_dot_d (0.5, x, y, 2); - assert (l, 1); - assert (u, 1 + eps); - assert (ismember (d, infsup (l, u))); -***** test; - [l, u] = mpfr_vector_dot_d (0, 0, inf, inf, 1); - d = mpfr_vector_dot_d (0.5, 0, inf, 1); - assert (l, 0); - assert (u, inf); - assert (isequaln (d, NaN)); -***** test; - x = reshape (1:24, 2, 3, 4); - y = 2.*ones (2, 3, 4); - [l u] = mpfr_vector_dot_d (x, y, x, y, 3); - d = mpfr_vector_dot_d (0.5, x, y, 3); - assert (l, [80, 96, 112; 88, 104, 120]); - assert (u, [80, 96, 112; 88, 104, 120]); - assert (d, [80, 96, 112; 88, 104, 120]); -***** shared testdata - testdata = load (file_in_loadpath ("test/itl.mat")); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.double.dot_nearest; - for testcase = [testcases]' - assert (isequaln (... - mpfr_vector_dot_d (0.5, testcase.in{1}, testcase.in{2}, 2), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.double.dot_nearest; - in1 = vertcat (testcases.in)(:, 1); - in1 = cell2mat (cellfun ("postpad", in1, {(max (cellfun ("numel", in1)))}, "UniformOutput", false)); - in2 = vertcat (testcases.in)(:, 2); - in2 = cell2mat (cellfun ("postpad", in2, {(max (cellfun ("numel", in2)))}, "UniformOutput", false)); - out = vertcat (testcases.out); - assert (isequaln (mpfr_vector_dot_d (0.5, in1, in2, 2), out)); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.double.sum_sqr_nearest; - for testcase = [testcases]' - assert (isequaln (... - mpfr_vector_dot_d (0.5, testcase.in{1}, testcase.in{1}, 2), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.double.sum_sqr_nearest; - in1 = vertcat (testcases.in); - in1 = cell2mat (cellfun ("postpad", in1, {(max (cellfun ("numel", in1)))}, "UniformOutput", false)); - 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_sqr_d.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_matrix_sqr_d.cc +[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/crlibm_function.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/crlibm_function.cc ***** 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]); + 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_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/__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]"); @@ -14120,49 +14089,6 @@ ***** 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_to_string_d.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_to_string_d.cc -***** test; - [s, isexact] = mpfr_to_string_d (-inf, "decimal", .1); - assert (s, {"0.1"}); - assert (isexact, false); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", inf), {"inf"}); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", -inf), {"-inf"}); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", nan), {"nan"}); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", 0), {"0x0.0000000000000p+0"}); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", 2), {"0x1.0000000000000p+1"}); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", -1), {"-0x1.0000000000000p+0"}); -***** 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/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_vector_sum_d.cc] >>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_vector_sum_d.cc ***** assert (mpfr_vector_sum_d (0, [eps, realmax, realmax, -realmax, -realmax], 2), eps) @@ -14227,11 +14153,121 @@ 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/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); +[src/mpfr_to_string_d.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_to_string_d.cc +***** test; + [s, isexact] = mpfr_to_string_d (-inf, "decimal", .1); + assert (s, {"0.1"}); + assert (isexact, false); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", inf), {"inf"}); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", -inf), {"-inf"}); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", nan), {"nan"}); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", 0), {"0x0.0000000000000p+0"}); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", 2), {"0x1.0000000000000p+1"}); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", -1), {"-0x1.0000000000000p+0"}); +***** 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/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/mpfr_vector_dot_d.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_vector_dot_d.cc +***** test; + [l, u] = mpfr_vector_dot_d (-1, -1, 2, 3, 1); + assert (l, -3); + assert (u, 6); +***** test; + x = [realmax, realmax, -realmax, -realmax, 1, eps/2]; + y = ones (size (x)); + [l, u] = mpfr_vector_dot_d (x, y, x, y, 2); + d = mpfr_vector_dot_d (0.5, x, y, 2); + assert (l, 1); + assert (u, 1 + eps); + assert (ismember (d, infsup (l, u))); +***** test; + [l, u] = mpfr_vector_dot_d (0, 0, inf, inf, 1); + d = mpfr_vector_dot_d (0.5, 0, inf, 1); + assert (l, 0); + assert (u, inf); + assert (isequaln (d, NaN)); +***** test; + x = reshape (1:24, 2, 3, 4); + y = 2.*ones (2, 3, 4); + [l u] = mpfr_vector_dot_d (x, y, x, y, 3); + d = mpfr_vector_dot_d (0.5, x, y, 3); + assert (l, [80, 96, 112; 88, 104, 120]); + assert (u, [80, 96, 112; 88, 104, 120]); + assert (d, [80, 96, 112; 88, 104, 120]); +***** shared testdata + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.double.dot_nearest; + for testcase = [testcases]' + assert (isequaln (... + mpfr_vector_dot_d (0.5, testcase.in{1}, testcase.in{2}, 2), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.double.dot_nearest; + in1 = vertcat (testcases.in)(:, 1); + in1 = cell2mat (cellfun ("postpad", in1, {(max (cellfun ("numel", in1)))}, "UniformOutput", false)); + in2 = vertcat (testcases.in)(:, 2); + in2 = cell2mat (cellfun ("postpad", in2, {(max (cellfun ("numel", in2)))}, "UniformOutput", false)); + out = vertcat (testcases.out); + assert (isequaln (mpfr_vector_dot_d (0.5, in1, in2, 2), out)); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.double.sum_sqr_nearest; + for testcase = [testcases]' + assert (isequaln (... + mpfr_vector_dot_d (0.5, testcase.in{1}, testcase.in{1}, 2), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.double.sum_sqr_nearest; + in1 = vertcat (testcases.in); + in1 = cell2mat (cellfun ("postpad", in1, {(max (cellfun ("numel", in1)))}, "UniformOutput", false)); + 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_sqr_d.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_matrix_sqr_d.cc +***** 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]); +1 test, 1 passed, 0 known failure, 0 skipped Run tests in debian/check.m Checking supplementary TST files ... >>>>> processing crlibm.tst @@ -14259,13 +14295,13 @@ dh_octave_substvar -O--buildsystem=octave dh_installdeb -O--buildsystem=octave dh_gencontrol -O--buildsystem=octave -dpkg-gencontrol: warning: package octave-interval: substitution variable ${octave:Upstream-Description} unused, but is defined dpkg-gencontrol: warning: package octave-interval-doc: substitution variable ${octave:Depends} unused, but is defined +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_amd64.deb'. dpkg-deb: building package 'octave-interval' in '../octave-interval_3.2.1-6_amd64.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_amd64.buildinfo dpkg-genchanges --build=binary -O../octave-interval_3.2.1-6_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -14274,12 +14310,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/2496871/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2496871/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/83516 and its subdirectories -I: Current time: Tue Jun 10 02:32:15 -12 2025 -I: pbuilder-time-stamp: 1749565935 +I: removing directory /srv/workspace/pbuilder/2496871 and its subdirectories +I: Current time: Wed May 8 22:24:07 +14 2024 +I: pbuilder-time-stamp: 1715156647