Diff of the two buildlogs: -- --- b1/build.log 2024-05-15 07:09:18.138446458 +0000 +++ b2/build.log 2024-05-15 06:08:47.084993097 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue May 14 18:08:50 -12 2024 -I: pbuilder-time-stamp: 1715753330 +I: Current time: Wed Jun 18 02:17:18 +14 2025 +I: pbuilder-time-stamp: 1750162638 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -34,52 +34,84 @@ dpkg-source: info: applying display-plus-intervaltotext.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2275046/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/549488/tmp/hooks/D01_modify_environment starting +debug: Running on ionos5-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 Jun 17 12:17 /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/549488/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/549488/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' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='amd64' + 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=42 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='edb9176b5ab5471f855017e957aca45f' - 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='2275046' - PS1='# ' - PS2='> ' + INVOCATION_ID=7df0abf84bbc4cc8bfc5760ce478d520 + 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=549488 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.D1dDvtcC/pbuilderrc_W14H --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.D1dDvtcC/b1 --logfile b1/build.log octave-interval_3.2.1-6.dsc' - SUDO_GID='111' - SUDO_UID='106' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132:3128' + 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.D1dDvtcC/pbuilderrc_bV0Y --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.D1dDvtcC/b2 --logfile b2/build.log octave-interval_3.2.1-6.dsc' + SUDO_GID=110 + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos11-amd64 6.1.0-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.6.13+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.6.13-1~bpo12+1 (2024-02-15) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 13 11:26 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2275046/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Jun 16 17:46 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/549488/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -692,7 +724,7 @@ Get: 561 http://deb.debian.org/debian trixie/main amd64 libgmpxx4ldbl amd64 2:6.3.0+dfsg-2+b1 [329 kB] Get: 562 http://deb.debian.org/debian trixie/main amd64 libgmp-dev amd64 2:6.3.0+dfsg-2+b1 [640 kB] Get: 563 http://deb.debian.org/debian trixie/main amd64 libmpfr-dev amd64 4.2.1-1+b1 [263 kB] -Fetched 256 MB in 25s (10.1 MB/s) +Fetched 256 MB in 4s (58.4 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.) @@ -3025,7 +3057,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/549488/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/549488/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 @@ -3046,7 +3082,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 @@ -3136,21 +3172,21 @@ [MKOCTFILE] mpfr_function_d.cc [MKOCTFILE] mpfr_linspace_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-e2w4hA.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-1spXPk.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_linspace_d.cc -o /tmp/oct-KoC8xl.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-4pEVO6.o [MKOCTFILE] mpfr_to_string_d.cc [MKOCTFILE] mpfr_vector_sum_d.cc [MKOCTFILE] mpfr_vector_dot_d.cc [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 intervaltotext.cc -o /tmp/oct-OhELa9.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-1KtrSE.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-sAKeAb.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-WZFzvz.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-t1YsiZ.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-lAAxQp.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-dDbZ6c.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-N3mYV1.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-K6ujdj.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-2qhAFC.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-KpVGTe.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-U8hpDd.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-9dhros.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-DtUlBd.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 @@ -3192,8 +3228,7 @@ checking for fenv.h... yes checking for float.h... yes checking for fpu_control.h... yes -checking for log in -lm... 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-dDbZ6c.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 log in -lm... yes checking whether byte ordering is bigendian... no checking for long double with more range or precision than double... yes checking size of int... 4 @@ -3243,14 +3278,7 @@ 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 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_function_d.oct /tmp/oct-1KtrSE.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-WZFzvz.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-K6ujdj.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-N3mYV1.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_linspace_d.oct /tmp/oct-sAKeAb.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-lAAxQp.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-t1YsiZ.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-OhELa9.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 -Wno-unknown-pragmas -o __setround__.oct /tmp/oct-DtUlBd.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 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 @@ -3259,12 +3287,20 @@ 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_linspace_d.oct /tmp/oct-KoC8xl.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-1spXPk.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-U8hpDd.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-4pEVO6.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-9dhros.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-KpVGTe.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-2qhAFC.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-e2w4hA.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/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/license': Is a directory # The documentation build needs to load the package, # so we have to set paths for the build process. @@ -3464,60 +3500,113 @@ 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/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/license': Is a directory dh_octave_check -O--buildsystem=octave Checking package... Run the unit tests... Checking m files ... -[inst/interval_bitpack.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/interval_bitpack.m -***** test "bare"; - littleendian = bitunpack (uint16 (1))(1); - b = zeros (1, 128); - if (littleendian) - b([52, 63, 117, 127]) = 1; - else - b([7, 12, 71, 77]) = 1; - endif - decoded = interval_bitpack (logical (b)); - assert (eq (decoded, infsup (3, 4))); -***** test "decorated"; - littleendian = bitunpack (uint16 (1))(1); - b = zeros (1, 136); - if (littleendian) - b([52, 63, 117, 127, 133]) = 1; - else - b([7, 12, 71, 77, 133]) = 1; - endif - decoded = interval_bitpack (logical (b)); - assert (eq (decoded, infsupdec (3, 4))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/inf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/inf.m -***** # from the documentation string -***** assert (inf (infsup (2.5, 3.5)), 2.5); +[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/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/roundb.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/roundb.m +***** # Empty interval +***** assert (roundb (infsup ()) == infsup ()); +***** # Singleton intervals +***** assert (roundb (infsup (0)) == infsup (0)); +***** assert (roundb (infsup (0.5)) == infsup (0)); +***** assert (roundb (infsup (0.25)) == infsup (0)); +***** assert (roundb (infsup (0.75)) == infsup (1)); +***** assert (roundb (infsup (1.5)) == infsup (2)); +***** assert (roundb (infsup (-0.5)) == infsup (0)); +***** assert (roundb (infsup (-1.5)) == infsup (-2)); +***** # Bounded intervals +***** assert (roundb (infsup (-0.5, 0)) == infsup (0)); +***** assert (roundb (infsup (0, 0.5)) == infsup (0)); +***** assert (roundb (infsup (0.25, 0.5)) == infsup (0)); +***** assert (roundb (infsup (-1, 0)) == infsup (-1, 0)); +***** assert (roundb (infsup (-1, 1)) == infsup (-1, 1)); +***** assert (roundb (infsup (-realmin, realmin)) == infsup (0)); +***** assert (roundb (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); +***** # Unbounded intervals +***** assert (roundb (infsup (-realmin, inf)) == infsup (0, inf)); +***** assert (roundb (infsup (-realmax, inf)) == infsup (-realmax, inf)); +***** assert (roundb (infsup (-inf, realmin)) == infsup (-inf, 0)); +***** assert (roundb (infsup (-inf, realmax)) == infsup (-inf, realmax)); +***** assert (roundb (infsup (-inf, inf)) == infsup (-inf, inf)); +***** # correct use of signed zeros +***** test + x = roundb (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = roundb (infsup (-0.25, 0.25)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.inf; + testcases = testdata.NoSignal.infsup.roundTiesToEven; for testcase = [testcases]' assert (isequaln (... - inf (testcase.in{1}), ... + roundb (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.inf; + testcases = testdata.NoSignal.infsup.roundTiesToEven; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (inf (in1), out)); + assert (isequaln (roundb (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.inf; + testcases = testdata.NoSignal.infsup.roundTiesToEven; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3528,15 +3617,15 @@ 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/log2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log2.m + assert (isequaln (roundb (in1), out)); +25 tests, 25 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 (log2 (infsup (2)) == 1); +***** assert (log1p (infsup (eps)) == "[0x1.FFFFFFFFFFFFFp-53, 0x1p-52]"); ***** # correct use of signed zeros ***** test - x = log2 (infsup (1)); + x = log1p (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -3544,21 +3633,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsup.logp1; for testcase = [testcases]' assert (isequaln (... - log2 (testcase.in{1}), ... + log1p (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsup.logp1; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log2 (in1), out)); + assert (isequaln (log1p (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsup.logp1; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3569,8 +3658,89 @@ 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 (log1p (in1), out)); 5 tests, 5 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 (... + cosh (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.cosh; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (cosh (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.cosh; + 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 (cosh (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/plot3.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plot3.m +***** # this test is rather pointless +***** test + clf + plot3 (empty (), empty (), empty ()); + close +warning: using the gnuplot graphics toolkit is discouraged + +The gnuplot graphics toolkit is not actively maintained and has a number +of limitations that are unlikely to be fixed. Communication with gnuplot +uses a one-directional pipe and limited information is passed back to the +Octave interpreter so most changes made interactively in the plot window +will not be reflected in the graphics properties managed by Octave. For +example, if the plot window is closed with a mouse click, Octave will not +be notified and will not update its internal list of open figure windows. +The qt toolkit is recommended instead. +***** demo + clf + colormap hot + x = y = z = (1 : 3) + infsup ("[0, 1]"); + plot3 (x, y, z); + grid on +***** demo + clf + colormap jet + z = 1 : 8; + x = y = infsup ("[-1, 1]") ./ z; + plot3 (x, y, z); + grid on +***** demo + clf + [x, y] = meshgrid (mince (infsup ("[-5, 5]"), 20), ... + mince (infsup ("[0.1, 5]"), 10)); + z = log (hypot (x, y)); + blue = [38 139 210]/255; base2 = [238 232 213]/255; + plot3 (x, y, z, base2, blue); + view (330, 12) +***** demo + clf + [x, y] = meshgrid (midrad (-10 : 0.5 : 10, .25)); + z = sin (hypot (x, y)) .* hypot (x, y); + plot3 (mid (x), mid (y), z); + grid on +1 test, 1 passed, 0 known failure, 0 skipped [inst/@infsup/powrev1.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/powrev1.m ***** # from the documentation string @@ -3613,30 +3783,59 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (powrev1 (in1, in2, in3), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/subset.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subset.m -***** assert (subset (infsup (1, 2), infsup (1, 3))); +[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)); ***** 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.sqrRev; for testcase = [testcases]' assert (isequaln (... - subset (testcase.in{1}, testcase.in{2}), ... + sqrrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.subset; + testcases = testdata.NoSignal.infsup.sqrRev; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (sqrrev (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.sqrRev; + 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 (sqrrev (in1), out)); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.sqrRevBin; + for testcase = [testcases]' + assert (isequaln (... + sqrrev (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (subset (in1, in2), out)); + assert (isequaln (sqrrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.subset; + testcases = testdata.NoSignal.infsup.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -3649,32 +3848,37 @@ 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/tanrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tanrev.m + assert (isequaln (sqrrev (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 ***** # from the documentation string -***** assert (tanrev (infsup (0), infsup (2, 4)) == infsup ("pi")); +***** assert (atanh (infsup (.5)) == "[0x1.193EA7AAD030Ap-1, 0x1.193EA7AAD030Bp-1]"); +***** # correct use of signed zeros +***** test + x = atanh (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.tanRev; + testcases = testdata.NoSignal.infsup.atanh; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}), ... + atanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tanRev; + testcases = testdata.NoSignal.infsup.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1), out)); + assert (isequaln (atanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanRev; + testcases = testdata.NoSignal.infsup.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3685,25 +3889,120 @@ 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 (atanh (in1), 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/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.tanRevBin; + testcases = testdata.NoSignal.infsup.isSingleton; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}, testcase.in{2}), ... + issingleton (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tanRevBin; + testcases = testdata.NoSignal.infsup.isSingleton; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (issingleton (in1), out)); +***** test + # 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)); +***** test + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isSingleton; + for testcase = [testcases]' + assert (isequaln (... + issingleton (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.isSingleton; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (issingleton (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/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.pow; + for testcase = [testcases]' + assert (isequaln (... + pow (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1, in2), out)); + assert (isequaln (pow (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanRevBin; + testcases = testdata.NoSignal.infsup.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -3716,46 +4015,71 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tanrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/subsasgn.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subsasgn.m + assert (isequaln (pow (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/csc.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/csc.m +***** # 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 - 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/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/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); + # 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/union.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/union.m +***** # from the documentation string +***** assert (union (infsup (1, 3), infsup (2, 4)) == infsup (1, 4)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mig; + testcases = testdata.NoSignal.infsup.convexHull; for testcase = [testcases]' assert (isequaln (... - mig (testcase.in{1}), ... + union (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mig; + testcases = testdata.NoSignal.infsup.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (mig (in1), out)); + assert (isequaln (union (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mig; + 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; @@ -3764,26 +4088,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 (mig (in1), out)); + assert (isequaln (union (in1, in2), 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 # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mig; + testcases = testdata.NoSignal.infsup.cancelMinus; for testcase = [testcases]' assert (isequaln (... - mig (testcase.in{1}), ... + cancelminus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mig; + testcases = testdata.NoSignal.infsup.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (mig (in1), out)); + assert (isequaln (cancelminus (in1, in2), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mig; + # 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; @@ -3792,39 +4127,113 @@ 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/power.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/power.m + assert (isequaln (cancelminus (in1, in2), out)); +4 tests, 4 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 (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 +***** 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/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 - x = power (infsup (0), infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + # Scalar evaluation + testcases = testdata.NoSignal.infsup.tanRev; + for testcase = [testcases]' + assert (isequaln (... + tanrev (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.tanRev; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (tanrev (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.tanRev; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + # Reshape data + i = -1; + do + i = i + 1; + testsize = factor (numel (in1) + i); + until (numel (testsize) > 2) + in1 = reshape ([in1; in1(1:i)], testsize); + out = reshape ([out; out(1:i)], testsize); + assert (isequaln (tanrev (in1), out)); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.tanRevBin; + for testcase = [testcases]' + assert (isequaln (... + tanrev (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.tanRevBin; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + assert (isequaln (tanrev (in1, in2), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.tanRevBin; + 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 (tanrev (in1, in2), out)); +7 tests, 7 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/wid.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/wid.m +***** # from the documentation string +***** assert (wid (infsup (2.5, 3.5)), 1); ***** 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.wid; for testcase = [testcases]' assert (isequaln (... - power (testcase.in{1}, 2), ... + wid (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsup.wid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (power (in1, 2), out)); + assert (isequaln (wid (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsup.wid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3835,72 +4244,89 @@ 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/@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))); + assert (isequaln (wid (in1), out)); +***** test + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.wid; + for testcase = [testcases]' + assert (isequaln (... + wid (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.wid; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (wid (in1), out)); +***** test + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.wid; + 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 (wid (in1), out)); +7 tests, 7 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 (horzcat (a, a, a) == infsup ([2, 2, 2], [5, 5, 5])); + assert (vertcat (a, a, a) == infsup ([2; 2; 2], [5; 5; 5])); 2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/idist.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/idist.m +[inst/@infsup/sum.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sum.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/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"); +***** assert (sum ([infsup(1), pow2(-1074), -1]) == infsup (pow2 (-1074))); +***** assert (sum (infsup ([])) == 0); +***** # correct use of signed zeros ***** 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/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]"); + 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/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 = log10 (infsup (1)); + 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 @@ -3908,21 +4334,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsup.roundTiesToAway; for testcase = [testcases]' assert (isequaln (... - log10 (testcase.in{1}), ... + round (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsup.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log10 (in1), out)); + assert (isequaln (round (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsup.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3933,36 +4359,38 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/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)))); + assert (isequaln (round (in1), out)); +23 tests, 23 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.isEntire; + testcases = testdata.NoSignal.infsup.isMember; for testcase = [testcases]' assert (isequaln (... - isentire (testcase.in{1}), ... + ismember (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isEntire; + testcases = testdata.NoSignal.infsup.isMember; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (isentire (in1), out)); + assert (isequaln (ismember (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEntire; + testcases = testdata.NoSignal.infsup.isMember; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -3971,26 +4399,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 (isentire (in1), out)); + assert (isequaln (ismember (in1, in2), out)); ***** test # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isEntire; + testcases = testdata.NoSignal.infsupdec.isMember; for testcase = [testcases]' assert (isequaln (... - isentire (testcase.in{1}), ... + ismember (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isEntire; + testcases = testdata.NoSignal.infsupdec.isMember; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (isentire (in1), out)); + assert (isequaln (ismember (in1, in2), out)); ***** test # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEntire; + 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; @@ -3999,42 +4430,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 (isentire (in1), out)); + assert (isequaln (ismember (in1, in2), out)); 11 tests, 11 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)))); +[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.isCommonInterval; + testcases = testdata.NoSignal.infsup.strictPrecedes; for testcase = [testcases]' assert (isequaln (... - iscommoninterval (testcase.in{1}), ... + strictprecedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + testcases = testdata.NoSignal.infsup.strictPrecedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (iscommoninterval (in1), out)); + assert (isequaln (strictprecedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + 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; @@ -4043,25 +4469,153 @@ 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 (iscommoninterval (in1), out)); + assert (isequaln (strictprecedes (in1, in2), out)); +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 ()); +***** assert (mod (infsup (0), infsup ()) == infsup ()); +***** assert (mod (infsup (), infsup (0)) == infsup ()); +***** assert (mod (infsup (0), infsup (0)) == infsup ()); +***** assert (mod (infsup (1), infsup (0)) == infsup ()); +***** assert (mod (infsup (0, 1), infsup (0)) == infsup ()); +***** assert (mod (infsup (1, 2), infsup (0)) == infsup ()); +***** assert (mod (infsup (0, inf), infsup (0)) == infsup ()); +***** assert (mod (infsup (1, inf), infsup (0)) == infsup ()); +***** assert (mod (infsup (realmax, inf), infsup (0)) == infsup ()); +***** assert (mod (infsup (0), infsup (1)) == infsup (0)); +***** assert (mod (infsup (0), infsup (0, 1)) == infsup (0)); +***** assert (mod (infsup (0), infsup (1, 2)) == infsup (0)); +***** assert (mod (infsup (0), infsup (0, inf)) == infsup (0)); +***** assert (mod (infsup (0), infsup (1, inf)) == infsup (0)); +***** assert (mod (infsup (0), infsup (realmax, inf)) == infsup (0)); +***** assert (mod (infsup (1), infsup (1)) == infsup (0)); +***** assert (mod (infsup (2), infsup (1)) == infsup (0)); +***** assert (mod (infsup (4), infsup (2)) == infsup (0)); +***** assert (mod (infsup (6), infsup (3)) == infsup (0)); +***** assert (mod (infsup (8), infsup (2)) == infsup (0)); +***** assert (mod (infsup (9), infsup (3)) == infsup (0)); +***** assert (mod (infsup (realmax), infsup (realmax)) == infsup (0)); +***** assert (mod (infsup (realmax), infsup (realmax / 2)) == infsup (0)); +***** assert (mod (infsup (realmax), infsup (realmax / 4)) == infsup (0)); +***** assert (mod (infsup (realmax), infsup (realmax / 8)) == infsup (0)); +***** assert (mod (infsup (realmax), infsup (realmax / 16)) == infsup (0)); +***** assert (mod (infsup (realmax), infsup (realmax / 32)) == infsup (0)); +***** assert (mod (infsup (0.1), infsup (0.1)) == infsup (0)); +***** assert (mod (infsup (0.1 * 2), infsup (0.1)) == infsup (0)); +***** assert (mod (infsup (0.1 * 4), infsup (0.1)) == infsup (0)); +***** assert (mod (infsup (pi), infsup (pi)) == infsup (0)); +***** assert (mod (infsup (pi), infsup (pi / 2)) == infsup (0)); +***** assert (mod (infsup (pi), infsup (pi / 4)) == infsup (0)); +***** assert (mod (infsup (pow2 (-1074)), infsup (pow2 (-1074))) == infsup (0)); +***** assert (mod (infsup (pow2 (-1073)), infsup (pow2 (-1074))) == infsup (0)); +***** assert (mod (infsup (pow2 (-1072)), infsup (pow2 (-1074))) == infsup (0)); +***** assert (mod (infsup (1), infsup (2)) == infsup (1)); +***** assert (mod (infsup (0.5), infsup (1)) == infsup (0.5)); +***** assert (mod (infsup (pi), infsup (3.15)) == infsup (pi)); +***** assert (mod (infsup (1), infsup (2, 3)) == infsup (1)); +***** assert (mod (infsup (1), infsup (2, inf)) == infsup (1)); +***** assert (mod (infsup (0.5), infsup (1, 2)) == infsup (0.5)); +***** assert (mod (infsup (0.5), infsup (1, inf)) == infsup (0.5)); +***** assert (mod (infsup (pi), infsup (3.15)) == infsup (pi)); +***** assert (mod (infsup (pi), infsup (3.15, inf)) == infsup (pi)); +***** assert (mod (infsup (0, 1), infsup (0, 1)) == infsup (0, 1)); +***** assert (mod (infsup (0, 2), infsup (0, 1)) == infsup (0, 1)); +***** assert (mod (infsup (0, 1), infsup (0, 2)) == infsup (0, 1)); +***** assert (mod (infsup (0, realmax), infsup (0, realmax)) == infsup (0, realmax)); +***** assert (mod (infsup (realmax, inf), infsup (realmax, inf)) == infsup (0, inf)); +***** assert (mod (infsup (0, inf), infsup (0, inf)) == infsup (0, inf)); +***** assert (mod (infsup (0), infsup (1)) == infsup (0)); +***** assert (mod (infsup (1), infsup (1)) == infsup (0)); +***** assert (mod (infsup (0, 1), infsup (1)) == infsup (0, 1)); +***** assert (mod (infsup (1, 2), infsup (1)) == infsup (0, 1)); +***** assert (mod (infsup (0, inf), infsup (1)) == infsup (0, 1)); +***** assert (mod (infsup (1, inf), infsup (1)) == infsup (0, 1)); +***** assert (mod (infsup (realmax, inf), infsup (1)) == infsup (0, 1)); +***** assert (mod (infsup (1), infsup (1)) == infsup (0)); +***** assert (mod (infsup (1), infsup (0, 1)) == infsup (0, 0.5)); +***** assert (mod (infsup (1), infsup (1, 2)) == infsup (0, 1)); +***** assert (mod (infsup (1), infsup (0, inf)) == infsup (0, 1)); +***** assert (mod (infsup (1), infsup (1, inf)) == infsup (0, 1)); +***** assert (mod (infsup (1), infsup (2, inf)) == infsup (1)); +***** assert (mod (infsup (1), infsup (realmax, inf)) == infsup (1)); +66 tests, 66 passed, 0 known failure, 0 skipped +[inst/@infsup/setxor.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/setxor.m ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isCommonInterval; + [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/subsref.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subsref.m +***** assert (infsup (magic (3))([1, 2, 3]) == magic (3)([1, 2, 3])); +***** test + x = infsup (magic (3), magic (3) + 1); + assert (x(1) == infsup (8, 9)); +***** test + x = infsup (magic (3), magic (3) + 1); + assert (x(:, 2) == infsup ([1; 5; 9], [2; 6; 10])); +***** assert (infsup (3).inf, 3); +***** test + x = infsup (magic (3), magic (3) + 1); + assert (x.inf, magic (3)); +***** assert (reshape (infsup (1:16), 2, 2, 2, 2)(2, 7) == infsup (14)) +***** assert (reshape (infsup (1:16), 2, 2, 2, 2)(:, 2, 2, 2) == infsup ([15; 16])) +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/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.isEmpty; for testcase = [testcases]' assert (isequaln (... - iscommoninterval (testcase.in{1}), ... + isempty (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isCommonInterval; + # Vector evaluation + testcases = testdata.NoSignal.infsup.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (iscommoninterval (in1), out)); + assert (isequaln (isempty (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4072,47 +4626,99 @@ 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/nthroot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/nthroot.m -***** assert (nthroot (infsup (25, 36), 2) == infsup (5, 6)); + assert (isequaln (isempty (in1), out)); +5 tests, 5 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 = nthroot (infsup (0), 2); + 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 - x = nthroot (infsup (0, inf), -2); - assert (signbit (inf (x))); + # Scalar evaluation + testcases = testdata.NoSignal.infsup.neg; + for testcase = [testcases]' + assert (isequaln (... + uminus (testcase.in{1}), ... + testcase.out)); + endfor ***** test - x = nthroot (infsup (0, inf), -3); + # 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; + 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 (uminus (in1), out)); +5 tests, 5 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 (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 (not (signbit (sup (x)))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/cancelplus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cancelplus.m +***** # from the documentation string +***** assert (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.rootn; + testcases = testdata.NoSignal.infsup.cancelPlus; for testcase = [testcases]' assert (isequaln (... - nthroot (testcase.in{1}, testcase.in{2}), ... + cancelplus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.rootn; + testcases = testdata.NoSignal.infsup.cancelPlus; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (nthroot (in1, in2), out)); + assert (isequaln (cancelplus (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.rootn; + # 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); @@ -4122,24 +4728,18 @@ 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 (nthroot (in1, in2), out)); -11 tests, 11 passed, 0 known failure, 0 skipped -[inst/@infsup/pow.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow.m + assert (isequaln (cancelplus (in1, in2), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/exp.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/exp.m ***** # from the documentation string -***** assert (pow (infsup (5, 6), infsup (2, 3)) == infsup (25, 216)); +***** assert (exp (infsup (1)) == infsup ("e")); ***** # correct use of signed zeros ***** test - x = pow (infsup (0), infsup (1)); + x = exp (infsup (-realmax)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -4147,24 +4747,22 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.pow; + testcases = testdata.NoSignal.infsup.exp; for testcase = [testcases]' assert (isequaln (... - pow (testcase.in{1}, testcase.in{2}), ... + exp (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pow; + testcases = testdata.NoSignal.infsup.exp; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pow (in1, in2), out)); + assert (isequaln (exp (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pow; + 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; @@ -4173,67 +4771,204 @@ 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 (pow (in1, in2), out)); + assert (isequaln (exp (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/issquare.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/issquare.m -***** assert (issquare (infsup ([]))); -***** assert (issquare (infsup (0))); -***** assert (not (issquare (infsup (zeros (1, 2))))); -***** assert (not (issquare (infsup (zeros (2, 1))))); -***** assert (issquare (infsup (zeros (5)))); +[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/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 +[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/erf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/erf.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/mulrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mulrev.m -***** #IEEE Std 1788-2015 mulRevToPair examples +***** assert (erf (infsup (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); +***** # correct use of signed zeros ***** test - [u, v] = mulrev (infsup (0), infsup (1, 2)); - assert (isempty (u) & isempty (v)); + x = erf (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +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 +***** # from the documentation string +***** assert (realsqrt (infsup (-6, 4)) == infsup (0, 2)); +***** # correct use of signed zeros ***** test - [u, v] = mulrev (infsup (0), infsup (0, 1)); - assert (isentire (u) & isempty (v)); + x = realsqrt (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** test - [u, v] = mulrev (infsup (1), infsup (1, 2)); - assert (eq (u, infsup (1, 2)) & isempty (v)); + 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 - [u, v] = mulrev (infsup (1, inf), infsup (1)); - assert (eq (u, infsup (0, 1)) & isempty (v)); + # Scalar evaluation + testcases = testdata.NoSignal.infsup.sqrt; + for testcase = [testcases]' + assert (isequaln (... + realsqrt (testcase.in{1}), ... + testcase.out)); + endfor ***** test - [u, v] = mulrev (infsup (-1, 1), infsup (1, 2)); - assert (eq (u, infsup (-inf, -1)) & eq (v, infsup (1, inf))); + # Vector evaluation + testcases = testdata.NoSignal.infsup.sqrt; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (realsqrt (in1), out)); ***** test - [u, v] = mulrev (infsup (-inf, inf), infsup (1)); - assert (eq (u, infsup (-inf, 0)) & eq (v, infsup (0, inf))); + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.sqrt; + 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 (realsqrt (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[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.mulRevToPair1; + testcases = testdata.NoSignal.infsup.sqr; for testcase = [testcases]' assert (isequaln (... - nthargout (1, 2, @mulrev, testcase.in{1}, testcase.in{2}), ... + pown (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mulRevToPair1; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); + assert (isequaln (pown (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mulRevToPair1; + 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; @@ -4242,27 +4977,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 (nthargout (1, 2, @mulrev, in1, in2), out)); + assert (isequaln (pown (in1, 2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mulRevToPair2; + testcases = testdata.NoSignal.infsup.pown; for testcase = [testcases]' assert (isequaln (... - nthargout (2, @mulrev, testcase.in{1}, testcase.in{2}), ... + pown (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mulRevToPair2; + testcases = testdata.NoSignal.infsup.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); + assert (isequaln (pown (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mulRevToPair2; + testcases = testdata.NoSignal.infsup.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4275,27 +5009,44 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); + assert (isequaln (pown (in1, in2), out)); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsup/intervaltoexact.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/intervaltoexact.m +***** assert (intervaltoexact (infsup (1 + eps)), "[0x1.0000000000001p+0]"); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/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/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")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mulRev; + testcases = testdata.NoSignal.infsup.coshRev; for testcase = [testcases]' assert (isequaln (... - mulrev (testcase.in{1}, testcase.in{2}), ... + coshrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mulRev; + testcases = testdata.NoSignal.infsup.coshRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (mulrev (in1, in2), out)); + assert (isequaln (coshrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mulRev; + 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; @@ -4304,31 +5055,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 (mulrev (in1, in2), out)); + assert (isequaln (coshrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mulRevTen; + testcases = testdata.NoSignal.infsup.coshRevBin; for testcase = [testcases]' assert (isequaln (... - mulrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + coshrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mulRevTen; + testcases = testdata.NoSignal.infsup.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (mulrev (in1, in2, in3), out)); + assert (isequaln (coshrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mulRevTen; + testcases = testdata.NoSignal.infsup.coshRevBin; 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; @@ -4338,34 +5086,16 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mulrev (in1, in2, in3), out)); -18 tests, 18 passed, 0 known failure, 0 skipped -[inst/@infsup/acos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/acos.m -***** # Empty interval -***** assert (acos (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (acos (infsup (-1)) == infsup ("pi")); -***** assert (subset (acos (infsup (-.5)), union ((infsup ("pi") / 2), infsup ("pi")))); -***** assert (acos (infsup (0)) == infsup ("pi") / 2); -***** assert (subset (acos (infsup (.5)), union ((infsup ("pi") / 2), infsup (0)))); -***** assert (acos (infsup (1)) == infsup (0)); -***** # Bounded intervals -***** assert (acos (infsup (-1, 0)) == union ((infsup ("pi") / 2), infsup ("pi"))); -***** assert (acos (infsup (0, 1)) == union ((infsup ("pi") / 2), infsup (0))); -***** assert (acos (infsup (-1, 1)) == infsup (0, "pi")); -***** assert (acos (infsup (-2, 2)) == infsup (0, "pi")); -***** # Unbounded intervals -***** assert (acos (infsup (0, inf)) == union ((infsup ("pi") / 2), infsup (0))); -***** assert (acos (infsup (-inf, 0)) == union ((infsup ("pi") / 2), infsup ("pi"))); -***** assert (acos (infsup (-inf, inf)) == infsup (0, "pi")); + assert (isequaln (coshrev (in1, in2), out)); +7 tests, 7 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 (acos (infsup (.5)) == "[0x1.0C152382D7365, 0x1.0C152382D7366]"); +***** assert (tanh (infsup (1)) == "[0x1.85EFAB514F394p-1, 0x1.85EFAB514F395p-1]"); ***** # correct use of signed zeros ***** test - x = acos (infsup (1)); + x = tanh (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -4373,21 +5103,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.acos; + testcases = testdata.NoSignal.infsup.tanh; for testcase = [testcases]' assert (isequaln (... - acos (testcase.in{1}), ... + tanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.acos; + testcases = testdata.NoSignal.infsup.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 @@ -4398,51 +5128,59 @@ 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/erfc.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/erfc.m + assert (isequaln (tanh (in1), 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/mpower.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mpower.m ***** # from the documentation string -***** assert (erfc (infsup (1)) == "[0x1.4226162FBDDD4p-3, 0x1.4226162FBDDD5p-3]"); +***** assert (isequal (infsup (magic (3)) ^ 2, infsup (magic (3) ^ 2))); ***** # correct use of signed zeros ***** test - x = erfc (infsup (realmax)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + x = mpower (infsup (eye (2)), 2); + assert (signbit (inf (x(1, 2)))); + assert (not (signbit (sup (x(1, 2))))); 2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/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/mid.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mid.m -***** assert (mid (infsup (-inf, inf)), 0); +[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 (mid (infsup (2.5, 3.5)), 3); +***** assert (ei (infsup (1)) == "[0x1.E52670F350D08, 0x1.E52670F350D09]"); +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/coth.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/coth.m +***** # from the documentation string +***** assert (coth (infsup (1)) == "[0x1.50231499B6B1D, 0x1.50231499B6B1E]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mid; + testcases = testdata.NoSignal.infsup.coth; for testcase = [testcases]' assert (isequaln (... - mid (testcase.in{1}), ... + coth (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mid; + 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 # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mid; + testcases = testdata.NoSignal.infsup.coth; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4453,24 +5191,55 @@ 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 (coth (in1), out)); +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/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/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 - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.mid; + # Scalar evaluation + testcases = testdata.NoSignal.infsup.sec; for testcase = [testcases]' assert (isequaln (... - mid (testcase.in{1}), ... + sec (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.mid; + # Vector evaluation + testcases = testdata.NoSignal.infsup.sec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mid (in1), out)); + assert (isequaln (sec (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mid; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.sec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4481,60 +5250,55 @@ 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/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/postpad.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/postpad.m -***** assert (postpad (infsup (1:3), 4, 4) == infsup (1:4)); -***** assert (postpad (infsup (1:3), 2, 4) == infsup (1:2)); -***** assert (postpad (infsup (0), 10, 0, 3) == infsup (zeros (1, 1, 10))) -***** assert (postpad (infsup (zeros (1, 2, 2)), 3) == infsup (zeros (1, 3, 2))); + assert (isequaln (sec (in1), out)); 4 tests, 4 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/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/issingleton.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/issingleton.m -***** assert (issingleton (infsup (0))); -***** assert (issingleton (infsupdec (0))); -***** assert (not (issingleton (entire ()))); -***** assert (not (issingleton (intervalpart (entire ())))); -***** assert (not (issingleton (empty ()))); -***** assert (not (issingleton (intervalpart (empty ())))); -***** warning assert (not (issingleton (infsupdec (2, 1)))); +[inst/@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)))); ***** 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.fma; for testcase = [testcases]' assert (isequaln (... - issingleton (testcase.in{1}), ... + fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + 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 (issingleton (in1), out)); + assert (isequaln (fma (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + 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; @@ -4543,25 +5307,39 @@ 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 (issingleton (in1), out)); + assert (isequaln (fma (in1, in2, in3), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/sech.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sech.m +***** # from the documentation string +***** assert (sech (infsup (1)) == "[0x1.4BCDC50ED6BE7p-1, 0x1.4BCDC50ED6BE8p-1]"); +***** # correct use of signed zeros ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isSingleton; + 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.sech; for testcase = [testcases]' assert (isequaln (... - issingleton (testcase.in{1}), ... + sech (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isSingleton; + # Vector evaluation + testcases = testdata.NoSignal.infsup.sech; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (issingleton (in1), out)); + assert (isequaln (sech (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.sech; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4572,67 +5350,32 @@ 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/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/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 (sech (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/ei.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ei.m -***** assert (isempty (ei (infsup (0)))); -***** assert (isempty (ei (infsup (-inf, -2)))); -***** assert (isentire (ei (infsup (0, inf)))); -***** # from the documentation string -***** assert (ei (infsup (1)) == "[0x1.E52670F350D08, 0x1.E52670F350D09]"); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/sin.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sin.m +[inst/@infsup/sinrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinrev.m ***** # from the documentation string -***** assert (sin (infsup (1)) == "[0x1.AED548F090CEEp-1, 0x1.AED548F090CEFp-1]"); -***** # correct use of signed zeros -***** test - x = sin (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** # test fix for bug #51283 -***** test - x = sin (infsup ([0, 0])); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (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.sin; + testcases = testdata.NoSignal.infsup.sinRev; for testcase = [testcases]' assert (isequaln (... - sin (testcase.in{1}), ... + sinrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsup.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sin (in1), out)); + assert (isequaln (sinrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsup.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4643,56 +5386,64 @@ 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/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/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 (sinrev (in1), out)); ***** test - x = infsup (magic (3), magic (3) + 1); - assert (x(1) == infsup (8, 9)); + # Scalar evaluation + testcases = testdata.NoSignal.infsup.sinRevBin; + for testcase = [testcases]' + assert (isequaln (... + sinrev (testcase.in{1}, testcase.in{2}), ... + 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); + # Vector evaluation + testcases = testdata.NoSignal.infsup.sinRevBin; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + assert (isequaln (sinrev (in1, in2), 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])) + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.sinRevBin; + 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 (sinrev (in1, in2), out)); 7 tests, 7 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/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.strictLess; + testcases = testdata.NoSignal.infsup.max; for testcase = [testcases]' assert (isequaln (... - lt (testcase.in{1}, testcase.in{2}), ... + max (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.strictLess; + testcases = testdata.NoSignal.infsup.max; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (lt (in1, in2), out)); + assert (isequaln (max (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.strictLess; + testcases = testdata.NoSignal.infsup.max; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4705,32 +5456,50 @@ 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/le.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/le.m -***** assert (le (infsup (1, 3), infsup (3))); + assert (isequaln (max (in1, in2), 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 +***** test + [u, v] = mulrev (infsup (0), infsup (1, 2)); + assert (isempty (u) & isempty (v)); +***** test + [u, v] = mulrev (infsup (0), infsup (0, 1)); + assert (isentire (u) & isempty (v)); +***** test + [u, v] = mulrev (infsup (1), infsup (1, 2)); + assert (eq (u, infsup (1, 2)) & isempty (v)); +***** test + [u, v] = mulrev (infsup (1, inf), infsup (1)); + assert (eq (u, infsup (0, 1)) & isempty (v)); +***** test + [u, v] = mulrev (infsup (-1, 1), infsup (1, 2)); + assert (eq (u, infsup (-inf, -1)) & eq (v, infsup (1, inf))); +***** test + [u, v] = mulrev (infsup (-inf, inf), infsup (1)); + assert (eq (u, infsup (-inf, 0)) & eq (v, infsup (0, inf))); ***** 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.mulRevToPair1; for testcase = [testcases]' assert (isequaln (... - le (testcase.in{1}, testcase.in{2}), ... + nthargout (1, 2, @mulrev, testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.less; + testcases = testdata.NoSignal.infsup.mulRevToPair1; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (le (in1, in2), out)); + assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.less; + testcases = testdata.NoSignal.infsup.mulRevToPair1; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4743,42 +5512,134 @@ 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/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/times.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/times.m + assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.mulRevToPair2; + for testcase = [testcases]' + assert (isequaln (... + nthargout (2, @mulrev, testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.mulRevToPair2; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mulRevToPair2; + 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 (nthargout (2, @mulrev, in1, in2), out)); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.mulRev; + for testcase = [testcases]' + assert (isequaln (... + mulrev (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.mulRev; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + assert (isequaln (mulrev (in1, in2), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mulRev; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + # 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 (mulrev (in1, in2), out)); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.mulRevTen; + for testcase = [testcases]' + assert (isequaln (... + mulrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.mulRevTen; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); + out = vertcat (testcases.out); + assert (isequaln (mulrev (in1, in2, in3), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mulRevTen; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); + out = vertcat (testcases.out); + # Reshape data + i = -1; + 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); + in3 = reshape ([in3; in3(1:i)], testsize); + out = reshape ([out; out(1:i)], testsize); + assert (isequaln (mulrev (in1, in2, in3), out)); +18 tests, 18 passed, 0 known failure, 0 skipped +[inst/@infsup/log2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log2.m ***** # from the documentation string -***** assert (infsup (2, 3) .* infsup (1, 2) == infsup (2, 6)); +***** assert (log2 (infsup (2)) == 1); +***** # correct use of signed zeros +***** test + x = log2 (infsup (1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.mul; + testcases = testdata.NoSignal.infsup.log2; for testcase = [testcases]' assert (isequaln (... - times (testcase.in{1}, testcase.in{2}), ... + log2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mul; + testcases = testdata.NoSignal.infsup.log2; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (times (in1, in2), out)); + assert (isequaln (log2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mul; + testcases = testdata.NoSignal.infsup.log2; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4787,48 +5648,100 @@ 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/@infsup/isrow.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isrow.m -***** assert (not (isrow (infsup ([])))); -***** assert (isrow (infsup (0))); -***** assert (isrow (infsup (zeros (1, 2)))); -***** assert (not (isrow (infsup (zeros (2, 1))))); -***** assert (not (isrow (infsup (zeros (5))))); + assert (isequaln (log2 (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/sqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sqrt.m -***** # from the documentation string -***** assert (sqrt (infsup (-6, 4)) == infsup (0, 2)); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/cos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cos.m +[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/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 (cos (infsup (1)) == "[0x1.14A280FB5068Bp-1, 0x1.14A280FB5068Cp-1]"); +***** 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/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.cos; + testcases = testdata.NoSignal.infsup.strictLess; for testcase = [testcases]' assert (isequaln (... - cos (testcase.in{1}), ... + lt (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cos; + testcases = testdata.NoSignal.infsup.strictLess; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cos (in1), out)); + assert (isequaln (lt (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cos; + testcases = testdata.NoSignal.infsup.strictLess; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4837,81 +5750,116 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cos (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/erf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/erf.m + assert (isequaln (lt (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/cat.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cat.m +***** assert (size (cat (1, infsup ([]), infsup ([]))), [0 0]); +***** assert (cat (1, infsup (1), infsup (2)) == infsup (cat (1, 1, 2))); +***** assert (cat (2, infsup (1), infsup (2)) == infsup (cat (2, 1, 2))); +***** assert (cat (5, infsup (1), infsup (2)) == infsup (cat (5, 1, 2))); +***** assert (cat (1, infsup (zeros (2, 2, 2)), infsup (ones (2, 2, 2))) == infsup (cat (1, zeros (2, 2, 2), ones (2, 2, 2)))); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/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 (erf (infsup (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); +***** 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 = erf (infsup (0)); + x = fix (infsup (0.5)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); -2 tests, 2 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)); + x = fix (infsup (-0.5)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** test - [z, z1, z2] = setxor (infsup (-inf, inf), infsup (2)); - assert (isentire (z)); - assert (z1 == infsup (-inf, 2)); - assert (z2 == infsup (2, inf)); + 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 - [z, z1, z2] = setxor (infsup (2, 3), infsup (2)); - assert (z == infsup (2, 3)); - assert (z1 == infsup ()); - assert (z2 == infsup (2, 3)); + # Scalar evaluation + testcases = testdata.NoSignal.infsup.trunc; + for testcase = [testcases]' + assert (isequaln (... + fix (testcase.in{1}), ... + testcase.out)); + endfor ***** 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 + # Vector evaluation + testcases = testdata.NoSignal.infsup.trunc; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (fix (in1), out)); ***** 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/pow10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow10.m + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.trunc; + 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 (fix (in1), out)); +27 tests, 27 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 (pow10 (infsup (5)) == infsup (100000)); -***** # correct use of signed zeros -***** test - x = pow10 (infsup (-inf, -realmax)); - assert (signbit (inf (x))); +***** 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.exp10; + testcases = testdata.NoSignal.infsup.mid; for testcase = [testcases]' assert (isequaln (... - pow10 (testcase.in{1}), ... + mid (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.exp10; + testcases = testdata.NoSignal.infsup.mid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pow10 (in1), out)); + assert (isequaln (mid (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp10; + testcases = testdata.NoSignal.infsup.mid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4922,38 +5870,75 @@ 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/@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 (mid (in1), out)); +***** test + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.mid; + for testcase = [testcases]' + assert (isequaln (... + mid (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.mid; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (mid (in1), out)); +***** test + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.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)); +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 = atan2 (0, infsup (1)); + 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.atan2; + testcases = testdata.NoSignal.infsup.rootn; for testcase = [testcases]' assert (isequaln (... - atan2 (testcase.in{1}, testcase.in{2}), ... + nthroot (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.atan2; + testcases = testdata.NoSignal.infsup.rootn; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (atan2 (in1, in2), out)); + assert (isequaln (nthroot (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atan2; + testcases = testdata.NoSignal.infsup.rootn; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4963,19 +5948,55 @@ 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 (atan2 (in1, in2), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/norm.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/norm.m + assert (isequaln (nthroot (in1, in2), out)); +11 tests, 11 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/plot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plot.m +***** # this test is rather pointless ***** 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 + clf + plot (empty ()); + close +***** demo + clf + hold on + plot (infsup (0), infsup (0)); + plot (infsup (1, 2), infsup (0)); + plot (infsup (0), infsup (1, 2)); + plot (infsup (1, 2), infsup (1, 2)); + axis ([-.5, 2.5, -.5, 2.5]); + hold off +***** demo + clf + plot (infsup (-rand (50, 1), +rand (50, 1))); +***** demo + clf + hold on + axis off + range = infsup (0, 9); + x = linspace (inf (range), sup (range), 250); + X = mince (range, 9); + f = @ (x) 0.5 * sin (x) .* x .^ 2; + y = f (x); + Y = f (X); + plot (range, f (range), [42 161 152]/255); + plot (X, Y, [238 232 213]/255, [88 110 117]/255); + plot (x, y, '-', 'color', [220 50 47]/255, 'linewidth', 2); + hold off +1 test, 1 passed, 0 known failure, 0 skipped [inst/@infsup/infsup.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/infsup.m ***** # Empty intervals @@ -5518,74 +6539,36 @@ assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); endfor 117 tests, 117 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/uplus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/uplus.m +[inst/@infsup/power.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/power.m ***** # from the documentation string -***** assert (+infsup (2, 3) == infsup (2, 3)); +***** assert (infsup (-5, 6) .^ infsup (2, 3) == infsup (-125, 216)); +***** assert (infsup (-10, 0) .^ infsup (0, 1:8) == infsup ([-1e1, -1e1, -1e3, -1e3, -1e5, -1e5, -1e7, -1e7], [1e0, 1e2, 1e2, 1e4, 1e4, 1e6, 1e6, 1e8])); +***** # correct use of signed zeros +***** test + x = power (infsup (0), infsup (1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** 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.sqr; for testcase = [testcases]' assert (isequaln (... - uplus (testcase.in{1}), ... + power (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pos; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (uplus (in1), out)); + assert (isequaln (power (in1, 2), 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.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5596,40 +6579,95 @@ 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/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)); + 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 (floor (infsup (2.5, 3.5)) == infsup (2, 3)); -***** assert (floor (infsup (-0.5, 5)) == infsup (-1, 5)); +***** assert (sumsq ([infsup(1), pow2(-1074), -1]) == infsup (2, 2+eps*2)); +***** assert (sumsq (infsup ([])) == 0); ***** # correct use of signed zeros ***** test - x = floor (infsup (0.5)); + x = sumsq (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); +3 tests, 3 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/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 = floor (infsup (0)); + x = log10 (infsup (1)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -5637,21 +6675,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsup.log10; for testcase = [testcases]' assert (isequaln (... - floor (testcase.in{1}), ... + log10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsup.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (floor (in1), out)); + assert (isequaln (log10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsup.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5662,52 +6700,53 @@ 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/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/sdist.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sdist.m -***** # from the documentation string -***** assert (sdist (infsup (0, 6), infsup (7, 20)), -1); -***** assert (sdist (infsup (3, 5), infsup (0, 1)), 2); -2 tests, 2 passed, 0 known failure, 0 skipped + assert (isequaln (log10 (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/numel.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/numel.m +***** assert (numel (infsup ([])), 0); +***** assert (numel (infsup (0)), 1); +***** assert (numel (infsup (zeros (3, 1))), 3); +***** assert (numel (infsup (zeros (1, 4))), 4); +***** assert (numel (infsup (zeros (3, 4))), 12); +***** assert (numel (infsup (ones (2, 3)), 3:5), 3); +***** assert (numel (infsup (ones (2, 3)), ":", 2), 2); +***** assert (numel (infsup (ones (2, 3)), 2, ":"), 3); +***** # numel is called implicitly during this subsref expression (see bug #53375) +***** assert (infsup ()(:).inf, inf); +***** error numel (1, infsup(1)); +10 tests, 10 passed, 0 known failure, 0 skipped [inst/@infsup/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/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]"); +[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.sec; + testcases = testdata.NoSignal.infsup.interior; for testcase = [testcases]' assert (isequaln (... - sec (testcase.in{1}), ... + interior (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sec; + testcases = testdata.NoSignal.infsup.interior; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sec (in1), out)); + assert (isequaln (interior (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sec; + 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; @@ -5716,35 +6755,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 (sec (in1), out)); + assert (isequaln (interior (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/interior.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/interior.m -***** assert (interior (infsup (1, 2), infsup (0, 3))); +[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.interior; + testcases = testdata.NoSignal.infsup.isEntire; for testcase = [testcases]' assert (isequaln (... - interior (testcase.in{1}, testcase.in{2}), ... + isentire (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.interior; + testcases = testdata.NoSignal.infsup.isEntire; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (interior (in1, in2), out)); + assert (isequaln (isentire (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.interior; + testcases = testdata.NoSignal.infsup.isEntire; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5753,115 +6795,74 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (interior (in1, in2), out)); -4 tests, 4 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); + assert (isequaln (isentire (in1), out)); ***** test - [a, b] = bisect (infsup ()); - assert (isempty (a)); - assert (isempty (b)); + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isEntire; + for testcase = [testcases]' + assert (isequaln (... + isentire (testcase.in{1}), ... + testcase.out)); + endfor ***** test - [a, b] = bisect (infsup (0, inf)); - assert (a == infsup (0, pow2 (-25))); - assert (b == infsup (pow2 (-25), inf)); + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.isEntire; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (isentire (in1), out)); ***** test - [a, b] = bisect (infsup (-inf, 0)); - assert (a == infsup (-inf, -pow2 (-25))); - assert (b == infsup (-pow2 (-25), 0)); + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.isEntire; + 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 (isentire (in1), out)); +11 tests, 11 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/rsqrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rsqrt.m +***** # from the documentation string +***** assert (rsqrt (infsup (-6, 4)) == infsup (.5, inf)); ***** # correct use of signed zeros ***** test - [a, 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/plot3.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plot3.m -***** # this test is rather pointless -***** test - clf - plot3 (empty (), empty (), empty ()); - close -warning: using the gnuplot graphics toolkit is discouraged - -The gnuplot graphics toolkit is not actively maintained and has a number -of limitations that are unlikely to be fixed. Communication with gnuplot -uses a one-directional pipe and limited information is passed back to the -Octave interpreter so most changes made interactively in the plot window -will not be reflected in the graphics properties managed by Octave. For -example, if the plot window is closed with a mouse click, Octave will not -be notified and will not update its internal list of open figure windows. -The qt toolkit is recommended instead. -***** demo - clf - colormap hot - x = y = z = (1 : 3) + infsup ("[0, 1]"); - plot3 (x, y, z); - grid on -***** demo - clf - colormap jet - z = 1 : 8; - x = y = infsup ("[-1, 1]") ./ z; - plot3 (x, y, z); - grid on -***** demo - clf - [x, y] = meshgrid (mince (infsup ("[-5, 5]"), 20), ... - mince (infsup ("[0.1, 5]"), 10)); - z = log (hypot (x, y)); - blue = [38 139 210]/255; base2 = [238 232 213]/255; - plot3 (x, y, z, base2, blue); - view (330, 12) -***** demo - clf - [x, y] = meshgrid (midrad (-10 : 0.5 : 10, .25)); - z = sin (hypot (x, y)) .* hypot (x, y); - plot3 (mid (x), mid (y), z); - grid on -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/pown.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pown.m + x = rsqrt (infsup (0, inf)); + assert (signbit (inf (x))); +2 tests, 2 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 (pown (infsup (5, 6), 2) == infsup (25, 36)); -***** assert (pown (infsup (-2, 1), 2) == infsup (0, 4)); +***** 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.sqr; + testcases = testdata.NoSignal.infsup.pos; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, 2), ... + uplus (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsup.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, 2), out)); + assert (isequaln (uplus (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsup.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5872,27 +6873,25 @@ 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 (uplus (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.pown; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.pos; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, testcase.in{2}), ... + uplus (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.pown; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, in2), out)); + assert (isequaln (uplus (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pown; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5901,17 +6900,21 @@ 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/atan.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan.m + assert (isequaln (uplus (in1), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/sin.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sin.m ***** # from the documentation string -***** assert (atan (infsup (1)) == "[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-1]"); +***** assert (sin (infsup (1)) == "[0x1.AED548F090CEEp-1, 0x1.AED548F090CEFp-1]"); ***** # correct use of signed zeros ***** test - x = atan (infsup (0)); + x = sin (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** # test fix for bug #51283 +***** test + x = sin (infsup ([0, 0])); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -5919,21 +6922,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.sin; for testcase = [testcases]' assert (isequaln (... - atan (testcase.in{1}), ... + sin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (atan (in1), out)); + assert (isequaln (sin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5944,32 +6947,60 @@ 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/isempty.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isempty.m -***** assert (isempty (infsup ())); -***** assert (not (isempty (infsup (1, 2)))); + assert (isequaln (sin (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/absrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/absrev.m +***** # Empty interval +***** assert (absrev (infsup ()) == infsup ()); +***** assert (absrev (infsup (0, 1), infsup ()) == infsup ()); +***** assert (absrev (infsup (0, 1), infsup (7, 9)) == infsup ()); +***** assert (absrev (infsup (), infsup (0, 1)) == infsup ()); +***** assert (absrev (infsup (-2, -1)) == infsup ()); +***** # Singleton intervals +***** assert (absrev (infsup (1)) == infsup (-1, 1)); +***** assert (absrev (infsup (0)) == infsup (0)); +***** assert (absrev (infsup (-1)) == infsup ()); +***** assert (absrev (infsup (realmax)) == infsup (-realmax, realmax)); +***** assert (absrev (infsup (realmin)) == infsup (-realmin, realmin)); +***** assert (absrev (infsup (-realmin)) == infsup ()); +***** assert (absrev (infsup (-realmax)) == infsup ()); +***** # Bound intervals +***** assert (absrev (infsup (1, 2)) == infsup (-2, 2)); +***** assert (absrev (infsup (1, 2), infsup (0, 2)) == infsup (1, 2)); +***** assert (absrev (infsup (0, 1), infsup (-0.5, 2)) == infsup (-0.5, 1)); +***** assert (absrev (infsup (-1, 1)) == infsup (-1, 1)); +***** assert (absrev (infsup (-1, 0)) == infsup (0)); +***** # Unbound intervals +***** assert (absrev (infsup (0, inf)) == infsup (-inf, inf)); +***** assert (absrev (infsup (-inf, inf)) == infsup (-inf, inf)); +***** assert (absrev (infsup (-inf, 0)) == infsup (0)); +***** assert (absrev (infsup (1, inf), infsup (-inf, 0)) == infsup (-inf, -1)); +***** assert (absrev (infsup (-1, inf)) == infsup (-inf, inf)); +***** assert (absrev (infsup (-inf, -1)) == infsup ()); +***** assert (absrev (infsup (-inf, 1)) == infsup (-1, 1)); +***** # from the documentation string +***** assert (absrev (infsup (-2, 1)) == infsup (-1, 1)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.isEmpty; + # Scalar evaluation with one argument + testcases = testdata.NoSignal.infsup.absRev; for testcase = [testcases]' assert (isequaln (... - isempty (testcase.in{1}), ... + absrev (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.isEmpty; + # Vector evaluation with one argument + testcases = testdata.NoSignal.infsup.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (isempty (in1), out)); + assert (isequaln (absrev (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEmpty; + # N-dimensional array evaluation with one argument + testcases = testdata.NoSignal.infsup.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5980,38 +7011,27 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (isempty (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/log1p.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log1p.m -***** # from the documentation string -***** assert (log1p (infsup (eps)) == "[0x1.FFFFFFFFFFFFFp-53, 0x1p-52]"); -***** # correct use of signed zeros -***** test - x = log1p (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (absrev (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.logp1; + # Scalar evaluation with two arguments + testcases = testdata.NoSignal.infsup.absRevBin; for testcase = [testcases]' assert (isequaln (... - log1p (testcase.in{1}), ... + absrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.logp1; + # 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 (log1p (in1), out)); + assert (isequaln (absrev (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.logp1; + # 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; @@ -6020,32 +7040,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 (log1p (in1), out)); + assert (isequaln (absrev (in1, in2), out)); +31 tests, 31 passed, 0 known failure, 0 skipped +[inst/@infsup/inv.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/inv.m +***** # from the wiki +***** test + A = infsup ([1, 2, 3; 4, 0, 0; 0, 0, 1]); + A (2, 3) = "[0, 6]"; + B = inv (A); + assert (inf (B) == [0, .25, -1.5; .5, -.125, -1.5; 0, 0, 1]); + assert (sup (B) == [0, .25, 0; .5, -.125, -.75; 0, 0, 1]); +***** # from the documentation string +***** assert (inv (infsup ([2, 1, 1; 0, 1, 0; 1, 0, 0])) == [0, 0, 1; 0, 1, 0; 1, -1, -2]); +***** assert (inv (infsup ([1, 2, 3; 4, 0, 6; 0, 0, 1])) == [0, .25, -1.5; .5, -.125, -.75; 0, 0, 1]); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/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/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 @@ -6056,25 +7105,40 @@ 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/minus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/minus.m +***** # from the documentation string +***** assert (infsup (2, 3) - infsup (1, 2) == infsup (0, 2)); +***** # correct use of signed zeros ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.mag; + 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.sub; for testcase = [testcases]' assert (isequaln (... - mag (testcase.in{1}), ... + minus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.mag; + # Vector evaluation + testcases = testdata.NoSignal.infsup.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (mag (in1), out)); + assert (isequaln (minus (in1, in2), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mag; + # N-dimensional array evaluation + 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; @@ -6083,13 +7147,18 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mag (in1), out)); -7 tests, 7 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 + assert (isequaln (minus (in1, in2), out)); +5 tests, 5 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/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)); @@ -6162,10 +7231,6 @@ 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/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/csch.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/csch.m ***** # from the documentation string @@ -6207,21 +7272,55 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (csch (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/fma.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fma.m +[inst/@infsup/atan2rev2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2rev2.m ***** # from the documentation string -***** assert (fma (infsup (1+eps), infsup (7), infsup ("0.1")) == "[0x1.C666666666668p2, 0x1.C666666666669p2]"); +***** assert (atan2rev2 (infsup (1, 2), infsup ("pi") / 4) == "[0x1.FFFFFFFFFFFFEp-1, 0x1.0000000000001p1]"); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/ldivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ldivide.m +***** # from the documentation string +***** assert (ldivide (infsup (2, 3), infsup (1, 2)) == "[1/3, 1]"); +1 test, 1 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/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/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/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 = 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)))); + 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/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 = fma (infsup (1), 1, -1); + x = atan2 (0, infsup (1)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -6229,26 +7328,24 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.fma; + testcases = testdata.NoSignal.infsup.atan2; for testcase = [testcases]' assert (isequaln (... - fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + atan2 (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.fma; + testcases = testdata.NoSignal.infsup.atan2; 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 (atan2 (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.fma; + testcases = testdata.NoSignal.infsup.atan2; 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; @@ -6258,192 +7355,84 @@ 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/size.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/size.m -***** assert (size (infsup (zeros (3, 4))), [3 4]); -***** assert (size (infsup (zeros (2, 3, 4))), [2, 3, 4]); + assert (isequaln (atan2 (in1, in2), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/fminsearch.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fminsearch.m ***** test - [x y z] = size (infsup (magic (3))); - assert (x, 3); - assert (y, 3); - assert (z, 1); -***** assert (ismatrix (infsup ([]))); -***** assert (ismatrix (infsup (0))); -***** assert (ismatrix (infsup (zeros (3, 1)))); -***** assert (ismatrix (infsup (zeros (1, 4)))); -***** assert (ismatrix (infsup (zeros (3, 4)))); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/rsqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rsqrt.m + 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/prod.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/prod.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))); +***** 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/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/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/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/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/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); +[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/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/display.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/display.m -***** # Test for the display function are also largely done with the help of the -***** # doctest package. -***** xtest - assert (evalc ("display (infsup ())"), "[Empty]\n\n"); - assert (evalc ("display (infsupdec ())"), "[Empty]_trv\n\n"); -***** test - assert (evalc ("a = infsup ()"), "a = [Empty]\n"); - assert (evalc ("b = infsupdec ()"), "b = [Empty]_trv\n"); -***** xtest - assert (evalc ("a = infsup (); display (a)"), "a = [Empty]\n"); - assert (evalc ("b = infsupdec (); display (b)"), "b = [Empty]_trv\n"); -***** xtest - if (ispc ()) - assert (evalc ("display (infsup (magic (3)))"), ... - ["3x3 interval matrix\n", ... - "\n", ... - " [8] [1] [6]\n", ... - " [3] [5] [7]\n", ... - " [4] [9] [2]\n", ... - "\n"]); - else - assert (evalc ("display (infsup (magic (3)))"), ... - ["3×3 interval matrix\n", ... - "\n", ... - " [8] [1] [6]\n", ... - " [3] [5] [7]\n", ... - " [4] [9] [2]\n", ... - "\n"]); - endif -***** test - if (ispc ()) - assert (evalc ("infsup (magic (3))"), ... - ["ans = 3x3 interval matrix\n", ... - "\n", ... - " [8] [1] [6]\n", ... - " [3] [5] [7]\n", ... - " [4] [9] [2]\n", ... - "\n"]); - else - assert (evalc ("infsup (magic (3))"), ... - ["ans = 3×3 interval matrix\n", ... - "\n", ... - " [8] [1] [6]\n", ... - " [3] [5] [7]\n", ... - " [4] [9] [2]\n", ... - "\n"]); - endif -***** test - if (ispc ()) - assert (evalc ("infsup ('pi')"), "ans = [3.1415, 3.1416]\n"); - else - assert (evalc ("infsup ('pi')"), "ans ⊂ [3.1415, 3.1416]\n"); - endif -***** test - if (ispc ()) - assert (evalc ("infsup (1:3)"), ... - ["ans = 1x3 interval vector\n", ... - "\n", ... - " [1] [2] [3]\n", ... - "\n"]); - else - assert (evalc ("infsup (1:3)"), ... - ["ans = 1×3 interval vector\n", ... - "\n", ... - " [1] [2] [3]\n", ... - "\n"]); - endif -***** test - if (ispc ()) - assert (evalc ("infsup (ones(2, 2, 2))"), ... - ["ans = 2x2x2 interval array\n", ... - "\n", ... - "ans(:,:,1) =\n", ... - "\n", ... - " [1] [1]\n", ... - " [1] [1]\n", ... - "\n", ... - "ans(:,:,2) =\n", ... - "\n", ... - " [1] [1]\n", ... - " [1] [1]\n", ... - "\n"]); - else - assert (evalc ("infsup (ones(2, 2, 2))"), ... - ["ans = 2×2×2 interval array\n", ... - "\n", ... - "ans(:,:,1) =\n", ... - "\n", ... - " [1] [1]\n", ... - " [1] [1]\n", ... - "\n", ... - "ans(:,:,2) =\n", ... - "\n", ... - " [1] [1]\n", ... - " [1] [1]\n", ... - "\n"]); - endif -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/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); +[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.rad; + testcases = testdata.NoSignal.infsup.subset; for testcase = [testcases]' assert (isequaln (... - rad (testcase.in{1}), ... + subset (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.rad; + testcases = testdata.NoSignal.infsup.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (rad (in1), out)); + assert (isequaln (subset (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.rad; + testcases = testdata.NoSignal.infsup.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6452,25 +7441,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 (rad (in1), out)); + assert (isequaln (subset (in1, in2), out)); +4 tests, 4 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 - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.rad; + # Scalar evaluation + testcases = testdata.NoSignal.infsup.cos; for testcase = [testcases]' assert (isequaln (... - rad (testcase.in{1}), ... + cos (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.rad; + # Vector evaluation + testcases = testdata.NoSignal.infsup.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (rad (in1), out)); + assert (isequaln (cos (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.rad; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6481,15 +7479,126 @@ 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/plus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plus.m + assert (isequaln (cos (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/bisect.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/bisect.m +***** test + # from the documentation string + [a, b] = bisect (infsup (2, 32)); + assert (a == infsup (2, 8)); + assert (b == infsup (8, 32)); +***** test + [a, b] = bisect (infsup (-inf, inf)); + assert (a == infsup (-inf, 0)); + assert (b == infsup (0, inf)); +***** test + [a, b] = bisect (infsup (0)); + assert (a == 0); + assert (b == 0); +***** test + [a, b] = bisect (infsup ()); + assert (isempty (a)); + assert (isempty (b)); +***** test + [a, b] = bisect (infsup (0, inf)); + assert (a == infsup (0, pow2 (-25))); + assert (b == infsup (pow2 (-25), inf)); +***** test + [a, b] = bisect (infsup (-inf, 0)); + assert (a == infsup (-inf, -pow2 (-25))); + assert (b == infsup (-pow2 (-25), 0)); +***** # correct use of signed zeros +***** test + [a, b] = bisect (infsup (0)); + assert (signbit (inf (a))); + assert (signbit (inf (b))); + assert (not (signbit (sup (a)))); + assert (not (signbit (sup (b)))); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/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/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/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/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 (infsup (2, 3) + infsup (1, 2) == infsup (3, 5)); +***** assert (dilog (infsup (1)) == "[0x1.A51A6625307D3, 0x1.A51A6625307D4]"); +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/asinh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/asinh.m +***** # from the documentation string +***** assert (asinh (infsup (1)) == "[0x1.C34366179D426p-1, 0x1.C34366179D427p-1]"); ***** # correct use of signed zeros ***** test - x = plus (infsup (0), infsup (0)); + x = asinh (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -6497,24 +7606,22 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.add; + testcases = testdata.NoSignal.infsup.asinh; for testcase = [testcases]' assert (isequaln (... - plus (testcase.in{1}, testcase.in{2}), ... + asinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.add; + testcases = testdata.NoSignal.infsup.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (plus (in1, in2), out)); + assert (isequaln (asinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.add; + testcases = testdata.NoSignal.infsup.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6523,65 +7630,49 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (plus (in1, in2), out)); + assert (isequaln (asinh (in1), out)); 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/@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/mtimes.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mtimes.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 (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/mig.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mig.m +***** assert (mig (infsup (-1, 2)), 0); +***** assert (mig (infsup (-42, -23)), 23); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsup.mig; for testcase = [testcases]' assert (isequaln (... - abs (testcase.in{1}), ... + mig (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsup.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (abs (in1), out)); + assert (isequaln (mig (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsup.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6592,47 +7683,24 @@ 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/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/sinrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinrev.m -***** # from the documentation string -***** 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")); + assert (isequaln (mig (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sinRev; + testcases = testdata.NoSignal.infsupdec.mig; for testcase = [testcases]' assert (isequaln (... - sinrev (testcase.in{1}), ... + mig (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sinRev; + testcases = testdata.NoSignal.infsupdec.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sinrev (in1), out)); + assert (isequaln (mig (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sinRev; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6643,28 +7711,120 @@ 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 (mig (in1), out)); +8 tests, 8 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/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/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.sinRevBin; + testcases = testdata.NoSignal.infsup.overlap; for testcase = [testcases]' assert (isequaln (... - sinrev (testcase.in{1}, testcase.in{2}), ... + overlap (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sinRevBin; + testcases = testdata.NoSignal.infsup.overlap; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (sinrev (in1, in2), out)); + out = {testcases.out}'; + assert (isequaln (overlap (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sinRevBin; + testcases = testdata.NoSignal.infsup.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 @@ -6674,40 +7834,40 @@ 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/@infsup/sign.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sign.m + assert (isequaln (overlap (in1, in2), out)); +19 tests, 19 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 (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)))); +***** assert (det (infsup (magic (3))) == -360); +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)); ***** 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.sign; + testcases = testdata.NoSignal.infsup.mul; for testcase = [testcases]' assert (isequaln (... - sign (testcase.in{1}), ... + times (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sign; + testcases = testdata.NoSignal.infsup.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sign (in1), out)); + assert (isequaln (times (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sign; + 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; @@ -6716,45 +7876,57 @@ 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/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/exp.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/exp.m + assert (isequaln (times (in1, in2), out)); +4 tests, 4 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/sumabs.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sumabs.m ***** # from the documentation string -***** assert (exp (infsup (1)) == infsup ("e")); +***** assert (sumabs ([infsup(1), pow2(-1074), -1]) == infsup (2, 2+eps*2)); +***** assert (sumabs (infsup ([])) == 0); ***** # correct use of signed zeros ***** test - x = exp (infsup (-realmax)); + x = sumabs (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/pow10.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow10.m +***** # from the documentation string + assert (pow10 (infsup (5)) == infsup (100000)); +***** # correct use of signed zeros +***** test + x = 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.exp; + testcases = testdata.NoSignal.infsup.exp10; for testcase = [testcases]' assert (isequaln (... - exp (testcase.in{1}), ... + pow10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsup.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (exp (in1), out)); + assert (isequaln (pow10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsup.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6765,101 +7937,36 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (exp (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/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/coth.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/coth.m + assert (isequaln (pow10 (in1), 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 (coth (infsup (1)) == "[0x1.50231499B6B1D, 0x1.50231499B6B1E]"); + assert (pow2 (infsup (5)) == infsup (32)); +***** # correct use of signed zeros +***** test + x = pow2 (infsup (-inf, -realmax)); + assert (signbit (inf (x))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.coth; + testcases = testdata.NoSignal.infsup.exp2; for testcase = [testcases]' assert (isequaln (... - coth (testcase.in{1}), ... + pow2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.coth; + testcases = testdata.NoSignal.infsup.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (coth (in1), out)); + assert (isequaln (pow2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.coth; + testcases = testdata.NoSignal.infsup.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6870,17 +7977,23 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (coth (in1), out)); + assert (isequaln (pow2 (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/asin.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/asin.m -***** # Empty interval -***** assert (asin (infsup ()) == infsup ()); +[inst/@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/tan.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tan.m ***** # from the documentation string -***** assert (asin (infsup (.5)) == "[0x1.0C152382D7365p-1, 0x1.0C152382D7366p-1]"); +***** assert (tan (infsup (1)) == "[0x1.8EB245CBEE3A5, 0x1.8EB245CBEE3A6]"); ***** # correct use of signed zeros ***** test - x = asin (infsup (0)); + x = tan (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -6888,21 +8001,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsup.tan; for testcase = [testcases]' assert (isequaln (... - asin (testcase.in{1}), ... + tan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsup.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (asin (in1), out)); + assert (isequaln (tan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsup.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6913,35 +8026,75 @@ 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/min.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/min.m + assert (isequaln (tan (in1), out)); +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/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 (min (infsup (2, 3), infsup (1, 2)) == infsup (1, 2)); +***** assert (floor (infsup (2.5, 3.5)) == infsup (2, 3)); +***** assert (floor (infsup (-0.5, 5)) == infsup (-1, 5)); +***** # correct use of signed zeros +***** test + x = floor (infsup (0.5)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = floor (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** 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.floor; for testcase = [testcases]' assert (isequaln (... - min (testcase.in{1}, testcase.in{2}), ... + floor (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.min; + testcases = testdata.NoSignal.infsup.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (min (in1, in2), out)); + assert (isequaln (floor (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.min; + 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; @@ -6950,10 +8103,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 (min (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped + assert (isequaln (floor (in1), out)); +23 tests, 23 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/sup.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sup.m ***** # from the documentation string @@ -6990,102 +8150,62 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (sup (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/bitunpack.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/bitunpack.m -***** test; - littleendian = bitunpack (uint16 (1))(1); - b = zeros (1, 128); - if (littleendian) - b([52, 63, 117, 127]) = 1; - else - b([7, 12, 71, 77]) = 1; - endif - assert (bitunpack (infsup (3, 4)), logical (b)); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/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/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]); +[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 (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/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)))); +***** assert (abs (infsup (2.5, 3.5)) == infsup (2.5, 3.5)); +***** assert (abs (infsup (-0.5, 5.5)) == infsup (0, 5.5)); +***** # correct use of signed zeros +***** assert (signbit (inf (abs (infsup (-1, 0))))); +***** test + x = abs (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.precedes; + testcases = testdata.NoSignal.infsup.abs; for testcase = [testcases]' assert (isequaln (... - precedes (testcase.in{1}, testcase.in{2}), ... + abs (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.precedes; + testcases = testdata.NoSignal.infsup.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (precedes (in1, in2), out)); + assert (isequaln (abs (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.precedes; + testcases = testdata.NoSignal.infsup.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7094,81 +8214,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 (precedes (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/tril.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tril.m -***** assert (tril (infsup (magic (10))) == tril (magic (10))); -***** assert (tril (infsup (magic (10)), 1) == tril (magic (10), 1)); -***** assert (tril (infsup (magic (10)), -1) == tril (magic (10), -1)); -***** assert (tril (infsup (magic (10)), 0, "pack") == tril (magic (10), 0, "pack")); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/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/sqrrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sqrrev.m + assert (isequaln (abs (in1), out)); +27 tests, 27 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 (sqrrev (infsup (-2, 1)) == infsup (-1, 1)); +***** assert (idist (infsup (0, 6), infsup (7, 20)), 1); +1 test, 1 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")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sqrRev; - for testcase = [testcases]' - assert (isequaln (... - sqrrev (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.sqrRev; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrRev; - 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 (sqrrev (in1), out)); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.sqrRevBin; + testcases = testdata.NoSignal.infsup.acos; for testcase = [testcases]' assert (isequaln (... - sqrrev (testcase.in{1}, testcase.in{2}), ... + acos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqrRevBin; + testcases = testdata.NoSignal.infsup.acos; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1, in2), out)); + assert (isequaln (acos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrRevBin; + testcases = testdata.NoSignal.infsup.acos; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7177,53 +8277,13 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sqrrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/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/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/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 + assert (isequaln (acos (in1), out)); +18 tests, 18 passed, 0 known failure, 0 skipped +[inst/@infsup/sqrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sqrt.m +***** # from the documentation string +***** assert (sqrt (infsup (-6, 4)) == infsup (0, 2)); 1 test, 1 passed, 0 known failure, 0 skipped [inst/@infsup/cot.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cot.m @@ -7261,113 +8321,109 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (cot (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/intersect.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/intersect.m -***** # Empty interval -***** assert (intersect (infsup (), infsup ()) == infsup ()); -***** assert (intersect (infsup (), infsup (1)) == infsup ()); -***** assert (intersect (infsup (0), infsup ()) == infsup ()); -***** assert (intersect (infsup (-inf, inf), infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (intersect (infsup (0), infsup (1)) == infsup ()); -***** assert (intersect (infsup (0), infsup (0)) == infsup (0)); -***** # Bounded intervals -***** assert (intersect (infsup (1, 2), infsup (3, 4)) == infsup ()); -***** assert (intersect (infsup (1, 2), infsup (2, 3)) == infsup (2)); -***** assert (intersect (infsup (1, 2), infsup (1.5, 2.5)) == infsup (1.5, 2)); -***** assert (intersect (infsup (1, 2), infsup (1, 2)) == infsup (1, 2)); -***** # Unbounded intervals -***** assert (intersect (infsup (0, inf), infsup (-inf, 0)) == infsup (0)); -***** assert (intersect (infsup (1, inf), infsup (-inf, -1)) == infsup ()); -***** assert (intersect (infsup (-1, inf), infsup (-inf, 1)) == infsup (-1, 1)); -***** assert (intersect (infsup (-inf, inf), infsup (42)) == infsup (42)); -***** assert (intersect (infsup (42), infsup (-inf, inf)) == infsup (42)); -***** assert (intersect (infsup (-inf, 0), infsup (-inf, inf)) == infsup (-inf, 0)); -***** assert (intersect (infsup (-inf, inf), infsup (-inf, inf)) == infsup (-inf, inf)); -***** # from the documentation string -***** assert (intersect (infsup (1, 3), infsup (2, 4)) == infsup (2, 3)); -***** # correct use of signed zeros -***** test - x = intersect (infsup (0), infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +[inst/@infsup/qr.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/qr.m ***** test - x = intersect (infsup (0), infsup (0, 1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + 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 - x = intersect (infsup (0, 1), infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + 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 - 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")); + 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 - # Scalar evaluation - testcases = testdata.NoSignal.infsup.intersection; - for testcase = [testcases]' - assert (isequaln (... - intersect (testcase.in{1}, testcase.in{2}), ... - testcase.out)); + 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 - # Vector evaluation - testcases = testdata.NoSignal.infsup.intersection; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (intersect (in1, in2), out)); + 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 - # N-dimensional array evaluation - 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; - 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 (intersect (in1, in2), out)); -25 tests, 25 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 + 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 - x = log (infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + 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/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.log; + testcases = testdata.NoSignal.infsup.min; for testcase = [testcases]' assert (isequaln (... - log (testcase.in{1}), ... + min (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.log; + testcases = testdata.NoSignal.infsup.min; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (log (in1), out)); + assert (isequaln (min (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log; + testcases = testdata.NoSignal.infsup.min; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7376,93 +8432,32 @@ 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/ceil.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ceil.m -***** # Empty interval -***** assert (ceil (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (ceil (infsup (0)) == infsup (0)); -***** assert (ceil (infsup (0.5)) == infsup (1)); -***** assert (ceil (infsup (-0.5)) == infsup (0)); -***** # Bounded intervals -***** assert (ceil (infsup (-0.5, 0)) == infsup (0)); -***** assert (ceil (infsup (0, 0.5)) == infsup (0, 1)); -***** assert (ceil (infsup (0.25, 0.5)) == infsup (1)); -***** assert (ceil (infsup (-1, 0)) == infsup (-1, 0)); -***** assert (ceil (infsup (-1, 1)) == infsup (-1, 1)); -***** assert (ceil (infsup (-realmin, realmin)) == infsup (0, 1)); -***** assert (ceil (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); -***** # Unbounded intervals -***** assert (ceil (infsup (-realmin, inf)) == infsup (0, inf)); -***** assert (ceil (infsup (-realmax, inf)) == infsup (-realmax, inf)); -***** assert (ceil (infsup (-inf, realmin)) == infsup (-inf, 1)); -***** assert (ceil (infsup (-inf, realmax)) == infsup (-inf, realmax)); -***** assert (ceil (infsup (-inf, inf)) == infsup (-inf, inf)); + assert (isequaln (min (in1, in2), 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 (ceil (infsup (2.5, 3.5)) == infsup (3, 4)); -***** assert (ceil (infsup (-.5, 5)) == infsup (0, 5)); +***** assert (gammaln (infsup (1.5)) == "[-0x1.EEB95B094C192p-4, -0x1.EEB95B094C191p-4]"); ***** # correct use of signed zeros ***** test - x = ceil (infsup (-0.5)); + x = gammaln (infsup (1)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** test - x = ceil (infsup (0)); + x = gammaln (infsup (2)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.ceil; - for testcase = [testcases]' - assert (isequaln (... - ceil (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.ceil; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (ceil (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.ceil; - 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 (ceil (in1), out)); -23 tests, 23 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/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/expm1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/expm1.m +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 (expm1 (infsup (eps)) == "[0x1p-52, 0x1.0000000000001p-52]"); +***** assert (cbrt (infsup (-27, 27)) == infsup (-3, 3)); ***** # correct use of signed zeros ***** test - x = expm1 (infsup (0)); + x = cbrt (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -7470,21 +8465,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.expm1; + testcases = testdata.NoSignal.infsup.cbrt; for testcase = [testcases]' assert (isequaln (... - expm1 (testcase.in{1}), ... + cbrt (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.expm1; + testcases = testdata.NoSignal.infsup.cbrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (expm1 (in1), out)); + assert (isequaln (cbrt (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.expm1; + testcases = testdata.NoSignal.infsup.cbrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7495,56 +8490,34 @@ 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/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/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]"); + assert (isequaln (cbrt (in1), 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/minus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/minus.m +[inst/@infsup/rdivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rdivide.m ***** # from the documentation string -***** assert (infsup (2, 3) - infsup (1, 2) == infsup (0, 2)); -***** # correct use of signed zeros -***** test - x = minus (infsup (0), infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** 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.sub; + testcases = testdata.NoSignal.infsup.div; for testcase = [testcases]' assert (isequaln (... - minus (testcase.in{1}, testcase.in{2}), ... + rdivide (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sub; + testcases = testdata.NoSignal.infsup.div; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (minus (in1, in2), out)); + assert (isequaln (rdivide (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sub; + testcases = testdata.NoSignal.infsup.div; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -7557,35 +8530,25 @@ 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/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")); + assert (isequaln (rdivide (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cancelMinus; + testcases = testdata.NoSignal.infsup.recip; for testcase = [testcases]' assert (isequaln (... - cancelminus (testcase.in{1}, testcase.in{2}), ... + rdivide (1, testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cancelMinus; + testcases = testdata.NoSignal.infsup.recip; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelminus (in1, in2), out)); + assert (isequaln (rdivide (1, in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cancelMinus; + 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; @@ -7594,99 +8557,32 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cancelminus (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/prod.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/prod.m -***** # from the documentation string -***** assert (prod (infsup (1 : 4)) == 24); -***** assert (prod (infsup ([])) == 1); -***** assert (prod (infsup (magic (3))) == [96, 45, 84]); -***** assert (prod (infsup (magic (3)), 2) == [48; 105; 72]); -***** assert (prod (infsup (magic (3)), 3) == magic (3)); -***** assert (prod (prod (reshape (infsup (1:24), 1, 2, 3, 4))) == reshape ([720, 665280, 13366080, 96909120], 1, 1, 1, 4)) -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/mpower.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mpower.m -***** # from the documentation string -***** assert (isequal (infsup (magic (3)) ^ 2, infsup (magic (3) ^ 2))); -***** # correct use of signed zeros -***** test - x = mpower (infsup (eye (2)), 2); - assert (signbit (inf (x(1, 2)))); - assert (not (signbit (sup (x(1, 2))))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/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/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)))); + assert (isequaln (rdivide (1, in1), out)); +8 tests, 8 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.trunc; + testcases = testdata.NoSignal.infsup.mag; for testcase = [testcases]' assert (isequaln (... - fix (testcase.in{1}), ... + mag (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.trunc; + testcases = testdata.NoSignal.infsup.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (fix (in1), out)); -***** test + assert (isequaln (mag (in1), out)); # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.trunc; + testcases = testdata.NoSignal.infsup.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7697,35 +8593,25 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (fix (in1), out)); -27 tests, 27 passed, 0 known failure, 0 skipped -[inst/@infsup/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")); + assert (isequaln (mag (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.max; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.mag; for testcase = [testcases]' assert (isequaln (... - max (testcase.in{1}, testcase.in{2}), ... + mag (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.max; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (max (in1, in2), out)); + assert (isequaln (mag (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.max; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7734,37 +8620,85 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (max (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/strictprecedes.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/strictprecedes.m -***** assert (strictprecedes (infsup (1, 1.9), infsup (2.1, 3))); -***** assert (not (strictprecedes (infsup (1, 2), infsup (2, 3)))); + assert (isequaln (mag (in1), out)); +7 tests, 7 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/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/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.strictPrecedes; + testcases = testdata.NoSignal.infsup.powRev2; for testcase = [testcases]' assert (isequaln (... - strictprecedes (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.strictPrecedes; + 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 (strictprecedes (in1, in2), out)); + assert (isequaln (powrev2 (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.strictPrecedes; + 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; @@ -7774,36 +8708,42 @@ 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 (strictprecedes (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/union.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/union.m + assert (isequaln (powrev2 (in1, in2, in3), out)); +4 tests, 4 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 (union (infsup (1, 3), infsup (2, 4)) == infsup (1, 4)); +***** assert (asin (infsup (.5)) == "[0x1.0C152382D7365p-1, 0x1.0C152382D7366p-1]"); +***** # correct use of signed zeros +***** test + x = asin (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.convexHull; + testcases = testdata.NoSignal.infsup.asin; for testcase = [testcases]' assert (isequaln (... - union (testcase.in{1}, testcase.in{2}), ... + asin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.convexHull; + testcases = testdata.NoSignal.infsup.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (union (in1, in2), out)); + assert (isequaln (asin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.convexHull; + testcases = testdata.NoSignal.infsup.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7812,54 +8752,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 (union (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/det.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/det.m -***** # from the documentation string -***** assert (det (infsup (magic (3))) == -360); -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/tan.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tan.m + assert (isequaln (asin (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/newdec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/newdec.m ***** # from the documentation string -***** assert (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 (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.tan; + testcases = testdata.NoSignal.infsup.newDec; for testcase = [testcases]' assert (isequaln (... - tan (testcase.in{1}), ... + newdec (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsup.newDec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tan (in1), out)); + assert (isequaln (newdec (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsup.newDec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7870,39 +8791,34 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tan (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/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/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]"); + assert (isequaln (newdec (in1), out)); +6 tests, 6 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.csc; + testcases = testdata.NoSignal.infsup.less; for testcase = [testcases]' assert (isequaln (... - csc (testcase.in{1}), ... + le (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.csc; + testcases = testdata.NoSignal.infsup.less; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (csc (in1), out)); + assert (isequaln (le (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.csc; + 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; @@ -7911,39 +8827,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 (csc (in1), out)); + assert (isequaln (le (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/sinh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinh.m -***** # from the documentation string -***** assert (sinh (infsup (1)) == "[0x1.2CD9FC44EB982, 0x1.2CD9FC44EB983]"); -***** # correct use of signed zeros -***** test - x = sinh (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +[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.sinh; + testcases = testdata.NoSignal.infsup.disjoint; for testcase = [testcases]' assert (isequaln (... - sinh (testcase.in{1}), ... + disjoint (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sinh; + testcases = testdata.NoSignal.infsup.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sinh (in1), out)); + assert (isequaln (disjoint (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sinh; + testcases = testdata.NoSignal.infsup.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7952,39 +8866,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 (sinh (in1), out)); + assert (isequaln (disjoint (in1, in2), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/ismember.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ismember.m -***** assert (ismember (0, entire ())); -***** assert (ismember (0, intervalpart (entire ()))); -***** assert (not (ismember (0, empty ()))); -***** assert (not (ismember (0, intervalpart (empty ())))); -***** warning assert (not (ismember (0, infsupdec (2, 1)))); +[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.isMember; + testcases = testdata.NoSignal.infsup.rad; for testcase = [testcases]' assert (isequaln (... - ismember (testcase.in{1}, testcase.in{2}), ... + rad (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isMember; + testcases = testdata.NoSignal.infsup.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (ismember (in1, in2), out)); + assert (isequaln (rad (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isMember; + testcases = testdata.NoSignal.infsup.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7993,29 +8907,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 (ismember (in1, in2), out)); + assert (isequaln (rad (in1), out)); ***** test # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isMember; + testcases = testdata.NoSignal.infsupdec.rad; for testcase = [testcases]' assert (isequaln (... - ismember (testcase.in{1}, testcase.in{2}), ... + rad (testcase.in{1}), ... testcase.out)); endfor ***** test # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isMember; + testcases = testdata.NoSignal.infsupdec.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (ismember (in1, in2), out)); + assert (isequaln (rad (in1), out)); ***** test # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.isMember; + testcases = testdata.NoSignal.infsup.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -8024,10 +8935,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 (ismember (in1, in2), out)); -11 tests, 11 passed, 0 known failure, 0 skipped + assert (isequaln (rad (in1), out)); +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/cosrev.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cosrev.m ***** # from the documentation string @@ -8100,324 +9018,6 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (cosrev (in1, in2), out)); 8 tests, 8 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/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; - 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 (uminus (in1), out)); -5 tests, 5 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 (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.asinh; - for testcase = [testcases]' - assert (isequaln (... - asinh (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.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; - 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 (asinh (in1), out)); -5 tests, 5 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 (... - cosh (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.cosh; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (cosh (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosh; - 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 (cosh (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/wid.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/wid.m -***** # from the documentation string -***** assert (wid (infsup (2.5, 3.5)), 1); -***** 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; - for testcase = [testcases]' - assert (isequaln (... - wid (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.wid; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (wid (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.wid; - 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 (wid (in1), out)); -***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.wid; - for testcase = [testcases]' - assert (isequaln (... - wid (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.wid; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (wid (in1), out)); -***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.wid; - 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 (wid (in1), out)); -7 tests, 7 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")); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.coshRev; - for testcase = [testcases]' - assert (isequaln (... - coshrev (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.coshRev; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (coshrev (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.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.infsup.coshRevBin; - for testcase = [testcases]' - assert (isequaln (... - coshrev (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.coshRevBin; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (coshrev (in1, in2), out)); -***** test - # N-dimensional array evaluation - 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; - 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 (coshrev (in1, in2), out)); -7 tests, 7 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/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.equal; - for testcase = [testcases]' - assert (isequaln (... - eq (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.equal; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.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/acosh.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/acosh.m ***** # Empty interval @@ -8475,57 +9075,62 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (acosh (in1), out)); 15 tests, 15 passed, 0 known failure, 0 skipped -[inst/@infsup/sumsq.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sumsq.m +[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/nextout.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/nextout.m ***** # from the documentation string -***** assert (sumsq ([infsup(1), pow2(-1074), -1]) == infsup (2, 2+eps*2)); -***** assert (sumsq (infsup ([])) == 0); +***** test + x = nextout (infsup (1)); + assert (inf (x), 1 - eps / 2); + assert (sup (x), 1 + eps); ***** # correct use of signed zeros ***** test - x = sumsq (infsup (0)); + 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/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)); +[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/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.cancelPlus; + testcases = testdata.NoSignal.infsup.precedes; for testcase = [testcases]' assert (isequaln (... - cancelplus (testcase.in{1}, testcase.in{2}), ... + precedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cancelPlus; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (cancelplus (in1, in2), out)); -***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.cancelPlus; - for testcase = [testcases]' - assert (isequaln (... - cancelplus (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor -***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.cancelPlus; + testcases = testdata.NoSignal.infsup.precedes; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelplus (in1, in2), out)); + assert (isequaln (precedes (in1, in2), out)); ***** test - # N-dimensional array vector evaluation - testcases = testdata.NoSignal.infsupdec.cancelPlus; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.precedes; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -8538,157 +9143,34 @@ 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/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))); + assert (isequaln (precedes (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/mldivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mldivide.m +***** # unique solution +***** assert (infsup ([1, 0; 0, 2]) \ [2, 0; 0, 4] == [2, 0; 0 2]); +***** # no solution +***** assert (all (isempty (infsup ([1, 0; 2, 0]) \ [3; 0]))); +***** # many solutions +***** assert (infsup ([1, 0; 2, 0]) \ [4; 8] == infsup ([4; -inf], [4; inf])); +***** assert (all (subset (infsup ([2, -1; -1, 2], [4, 1; 1, 4]) \ infsup ([-3; .8], [3; .8]), infsup ([-2.3; -1.1], [2.3; 1.6])))); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@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 -***** demo - clf - hold on - plot (infsup (0), infsup (0)); - plot (infsup (1, 2), infsup (0)); - plot (infsup (0), infsup (1, 2)); - plot (infsup (1, 2), infsup (1, 2)); - axis ([-.5, 2.5, -.5, 2.5]); - hold off -***** demo - clf - plot (infsup (-rand (50, 1), +rand (50, 1))); -***** demo - clf - hold on - axis off - range = infsup (0, 9); - x = linspace (inf (range), sup (range), 250); - X = mince (range, 9); - f = @ (x) 0.5 * sin (x) .* x .^ 2; - y = f (x); - Y = f (X); - plot (range, f (range), [42 161 152]/255); - plot (X, Y, [238 232 213]/255, [88 110 117]/255); - plot (x, y, '-', 'color', [220 50 47]/255, 'linewidth', 2); - hold off -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/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.overlap; - for testcase = [testcases]' - assert (isequaln (... - overlap (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.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.infsup.overlap; - 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)); -19 tests, 19 passed, 0 known failure, 0 skipped -[inst/@infsup/atanh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atanh.m +[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/atan.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan.m ***** # from the documentation string -***** assert (atanh (infsup (.5)) == "[0x1.193EA7AAD030Ap-1, 0x1.193EA7AAD030Bp-1]"); +***** assert (atan (infsup (1)) == "[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-1]"); ***** # correct use of signed zeros ***** test - x = atanh (infsup (0)); + x = atan (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -8696,21 +9178,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsup.atan; for testcase = [testcases]' assert (isequaln (... - atanh (testcase.in{1}), ... + atan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsup.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (atanh (in1), out)); + assert (isequaln (atan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsup.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8721,64 +9203,37 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atanh (in1), out)); + assert (isequaln (atan (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/rdivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rdivide.m +[inst/@infsup/sinh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinh.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 (sinh (infsup (1)) == "[0x1.2CD9FC44EB982, 0x1.2CD9FC44EB983]"); +***** # correct use of signed zeros +***** test + x = sinh (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.div; - for testcase = [testcases]' - assert (isequaln (... - rdivide (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.div; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (rdivide (in1, in2), out)); -***** test - # N-dimensional array evaluation - 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; - 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 (rdivide (in1, in2), out)); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.recip; + testcases = testdata.NoSignal.infsup.sinh; for testcase = [testcases]' assert (isequaln (... - rdivide (1, testcase.in{1}), ... + sinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.recip; + testcases = testdata.NoSignal.infsup.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (rdivide (1, in1), out)); + assert (isequaln (sinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.recip; + testcases = testdata.NoSignal.infsup.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8789,8 +9244,8 @@ 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 + assert (isequaln (sinh (in1), out)); +5 tests, 5 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 @@ -8835,39 +9290,46 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (hypot (in1, in2), 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 +[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/ceil.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ceil.m ***** # Empty interval -***** assert (roundb (infsup ()) == infsup ()); +***** assert (ceil (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)); +***** assert (ceil (infsup (0)) == infsup (0)); +***** assert (ceil (infsup (0.5)) == infsup (1)); +***** assert (ceil (infsup (-0.5)) == infsup (0)); ***** # 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)); +***** 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 (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 (ceil (infsup (-realmin, inf)) == infsup (0, inf)); +***** assert (ceil (infsup (-realmax, inf)) == infsup (-realmax, inf)); +***** assert (ceil (infsup (-inf, realmin)) == infsup (-inf, 1)); +***** assert (ceil (infsup (-inf, realmax)) == infsup (-inf, realmax)); +***** assert (ceil (infsup (-inf, inf)) == infsup (-inf, inf)); +***** # from the documentation string +***** assert (ceil (infsup (2.5, 3.5)) == infsup (3, 4)); +***** assert (ceil (infsup (-.5, 5)) == infsup (0, 5)); ***** # correct use of signed zeros ***** test - x = roundb (infsup (0)); + x = ceil (infsup (-0.5)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** test - x = roundb (infsup (-0.25, 0.25)); + x = ceil (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -8875,21 +9337,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.ceil; for testcase = [testcases]' assert (isequaln (... - roundb (testcase.in{1}), ... + ceil (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (roundb (in1), out)); + assert (isequaln (ceil (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8900,36 +9362,40 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (roundb (in1), out)); -25 tests, 25 passed, 0 known failure, 0 skipped -[inst/@infsup/sech.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sech.m -***** # from the documentation string -***** assert (sech (infsup (1)) == "[0x1.4BCDC50ED6BE7p-1, 0x1.4BCDC50ED6BE8p-1]"); -***** # correct use of signed zeros -***** test - x = sech (infsup (0, inf)); - assert (signbit (inf (x))); + assert (isequaln (ceil (in1), out)); +23 tests, 23 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.sech; + testcases = testdata.NoSignal.infsup.isCommonInterval; for testcase = [testcases]' assert (isequaln (... - sech (testcase.in{1}), ... + iscommoninterval (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sech; + testcases = testdata.NoSignal.infsup.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sech (in1), out)); + assert (isequaln (iscommoninterval (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sech; + testcases = testdata.NoSignal.infsup.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8940,43 +9406,24 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/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/newdec.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/newdec.m -***** # from the documentation string -***** assert (isequal (newdec (infsup (2, 3)), infsupdec (2, 3))); -***** assert (isequal (newdec (infsupdec (2, 3)), infsupdec (2, 3))); -***** assert (isequal (newdec (infsupdec (1, "trv")), infsupdec (1, "trv"))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (iscommoninterval (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.newDec; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isCommonInterval; for testcase = [testcases]' assert (isequaln (... - newdec (testcase.in{1}), ... + iscommoninterval (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.newDec; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (newdec (in1), out)); + assert (isequaln (iscommoninterval (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.newDec; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8987,51 +9434,73 @@ 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/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/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/pow2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow2.m + assert (isequaln (iscommoninterval (in1), out)); +16 tests, 16 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 (pow2 (infsup (5)) == infsup (32)); +***** assert (intersect (infsup (1, 3), infsup (2, 4)) == infsup (2, 3)); ***** # correct use of signed zeros ***** test - x = pow2 (infsup (-inf, -realmax)); + 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.exp2; + testcases = testdata.NoSignal.infsup.intersection; for testcase = [testcases]' assert (isequaln (... - pow2 (testcase.in{1}), ... + intersect (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.exp2; + testcases = testdata.NoSignal.infsup.intersection; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pow2 (in1), out)); + assert (isequaln (intersect (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp2; + 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; @@ -9040,41 +9509,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 (pow2 (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/realsqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/realsqrt.m + assert (isequaln (intersect (in1, in2), out)); +25 tests, 25 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 (realsqrt (infsup (-6, 4)) == infsup (0, 2)); +***** 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/issquare.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/issquare.m +***** assert (issquare (infsup ([]))); +***** assert (issquare (infsup (0))); +***** assert (not (issquare (infsup (zeros (1, 2))))); +***** assert (not (issquare (infsup (zeros (2, 1))))); +***** assert (issquare (infsup (zeros (5)))); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/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/sign.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sign.m +***** # from the documentation string +***** assert (sign (infsup (2, 3)) == infsup (1)); +***** assert (sign (infsup (0, 5)) == infsup (0, 1)); +***** assert (sign (infsup (-17)) == infsup (-1)); ***** # correct use of signed zeros ***** test - x = realsqrt (infsup (0)); + x = sign (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.sign; for testcase = [testcases]' assert (isequaln (... - realsqrt (testcase.in{1}), ... + sign (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqrt; + testcases = testdata.NoSignal.infsup.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (realsqrt (in1), out)); + assert (isequaln (sign (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrt; + testcases = testdata.NoSignal.infsup.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9085,37 +9574,32 @@ 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/cbrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cbrt.m + assert (isequaln (sign (in1), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/inf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/inf.m ***** # from the documentation string -***** assert (cbrt (infsup (-27, 27)) == infsup (-3, 3)); -***** # correct use of signed zeros -***** test - x = cbrt (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** 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.cbrt; + testcases = testdata.NoSignal.infsup.inf; for testcase = [testcases]' assert (isequaln (... - cbrt (testcase.in{1}), ... + inf (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cbrt; + testcases = testdata.NoSignal.infsup.inf; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cbrt (in1), out)); + assert (isequaln (inf (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cbrt; + testcases = testdata.NoSignal.infsup.inf; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9126,37 +9610,68 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cbrt (in1), out)); + assert (isequaln (inf (in1), out)); +4 tests, 4 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/powrev2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/powrev2.m +[inst/@infsup/hdist.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/hdist.m ***** # from the documentation string -***** assert (powrev2 (infsup (2, 5), infsup (3, 6)) == "[0x1.5D7E8F22BA886p-1, 0x1.4AE00D1CFDEB5p1]"); +***** assert (hdist (infsup (1, 6), infsup (2, 8)), 2); +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); ***** 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.equal; for testcase = [testcases]' assert (isequaln (... - powrev2 (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + eq (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.powRev2; + testcases = testdata.NoSignal.infsup.equal; 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 (eq (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.powRev2; + # N-dimensional array evaluations + testcases = testdata.NoSignal.infsup.equal; 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; @@ -9166,136 +9681,16 @@ 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/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/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/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/round.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/round.m -***** # Empty interval -***** assert (round (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (round (infsup (0)) == infsup (0)); -***** assert (round (infsup (0.5)) == infsup (1)); -***** assert (round (infsup (0.25)) == infsup (0)); -***** assert (round (infsup (0.75)) == infsup (1)); -***** assert (round (infsup (-0.5)) == infsup (-1)); -***** # Bounded intervals -***** assert (round (infsup (-0.5, 0)) == infsup (-1, 0)); -***** assert (round (infsup (0, 0.5)) == infsup (0, 1)); -***** assert (round (infsup (0.25, 0.5)) == infsup (0, 1)); -***** assert (round (infsup (-1, 0)) == infsup (-1, 0)); -***** assert (round (infsup (-1, 1)) == infsup (-1, 1)); -***** assert (round (infsup (-realmin, realmin)) == infsup (0)); -***** assert (round (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); -***** # Unbounded intervals -***** assert (round (infsup (-realmin, inf)) == infsup (0, inf)); -***** assert (round (infsup (-realmax, inf)) == infsup (-realmax, inf)); -***** assert (round (infsup (-inf, realmin)) == infsup (-inf, 0)); -***** assert (round (infsup (-inf, realmax)) == infsup (-inf, realmax)); -***** assert (round (infsup (-inf, inf)) == infsup (-inf, inf)); + assert (isequaln (eq (in1, in2), out)); +7 tests, 7 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 = round (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = round (infsup (-0.25, 0.25)); + x = plus (infsup (0), infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -9303,22 +9698,24 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.add; for testcase = [testcases]' assert (isequaln (... - round (testcase.in{1}), ... + plus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.add; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (round (in1), out)); + assert (isequaln (plus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.add; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -9327,40 +9724,30 @@ 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 (round (in1), out)); -23 tests, 23 passed, 0 known failure, 0 skipped -[inst/@infsup/sum.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sum.m + assert (isequaln (plus (in1, in2), out)); +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 (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 (gamma (infsup (1.5)) == "[0x1.C5BF891B4EF6Ap-1, 0x1.C5BF891B4EF6Bp-1]"); +1 test, 1 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/chol.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/chol.m -***** assert (chol (infsup (pascal (10))) == chol (pascal (10))); -***** assert (chol (infsupdec (pascal (10))) == chol (pascal (10))); -***** test - A = infsup ([2, 1; 1, 1]); - R = chol (A); - assert (ismember ([sqrt(2), 1/sqrt(2); 0, 1/sqrt(2)], R)); - assert (wid (R) < 1e-15); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/tanh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tanh.m +[inst/@infsup/expm1.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/expm1.m ***** # from the documentation string -***** assert (tanh (infsup (1)) == "[0x1.85EFAB514F394p-1, 0x1.85EFAB514F395p-1]"); +***** assert (expm1 (infsup (eps)) == "[0x1p-52, 0x1.0000000000001p-52]"); ***** # correct use of signed zeros ***** test - x = tanh (infsup (0)); + x = expm1 (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -9368,21 +9755,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.tanh; + testcases = testdata.NoSignal.infsup.expm1; for testcase = [testcases]' assert (isequaln (... - tanh (testcase.in{1}), ... + expm1 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tanh; + testcases = testdata.NoSignal.infsup.expm1; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tanh (in1), out)); + assert (isequaln (expm1 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanh; + testcases = testdata.NoSignal.infsup.expm1; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9393,337 +9780,180 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tanh (in1), out)); + assert (isequaln (expm1 (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 +[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 - 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/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")); + x = infsup (0); + y = infsup (0); + [fval, cx] = c (y, x); + assert (fval == 0); + assert (cx == 0) ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.disjoint; - for testcase = [testcases]' - assert (isequaln (... - disjoint (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor + x = infsup ("pi") / 2; + y = infsup (0); + [fval, cx] = c (y, x); + assert (fval == "[0, 1]"); + assert (cx == x); ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.disjoint; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (disjoint (in1, in2), out)); + x = infsup ("pi") / 4; + y = infsup (0); + [fval, cx] = c (y, x); + assert (fval > 0); + assert (isempty (cx)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.disjoint; - 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 (disjoint (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/mod.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mod.m -***** assert (mod (infsup (), infsup ()) == infsup ()); -***** assert (mod (infsup (0), infsup ()) == infsup ()); -***** assert (mod (infsup (), infsup (0)) == infsup ()); -***** assert (mod (infsup (0), infsup (0)) == infsup ()); -***** assert (mod (infsup (1), infsup (0)) == infsup ()); -***** assert (mod (infsup (0, 1), infsup (0)) == infsup ()); -***** assert (mod (infsup (1, 2), infsup (0)) == infsup ()); -***** assert (mod (infsup (0, inf), infsup (0)) == infsup ()); -***** assert (mod (infsup (1, inf), infsup (0)) == infsup ()); -***** assert (mod (infsup (realmax, inf), infsup (0)) == infsup ()); -***** assert (mod (infsup (0), infsup (1)) == infsup (0)); -***** assert (mod (infsup (0), infsup (0, 1)) == infsup (0)); -***** assert (mod (infsup (0), infsup (1, 2)) == infsup (0)); -***** assert (mod (infsup (0), infsup (0, inf)) == infsup (0)); -***** assert (mod (infsup (0), infsup (1, inf)) == infsup (0)); -***** assert (mod (infsup (0), infsup (realmax, inf)) == infsup (0)); -***** assert (mod (infsup (1), infsup (1)) == infsup (0)); -***** assert (mod (infsup (2), infsup (1)) == infsup (0)); -***** assert (mod (infsup (4), infsup (2)) == infsup (0)); -***** assert (mod (infsup (6), infsup (3)) == infsup (0)); -***** assert (mod (infsup (8), infsup (2)) == infsup (0)); -***** assert (mod (infsup (9), infsup (3)) == infsup (0)); -***** assert (mod (infsup (realmax), infsup (realmax)) == infsup (0)); -***** assert (mod (infsup (realmax), infsup (realmax / 2)) == infsup (0)); -***** assert (mod (infsup (realmax), infsup (realmax / 4)) == infsup (0)); -***** assert (mod (infsup (realmax), infsup (realmax / 8)) == infsup (0)); -***** assert (mod (infsup (realmax), infsup (realmax / 16)) == infsup (0)); -***** assert (mod (infsup (realmax), infsup (realmax / 32)) == infsup (0)); -***** assert (mod (infsup (0.1), infsup (0.1)) == infsup (0)); -***** assert (mod (infsup (0.1 * 2), infsup (0.1)) == infsup (0)); -***** assert (mod (infsup (0.1 * 4), infsup (0.1)) == infsup (0)); -***** assert (mod (infsup (pi), infsup (pi)) == infsup (0)); -***** assert (mod (infsup (pi), infsup (pi / 2)) == infsup (0)); -***** assert (mod (infsup (pi), infsup (pi / 4)) == infsup (0)); -***** assert (mod (infsup (pow2 (-1074)), infsup (pow2 (-1074))) == infsup (0)); -***** assert (mod (infsup (pow2 (-1073)), infsup (pow2 (-1074))) == infsup (0)); -***** assert (mod (infsup (pow2 (-1072)), infsup (pow2 (-1074))) == infsup (0)); -***** assert (mod (infsup (1), infsup (2)) == infsup (1)); -***** assert (mod (infsup (0.5), infsup (1)) == infsup (0.5)); -***** assert (mod (infsup (pi), infsup (3.15)) == infsup (pi)); -***** assert (mod (infsup (1), infsup (2, 3)) == infsup (1)); -***** assert (mod (infsup (1), infsup (2, inf)) == infsup (1)); -***** assert (mod (infsup (0.5), infsup (1, 2)) == infsup (0.5)); -***** assert (mod (infsup (0.5), infsup (1, inf)) == infsup (0.5)); -***** assert (mod (infsup (pi), infsup (3.15)) == infsup (pi)); -***** assert (mod (infsup (pi), infsup (3.15, inf)) == infsup (pi)); -***** assert (mod (infsup (0, 1), infsup (0, 1)) == infsup (0, 1)); -***** assert (mod (infsup (0, 2), infsup (0, 1)) == infsup (0, 1)); -***** assert (mod (infsup (0, 1), infsup (0, 2)) == infsup (0, 1)); -***** assert (mod (infsup (0, realmax), infsup (0, realmax)) == infsup (0, realmax)); -***** assert (mod (infsup (realmax, inf), infsup (realmax, inf)) == infsup (0, inf)); -***** assert (mod (infsup (0, inf), infsup (0, inf)) == infsup (0, inf)); -***** assert (mod (infsup (0), infsup (1)) == infsup (0)); -***** assert (mod (infsup (1), infsup (1)) == infsup (0)); -***** assert (mod (infsup (0, 1), infsup (1)) == infsup (0, 1)); -***** assert (mod (infsup (1, 2), infsup (1)) == infsup (0, 1)); -***** assert (mod (infsup (0, inf), infsup (1)) == infsup (0, 1)); -***** assert (mod (infsup (1, inf), infsup (1)) == infsup (0, 1)); -***** assert (mod (infsup (realmax, inf), infsup (1)) == infsup (0, 1)); -***** assert (mod (infsup (1), infsup (1)) == infsup (0)); -***** assert (mod (infsup (1), infsup (0, 1)) == infsup (0, 0.5)); -***** assert (mod (infsup (1), infsup (1, 2)) == infsup (0, 1)); -***** assert (mod (infsup (1), infsup (0, inf)) == infsup (0, 1)); -***** assert (mod (infsup (1), infsup (1, inf)) == infsup (0, 1)); -***** assert (mod (infsup (1), infsup (2, inf)) == infsup (1)); -***** assert (mod (infsup (1), infsup (realmax, inf)) == infsup (1)); -66 tests, 66 passed, 0 known failure, 0 skipped -[inst/@infsup/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/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/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/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/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 + x = infsup (0, eps); + y = infsup (0); + [fval, cx] = c (y, x); + assert (fval == "[0, 1]"); + assert (cx == 0); ***** 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/gammaln.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gammaln.m -***** assert (gammaln (infsup (-inf, inf)) == "[-0x1.F19B9BCC38A42p-4, +Inf]"); + 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/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 (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/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))); +***** 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 - 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/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")); + [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/hull.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/hull.m +***** assert (isnai (hull (nai))); +***** assert (isempty (hull (nan))); +***** assert (isequal (hull (2, nan, 3, 5), infsupdec (2, 5, "trv"))); +***** assert (isequal (hull ([1, 2, 3], [5; 0; 2]), infsupdec ([1, 2, 3; 0, 0, 0; 1, 2, 2], [5, 5, 5; 1, 2, 3; 2, 2, 3], "com"))); +***** assert (isequal (hull (magic (3), 10), infsupdec (magic (3), 10 (ones (3)), "com"))); +***** assert (isequal (hull (2, magic (3), [nan, 2, 3; nan, 1, 1; 99, 100, nan]), infsupdec ([2, 1, 2; 2, 1, 1; 2, 2, 2], [8, 2, 6; 3, 5, 7; 99, 100, 2], {"trv", "com", "com"; "trv", "com", "com"; "com", "com", "trv"}))); +***** assert (isnai (hull ([nai, 2])), logical ([1 0])); +***** assert (isnai (hull ([nai, 2], [nai, 3])), logical ([1 0])); +***** assert (isnai (hull ([nai, 2], nai)), logical ([1 1])); +***** assert (isnai (hull ([nai, 2], [2, nai])), logical ([1 1])); +***** assert (isequal (hull (zeros (2, 2, 2, 2), ones (2, 2, 2, 2)), infsupdec (zeros (2, 2, 2, 2), ones (2, 2, 2, 2)))) +***** assert (isequal (hull (zeros (2, 1, 4, 1), ones (1, 3, 1, 5), -1), infsupdec (-ones (2, 3, 4, 5), ones (2, 3, 4, 5)))) +***** assert (isnai (hull (zeros (2, 2, 2, 2), ones (2, 2, 2, 2), nai)), logical (ones (2, 2, 2, 2))) +***** error hull (1:2, 1:3); +***** error hull ((1:2)', (1:3)'); +***** error hull (ones (2, 2, 2), ones (2, 2, 3)); +***** test "from the documentation string"; + assert (isequal (hull (1, 2, 3, 4), infsupdec (1, 4, "com"))); + assert (isequal (hull (empty, entire), infsupdec (-inf, inf, "trv"))); + assert (isequal (hull ("0.1", "pi", "e"), infsupdec (0.1 - eps / 16, pi + eps * 2, "com"))); + assert (isequal (hull ("[0, 3]", "[4, 7]"), infsupdec ("[0, 7]_com"))); +17 tests, 17 passed, 0 known failure, 0 skipped +[inst/empty.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/empty.m +***** assert (inf (empty ()), inf); +***** assert (sup (empty ()), -inf); +***** assert (decorationpart (empty ()), {"trv"}); +***** assert (inf (empty (5)), inf (5)); +***** assert (sup (empty (5)), -inf (5)); +***** assert (strcmp (decorationpart (empty (5)), "trv"), true (5)); +***** assert (inf (empty (5, 6)), inf (5, 6)); +***** assert (sup (empty (5, 6)), -inf (5, 6)); +***** assert (strcmp (decorationpart (empty (5, 6)), "trv"), true (5, 6)); +***** assert (inf (empty (5, 6, 7)), inf (5, 6, 7)); +***** assert (sup (empty (5, 6, 7)), -inf (5, 6, 7)); +***** assert (strcmp (decorationpart (empty (5, 6, 7)), "trv"), true (5, 6, 7)); +12 tests, 12 passed, 0 known failure, 0 skipped +[inst/vereigvec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/vereigvec.m ***** test - # Scalar evaluation with one argument - testcases = testdata.NoSignal.infsup.absRev; - for testcase = [testcases]' - assert (isequaln (... - absrev (testcase.in{1}), ... - testcase.out)); - endfor + 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 - # Vector evaluation with one argument - testcases = testdata.NoSignal.infsup.absRev; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (absrev (in1), out)); + 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 - # N-dimensional array evaluation with one argument - testcases = testdata.NoSignal.infsup.absRev; - 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 (absrev (in1), out)); + 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/__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/verlinineqnn.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verlinineqnn.m ***** test - # Scalar evaluation with two arguments - testcases = testdata.NoSignal.infsup.absRevBin; - for testcase = [testcases]' - assert (isequaln (... - absrev (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor + A = [-2, -3; -2, -1]; + b = [-1500; -1000]; + [x, y] = verlinineqnn (A, b); + assert (x, [375; 250], 1e-9); + assert (all (x >= [375; 250])); + assert (isnan (y)); ***** test - # Vector evaluation with two arguments - testcases = testdata.NoSignal.infsup.absRevBin; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (absrev (in1, in2), out)); + A = [1, 2; 3, 4]; + b = [-1; 0]; + [x, y] = verlinineqnn (A, b); + assert (y, [1; 0], 1e-9); + assert (all (y >= [1; 0])); + assert (isnan (x)); ***** test - # N-dimensional array evaluation with two arguments - testcases = testdata.NoSignal.infsup.absRevBin; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - # Reshape data - i = -1; - do - i = i + 1; - testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) - in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); - out = reshape ([out; out(1:i)], testsize); - assert (isequaln (absrev (in1, in2), out)); -31 tests, 31 passed, 0 known failure, 0 skipped + A = [1, 2; 3, 4]; + b = [1; 1]; + [x, y] = verlinineqnn (A, b); + assert (x, [0; 0]); + assert (isnan (y)); +3 tests, 3 passed, 0 known failure, 0 skipped [inst/verinvnonneg.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verinvnonneg.m ***** assert (verinvnonneg (eye (1)), 1) @@ -9745,6 +9975,31 @@ ***** assert (verinvnonneg (magic (7)), 0) ***** assert (verinvnonneg (infsup (-inf, inf)), -1) 18 tests, 18 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 +***** 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/exacttointerval.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/exacttointerval.m ***** assert (isempty (exacttointerval ("[Empty]"))); @@ -9767,191 +10022,75 @@ 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/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/__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 - 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/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); +[inst/interval_bitpack.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/interval_bitpack.m +***** test "bare"; + littleendian = bitunpack (uint16 (1))(1); + b = zeros (1, 128); + if (littleendian) + b([52, 63, 117, 127]) = 1; + else + b([7, 12, 71, 77]) = 1; + endif + decoded = interval_bitpack (logical (b)); + assert (eq (decoded, infsup (3, 4))); +***** test "decorated"; + littleendian = bitunpack (uint16 (1))(1); + b = zeros (1, 136); + if (littleendian) + b([52, 63, 117, 127, 133]) = 1; + else + b([7, 12, 71, 77, 133]) = 1; + endif + decoded = interval_bitpack (logical (b)); + assert (eq (decoded, infsupdec (3, 4))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@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.inf; + testcases = testdata.NoSignal.infsupdec.roundTiesToEven; for testcase = [testcases]' assert (isequaln (... - inf (testcase.in{1}), ... + roundb (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.inf; + testcases = testdata.NoSignal.infsupdec.roundTiesToEven; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (inf (in1), out)); + assert (isequaln (roundb (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.inf; + testcases = testdata.NoSignal.infsup.roundTiesToEven; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9962,32 +10101,37 @@ 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/log2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log2.m + assert (isequaln (roundb (in1), out)); +23 tests, 23 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 (log2 (infsupdec (2)), infsupdec (1))); +***** assert (isequal (log1p (infsupdec (eps)), infsupdec ("[0x1.FFFFFFFFFFFFFp-53, 0x1p-52]"))); +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.log2; + testcases = testdata.NoSignal.infsupdec.cosh; for testcase = [testcases]' assert (isequaln (... - log2 (testcase.in{1}), ... + cosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.log2; + testcases = testdata.NoSignal.infsupdec.cosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log2 (in1), out)); + assert (isequaln (cosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsup.cosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9998,76 +10142,253 @@ 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 (cosh (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 (powrev1 (infsupdec (2, 5), infsupdec (3, 6)), infsupdec ("[0x1.3EE8390D43955, 0x1.3988E1409212Fp1]_trv"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/subset.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subset.m -***** assert (subset (infsupdec (1, 2), infsupdec (1, 3))); +[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.subset; + testcases = testdata.NoSignal.infsup.setDec; for testcase = [testcases]' assert (isequaln (... - subset (testcase.in{1}, testcase.in{2}), ... + infsupdec (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.subset; + testcases = testdata.NoSignal.infsup.setDec; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (subset (in1, in2), out)); + assert (isequaln (infsupdec (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.subset; + # 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); - # 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 (subset (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/tanrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tanrev.m -***** # from the documentation string -***** 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")); + assert (isequaln (infsupdec (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.tanRev; + testcases = testdata.NoSignal.infsupdec.("d-textToInterval"); for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}), ... + infsupdec (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tanRev; - in1 = vertcat (vertcat (testcases.in){:, 1}); + testcases = testdata.NoSignal.infsupdec.("d-textToInterval"); + in1 = vertcat (testcases.in); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1), out)); + assert (isequaln (infsupdec (in1), out)); +***** warning + testcases = testdata.PossiblyUndefinedOperation.infsupdec.("d-textToInterval"); + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + infsupdec (testcase.in{1}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:PossiblyUndefinedOperation"); + endfor +***** warning + testcases = testdata.UndefinedOperation.infsupdec.("d-textToInterval"); + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + infsupdec (testcase.in{1}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); + endfor +***** warning + testcases = testdata.UndefinedOperation.infsupdec.("d-numsToInterval"); + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + infsupdec (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); + endfor +***** warning + testcases = testdata.UndefinedOperation.infsup.setDec; + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + infsupdec (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); + endfor ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.tanRev; + testcases = testdata.NoSignal.infsupdec.("d-numsToInterval"); in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10076,28 +10397,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 (tanrev (in1), out)); + assert (isequaln (infsupdec (in1, in2), out)); +44 tests, 44 passed, 0 known failure, 0 skipped +[inst/@infsupdec/powrev1.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/powrev1.m +***** # from the documentation string +***** assert (isequal (powrev1 (infsupdec (2, 5), infsupdec (3, 6)), infsupdec ("[0x1.3EE8390D43955, 0x1.3988E1409212Fp1]_trv"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/sqrrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sqrrev.m +***** # from the documentation string +***** assert (isequal (sqrrev (infsupdec (-2, 1)), infsupdec (-1, 1, "trv"))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.tanRevBin; + testcases = testdata.NoSignal.infsupdec.sqrRev; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}, testcase.in{2}), ... + sqrrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tanRevBin; + testcases = testdata.NoSignal.infsupdec.sqrRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1, in2), out)); + assert (isequaln (sqrrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.tanRevBin; + testcases = testdata.NoSignal.infsupdec.sqrRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10106,44 +10439,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 (tanrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/subsasgn.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subsasgn.m -***** test - A = infsupdec (magic (3)); - A(4, 4) = 42; - assert (inf (A), [magic(3),[0;0;0];0,0,0,42]); - assert (sup (A), [magic(3),[0;0;0];0,0,0,42]); - assert (decorationpart (A), {"com", "com", "com", "com"; "com", "com", "com", "com"; "com", "com", "com", "com"; "com", "com", "com", "com"}); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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")); + assert (isequaln (sqrrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + testcases = testdata.NoSignal.infsupdec.sqrRevBin; for testcase = [testcases]' assert (isequaln (... - power (testcase.in{1}, 2), ... + sqrrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + testcases = testdata.NoSignal.infsupdec.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (power (in1, 2), out)); + assert (isequaln (sqrrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsupdec.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10152,33 +10469,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 (power (in1, 2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/log10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log10.m + assert (isequaln (sqrrev (in1, in2), out)); +7 tests, 7 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 (log10 (infsupdec (2)), infsupdec ("[0x1.34413509F79FEp-2, 0x1.34413509F79FFp-2]"))); +***** 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.log10; + testcases = testdata.NoSignal.infsupdec.atanh; for testcase = [testcases]' assert (isequaln (... - log10 (testcase.in{1}), ... + atanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.log10; + testcases = testdata.NoSignal.infsupdec.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log10 (in1), out)); + assert (isequaln (atanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsup.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10189,16 +10507,21 @@ 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 (atanh (in1), out)); 4 tests, 4 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/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/pow.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow.m ***** # from the documentation string @@ -10238,53 +10561,36 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (pow (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/gamma.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gamma.m +[inst/@infsupdec/csc.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/csc.m ***** # from the documentation string -***** assert (isequal (gamma (infsupdec (1.5)), infsupdec ("[0x1.C5BF891B4EF6Ap-1, 0x1.C5BF891B4EF6Bp-1]_com"))); +***** assert (isequal (csc (infsupdec (1)), infsupdec ("[0x1.303AA9620B223, 0x1.303AA9620B224]_com"))); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/mulrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mulrev.m -***** # IEEE Std 1788-2015 mulRevToPair examples -***** test - [u, v] = mulrev (infsupdec (0), infsupdec (1, 2)); - assert (isempty (u) & isempty (v)); -***** test - [u, v] = mulrev (infsupdec (0), infsupdec (0, 1)); - assert (isentire (u) & isempty (v)); -***** test - [u, v] = mulrev (infsupdec (1), infsupdec (1, 2)); - assert (isequal (u, infsupdec (1, 2)) & isempty (v)); -***** test - [u, v] = mulrev (infsupdec (1, inf), infsupdec (1)); - assert (isequal (u, infsupdec (0, 1, "dac")) & isempty (v)); -***** test - [u, v] = mulrev (infsupdec (-1, 1), infsupdec (1, 2)); - assert (isequal (u, infsupdec (-inf, -1, "trv")) & isequal (v, infsupdec (1, inf, "trv"))); -***** test - [u, v] = mulrev (infsupdec (-inf, inf), infsupdec (1)); - assert (isequal (u, infsupdec (-inf, 0, "trv")) & isequal (v, infsupdec (0, inf, "trv"))); +[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")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair1; + testcases = testdata.NoSignal.infsupdec.convexHull; for testcase = [testcases]' assert (isequaln (... - nthargout (1, 2, @mulrev, testcase.in{1}, testcase.in{2}), ... + union (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair1; + testcases = testdata.NoSignal.infsupdec.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); + assert (isequaln (union (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair1; + testcases = testdata.NoSignal.infsupdec.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -10297,25 +10603,33 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); + assert (isequaln (union (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/cancelminus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cancelminus.m +***** # from the documentation string +***** assert (isequal (cancelminus (infsupdec (2, 3), infsupdec (1, 1.5)), infsupdec (1, 1.5, "trv"))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair2; + testcases = testdata.NoSignal.infsupdec.cancelMinus; for testcase = [testcases]' assert (isequaln (... - nthargout (2, @mulrev, testcase.in{1}, testcase.in{2}), ... + cancelminus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair2; + testcases = testdata.NoSignal.infsupdec.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); + assert (isequaln (cancelminus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair2; + testcases = testdata.NoSignal.infsupdec.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -10328,27 +10642,38 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); + assert (isequaln (cancelminus (in1, in2), 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 (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/tanrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tanrev.m +***** # from the documentation string +***** 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.mulRev; + testcases = testdata.NoSignal.infsupdec.tanRev; for testcase = [testcases]' assert (isequaln (... - mulrev (testcase.in{1}, testcase.in{2}), ... + tanrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mulRev; + testcases = testdata.NoSignal.infsupdec.tanRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (mulrev (in1, in2), out)); + assert (isequaln (tanrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mulRev; + testcases = testdata.NoSignal.infsupdec.tanRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10357,31 +10682,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 (mulrev (in1, in2), out)); + assert (isequaln (tanrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mulRevTen; + testcases = testdata.NoSignal.infsupdec.tanRevBin; for testcase = [testcases]' assert (isequaln (... - mulrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + tanrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mulRevTen; + testcases = testdata.NoSignal.infsupdec.tanRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (mulrev (in1, in2, in3), out)); + assert (isequaln (tanrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mulRevTen; + testcases = testdata.NoSignal.infsupdec.tanRevBin; 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; @@ -10391,34 +10713,65 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mulrev (in1, in2, in3), out)); -18 tests, 18 passed, 0 known failure, 0 skipped -[inst/@infsupdec/acos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acos.m + assert (isequaln (tanrev (in1, in2), out)); +7 tests, 7 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/sum.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sum.m ***** # from the documentation string -***** assert (isequal (acos (infsupdec (.5)), infsupdec ("[0x1.0C152382D7365, 0x1.0C152382D7366]"))); +***** assert (isequal (sum ([infsupdec(1), pow2(-1074), -1]), infsupdec (pow2 (-1074)))); +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"))); ***** 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.roundTiesToAway; for testcase = [testcases]' assert (isequaln (... - acos (testcase.in{1}), ... + round (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.acos; + testcases = testdata.NoSignal.infsupdec.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (acos (in1), out)); + assert (isequaln (round (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acos; + testcases = testdata.NoSignal.infsup.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10429,69 +10782,35 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (acos (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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/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/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/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/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/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/sin.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sin.m -***** # from the documentation string -***** assert (isequal (sin (infsupdec (1)), infsupdec ("[0x1.AED548F090CEEp-1, 0x1.AED548F090CEFp-1]"))); + assert (isequaln (round (in1), out)); +21 tests, 21 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.infsupdec.sin; + testcases = testdata.NoSignal.infsupdec.strictPrecedes; for testcase = [testcases]' assert (isequaln (... - sin (testcase.in{1}), ... + strictprecedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sin; + testcases = testdata.NoSignal.infsupdec.strictPrecedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sin (in1), out)); + assert (isequaln (strictprecedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsupdec.strictPrecedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10500,9 +10819,113 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sin (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped + assert (isequaln (strictprecedes (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/mod.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mod.m +***** assert (isequal (mod (infsupdec (), infsupdec ()), infsupdec ())); +***** assert (isequal (mod (infsupdec (0), infsupdec ()), infsupdec ())); +***** assert (isequal (mod (infsupdec (), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (0), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (1), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (0, 1), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (1, 2), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (0, inf), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (1, inf), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (realmax, inf), infsupdec (0)), infsupdec ())); +***** assert (isequal (mod (infsupdec (0), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0), infsupdec (0, 1)), infsupdec (0, "trv"))); +***** assert (isequal (mod (infsupdec (0), infsupdec (1, 2)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0), infsupdec (0, inf)), infsupdec (0, "trv"))); +***** assert (isequal (mod (infsupdec (0), infsupdec (1, inf)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0), infsupdec (realmax, inf)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (2), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (4), infsupdec (2)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (6), infsupdec (3)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (8), infsupdec (2)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (9), infsupdec (3)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 2)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 4)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 8)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 16)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 32)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0.1), infsupdec (0.1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0.1 * 2), infsupdec (0.1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0.1 * 4), infsupdec (0.1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (pi), infsupdec (pi)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (pi), infsupdec (pi / 2)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (pi), infsupdec (pi / 4)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (pow2 (-1074)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (pow2 (-1073)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (pow2 (-1072)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (2)), infsupdec (1))); +***** assert (isequal (mod (infsupdec (0.5), infsupdec (1)), infsupdec (0.5))); +***** assert (isequal (mod (infsupdec (pi), infsupdec (3.15)), infsupdec (pi))); +***** assert (isequal (mod (infsupdec (1), infsupdec (2, 3)), infsupdec (1))); +***** assert (isequal (mod (infsupdec (1), infsupdec (2, inf)), infsupdec (1, "dac"))); +***** assert (isequal (mod (infsupdec (0.5), infsupdec (1, 2)), infsupdec (0.5))); +***** assert (isequal (mod (infsupdec (0.5), infsupdec (1, inf)), infsupdec (0.5, "dac"))); +***** assert (isequal (mod (infsupdec (pi), infsupdec (3.15)), infsupdec (pi))); +***** assert (isequal (mod (infsupdec (pi), infsupdec (3.15, inf)), infsupdec (pi, "dac"))); +***** assert (isequal (mod (infsupdec (0, 1), infsupdec (0, 1)), infsupdec (0, 1, "trv"))); +***** assert (isequal (mod (infsupdec (0, 2), infsupdec (0, 1)), infsupdec (0, 1, "trv"))); +***** assert (isequal (mod (infsupdec (0, 1), infsupdec (0, 2)), infsupdec (0, 1, "trv"))); +***** assert (isequal (mod (infsupdec (0, realmax), infsupdec (0, realmax)), infsupdec (0, realmax, "trv"))); +***** assert (isequal (mod (infsupdec (realmax, inf), infsupdec (realmax, inf)), infsupdec (0, inf, "def"))); +***** assert (isequal (mod (infsupdec (0, inf), infsupdec (0, inf)), infsupdec (0, inf, "trv"))); +***** assert (isequal (mod (infsupdec (0), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (0, 1), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (1, 2), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (0, inf), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (1, inf), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (realmax, inf), infsupdec (1)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (0, 1)), infsupdec (0, 0.5, "trv"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (1, 2)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (0, inf)), infsupdec (0, 1, "trv"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (1, inf)), infsupdec (0, 1, "def"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (2, inf)), infsupdec (1, "dac"))); +***** assert (isequal (mod (infsupdec (1), infsupdec (realmax, inf)), infsupdec (1, "dac"))); +66 tests, 66 passed, 0 known failure, 0 skipped +[inst/@infsupdec/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/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])))); @@ -10519,33 +10942,31 @@ ***** 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/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/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.strictLess; + testcases = testdata.NoSignal.infsupdec.isEmpty; for testcase = [testcases]' assert (isequaln (... - lt (testcase.in{1}, testcase.in{2}), ... + isempty (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.strictLess; + testcases = testdata.NoSignal.infsupdec.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (lt (in1, in2), out)); + assert (isequaln (isempty (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.strictLess; + 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; @@ -10554,36 +10975,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 (lt (in1, in2), out)); + assert (isequaln (isempty (in1), out)); 5 tests, 5 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/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.less; + testcases = testdata.NoSignal.infsupdec.neg; for testcase = [testcases]' assert (isequaln (... - le (testcase.in{1}, testcase.in{2}), ... + uminus (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.less; + testcases = testdata.NoSignal.infsupdec.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (le (in1, in2), out)); + assert (isequaln (uminus (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.less; + 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; @@ -10592,37 +11011,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 (le (in1, in2), out)); + assert (isequaln (uminus (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 +[inst/@infsupdec/erfc.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/erfc.m ***** # from the documentation string -***** assert (isequal (infsupdec (2, 3) .* infsupdec (1, 2), infsupdec (2, 6))); +***** assert (erfc (infsupdec (1)) == "[0x1.4226162FBDDD4p-3, 0x1.4226162FBDDD5p-3]"); +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 +***** # from the documentation string +***** assert (isequal (exp (infsupdec (1)), infsupdec ("e"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mul; + testcases = testdata.NoSignal.infsupdec.exp; for testcase = [testcases]' assert (isequaln (... - times (testcase.in{1}, testcase.in{2}), ... + exp (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mul; + testcases = testdata.NoSignal.infsupdec.exp; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (times (in1, in2), out)); + assert (isequaln (exp (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mul; + 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; @@ -10631,34 +11052,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 (times (in1, in2), out)); + assert (isequaln (exp (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cos.m +[inst/@infsupdec/erf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/erf.m ***** # from the documentation string -***** assert (isequal (cos (infsupdec (1)), infsupdec ("[0x1.14A280FB5068Bp-1, 0x1.14A280FB5068Cp-1]"))); +***** assert (erf (infsupdec (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); +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.cos; + testcases = testdata.NoSignal.infsupdec.sqrt; for testcase = [testcases]' assert (isequaln (... - cos (testcase.in{1}), ... + realsqrt (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cos; + testcases = testdata.NoSignal.infsupdec.sqrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cos (in1), out)); + assert (isequaln (realsqrt (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cos; + testcases = testdata.NoSignal.infsup.sqrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10669,84 +11094,35 @@ 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 (realsqrt (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/erf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/erf.m +[inst/@infsupdec/pown.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pown.m ***** # from the documentation string -***** assert (erf (infsupdec (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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/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")); +***** 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.decorationPart; + testcases = testdata.NoSignal.infsupdec.sqr; for testcase = [testcases]' assert (isequaln (... - decorationpart (testcase.in{1}), ... - {testcase.out})); + pown (testcase.in{1}, 2), ... + testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.decorationPart; + testcases = testdata.NoSignal.infsupdec.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = {testcases.out}'; - assert (isequaln (decorationpart (in1), out)); + out = vertcat (testcases.out); + assert (isequaln (pown (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.decorationPart; + testcases = testdata.NoSignal.infsupdec.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = {testcases.out}'; + out = vertcat (testcases.out); # Reshape data i = -1; do @@ -10755,71 +11131,74 @@ 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/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")); + assert (isequaln (pown (in1, 2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.exp10; + testcases = testdata.NoSignal.infsupdec.pown; for testcase = [testcases]' assert (isequaln (... - pow10 (testcase.in{1}), ... + pown (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.exp10; + testcases = testdata.NoSignal.infsupdec.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pow10 (in1), out)); + assert (isequaln (pown (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.exp10; + testcases = testdata.NoSignal.infsupdec.pown; 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 || i == numel (in1)) + 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/@infsupdec/atan2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2.m + assert (isequaln (pown (in1, in2), out)); +8 tests, 8 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/coshrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/coshrev.m ***** # from the documentation string -***** assert (isequal (atan2 (infsupdec (1), infsupdec (-1)), infsupdec ("[0x1.2D97C7F3321D2p1, 0x1.2D97C7F3321D3p1]"))); +***** 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.atan2; + testcases = testdata.NoSignal.infsupdec.coshRev; for testcase = [testcases]' assert (isequaln (... - atan2 (testcase.in{1}, testcase.in{2}), ... + coshrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.atan2; + testcases = testdata.NoSignal.infsupdec.coshRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (atan2 (in1, in2), out)); + assert (isequaln (coshrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.atan2; + testcases = testdata.NoSignal.infsupdec.coshRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10828,53 +11207,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 (atan2 (in1, in2), out)); -4 tests, 4 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/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")); + assert (isequaln (coshrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.isNaI; + testcases = testdata.NoSignal.infsupdec.coshRevBin; for testcase = [testcases]' assert (isequaln (... - isnai (testcase.in{1}), ... + coshrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.isNaI; + testcases = testdata.NoSignal.infsupdec.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (isnai (in1), out)); + assert (isequaln (coshrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.isNaI; + testcases = testdata.NoSignal.infsupdec.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10883,38 +11237,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 (isnai (in1), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsupdec/floor.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/floor.m -***** # from the documentation string -***** assert (isequal (floor (infsupdec (2.5, 3.5)), infsupdec (2, 3, "def"))); -***** assert (isequal (floor (infsupdec (-0.5, 5)), infsupdec (-1, 5, "def"))); -***** warning - _ = @infsupdec; - assert (isequal (... - floor (_ ("jansen")), nai)) #ghtwish + assert (isequaln (coshrev (in1, in2), out)); +7 tests, 7 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.floor; + testcases = testdata.NoSignal.infsupdec.tanh; for testcase = [testcases]' assert (isequaln (... - floor (testcase.in{1}), ... + tanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.floor; + testcases = testdata.NoSignal.infsupdec.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (floor (in1), out)); + assert (isequaln (tanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsup.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10925,84 +11275,125 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (floor (in1), out)); -6 tests, 6 passed, 0 known failure, 0 skipped + assert (isequaln (tanh (in1), 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/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/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/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/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/interior.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/interior.m -***** assert (interior (infsupdec (1, 2), infsupdec (0, 3))); +[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/fma.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/fma.m +***** # from the documentation string +***** assert (isequal (fma (infsupdec (1+eps), infsupdec (7), infsupdec ("0.1")), infsupdec ("[0x1.C666666666668p2, 0x1.C666666666669p2]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.interior; + testcases = testdata.NoSignal.infsupdec.fma; for testcase = [testcases]' assert (isequaln (... - interior (testcase.in{1}, testcase.in{2}), ... + fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.interior; + 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 (interior (in1, in2), out)); + assert (isequaln (fma (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.interior; + 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 (interior (in1, in2), out)); + assert (isequaln (fma (in1, in2, in3), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/bisect.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/bisect.m +[inst/@infsupdec/sech.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sech.m ***** # from the documentation string -***** test - [a, b] = bisect (infsupdec (2, 32)); - assert (a == infsupdec (2, 8, "trv")); - assert (b == infsupdec (8, 32, "trv")); +***** assert (isequal (sech (infsupdec (1)), infsupdec ("[0x1.4BCDC50ED6BE7p-1, 0x1.4BCDC50ED6BE8p-1]_com"))); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/pown.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pown.m +[inst/@infsupdec/sinrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sinrev.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 (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.sqr; + testcases = testdata.NoSignal.infsupdec.sinRev; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, 2), ... + sinrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + testcases = testdata.NoSignal.infsupdec.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, 2), out)); + assert (isequaln (sinrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + testcases = testdata.NoSignal.infsupdec.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11013,25 +11404,25 @@ 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 (sinrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.pown; + testcases = testdata.NoSignal.infsupdec.sinRevBin; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, testcase.in{2}), ... + sinrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pown; + testcases = testdata.NoSignal.infsupdec.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, in2), out)); + assert (isequaln (sinrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pown; + testcases = testdata.NoSignal.infsupdec.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -11044,33 +11435,35 @@ 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/atan.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan.m + assert (isequaln (sinrev (in1, in2), out)); +7 tests, 7 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 (atan (infsupdec (1)), infsupdec ("[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-1]"))); +***** 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.atan; + testcases = testdata.NoSignal.infsupdec.max; for testcase = [testcases]' assert (isequaln (... - atan (testcase.in{1}), ... + max (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.atan; + testcases = testdata.NoSignal.infsupdec.max; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (atan (in1), out)); + assert (isequaln (max (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsupdec.max; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11079,74 +11472,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 (atan (in1), out)); + assert (isequaln (max (in1, in2), out)); 4 tests, 4 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")); +[inst/@infsupdec/mulrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mulrev.m +***** # IEEE Std 1788-2015 mulRevToPair examples ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.isEmpty; - for testcase = [testcases]' - assert (isequaln (... - isempty (testcase.in{1}), ... - testcase.out)); - endfor + [u, v] = mulrev (infsupdec (0), infsupdec (1, 2)); + assert (isempty (u) & isempty (v)); ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.isEmpty; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (isempty (in1), out)); + [u, v] = mulrev (infsupdec (0), infsupdec (0, 1)); + assert (isentire (u) & isempty (v)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEmpty; - 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 (isempty (in1), out)); -5 tests, 5 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/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"))); + [u, v] = mulrev (infsupdec (1), infsupdec (1, 2)); + assert (isequal (u, infsupdec (1, 2)) & isempty (v)); +***** test + [u, v] = mulrev (infsupdec (1, inf), infsupdec (1)); + assert (isequal (u, infsupdec (0, 1, "dac")) & isempty (v)); +***** test + [u, v] = mulrev (infsupdec (-1, 1), infsupdec (1, 2)); + assert (isequal (u, infsupdec (-inf, -1, "trv")) & isequal (v, infsupdec (1, inf, "trv"))); +***** test + [u, v] = mulrev (infsupdec (-inf, inf), infsupdec (1)); + assert (isequal (u, infsupdec (-inf, 0, "trv")) & isequal (v, infsupdec (0, inf, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.pownRev; + testcases = testdata.NoSignal.infsupdec.mulRevToPair1; for testcase = [testcases]' assert (isequaln (... - pownrev (testcase.in{1}, testcase.in{2}), ... + nthargout (1, 2, @mulrev, testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pownRev; + testcases = testdata.NoSignal.infsupdec.mulRevToPair1; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pownrev (in1, in2), out)); + assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pownRev; + testcases = testdata.NoSignal.infsupdec.mulRevToPair1; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -11159,29 +11530,27 @@ 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 (nthargout (1, 2, @mulrev, in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.pownRevBin; + testcases = testdata.NoSignal.infsupdec.mulRevToPair2; for testcase = [testcases]' assert (isequaln (... - pownrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + nthargout (2, @mulrev, testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pownRevBin; + testcases = testdata.NoSignal.infsupdec.mulRevToPair2; 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 (nthargout (2, @mulrev, in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pownRevBin; + testcases = testdata.NoSignal.infsupdec.mulRevToPair2; 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; @@ -11191,89 +11560,61 @@ 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/@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/fma.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/fma.m -***** # from the documentation string -***** assert (isequal (fma (infsupdec (1+eps), infsupdec (7), infsupdec ("0.1")), infsupdec ("[0x1.C666666666668p2, 0x1.C666666666669p2]"))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.fma; + testcases = testdata.NoSignal.infsupdec.mulRev; for testcase = [testcases]' assert (isequaln (... - fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + mulrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.fma; + testcases = testdata.NoSignal.infsupdec.mulRev; 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 (mulrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.fma; + testcases = testdata.NoSignal.infsupdec.mulRev; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; do i = i + 1; testsize = factor (numel (in1) + i); - until (numel (testsize) > 2 | i == numel (in1)) + until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (fma (in1, in2, in3), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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/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))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (mulrev (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.add; + testcases = testdata.NoSignal.infsupdec.mulRevTen; for testcase = [testcases]' assert (isequaln (... - plus (testcase.in{1}, testcase.in{2}), ... + mulrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.add; + testcases = testdata.NoSignal.infsupdec.mulRevTen; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (plus (in1, in2), out)); + assert (isequaln (mulrev (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.add; + testcases = testdata.NoSignal.infsupdec.mulRevTen; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11283,58 +11624,34 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); + in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (plus (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/abs.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/abs.m -***** # Empty interval -***** assert (isequal (abs (infsupdec ()), infsupdec ())); -***** # Singleton intervals -***** assert (isequal (abs (infsupdec (1)), infsupdec (1))); -***** assert (isequal (abs (infsupdec (0)), infsupdec (0))); -***** assert (isequal (abs (infsupdec (-1)), infsupdec (1))); -***** assert (isequal (abs (infsupdec (realmax)), infsupdec (realmax))); -***** assert (isequal (abs (infsupdec (realmin)), infsupdec (realmin))); -***** assert (isequal (abs (infsupdec (-realmin)), infsupdec (realmin))); -***** assert (isequal (abs (infsupdec (-realmax)), infsupdec (realmax))); -***** # Bounded intervals -***** assert (isequal (abs (infsupdec (1, 2)), infsupdec (1, 2))); -***** assert (isequal (abs (infsupdec (0, 1)), infsupdec (0, 1))); -***** assert (isequal (abs (infsupdec (-1, 1)), infsupdec (0, 1))); -***** assert (isequal (abs (infsupdec (-1, 0)), infsupdec (0, 1))); -***** assert (isequal (abs (infsupdec (-2, -1)), infsupdec (1, 2))); -***** # Unbounded intervals -***** assert (isequal (abs (infsupdec (0, inf)), infsupdec (0, inf))); -***** assert (isequal (abs (infsupdec (-inf, inf)), infsupdec (0, inf))); -***** assert (isequal (abs (infsupdec (-inf, 0)), infsupdec (0, inf))); -***** assert (isequal (abs (infsupdec (1, inf)), infsupdec (1, inf))); -***** assert (isequal (abs (infsupdec (-1, inf)), infsupdec (0, inf))); -***** assert (isequal (abs (infsupdec (-inf, -1)), infsupdec (1, inf))); -***** assert (isequal (abs (infsupdec (-inf, 1)), infsupdec (0, inf))); + assert (isequaln (mulrev (in1, in2, in3), out)); +18 tests, 18 passed, 0 known failure, 0 skipped +[inst/@infsupdec/log2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log2.m ***** # from the documentation string -***** assert (isequal (abs (infsupdec (2.5, 3.5)), infsupdec (2.5, 3.5))); -***** assert (isequal (abs (infsupdec (-0.5, 5.5)), infsupdec (0, 5.5))); +***** assert (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.abs; + testcases = testdata.NoSignal.infsupdec.log2; for testcase = [testcases]' assert (isequaln (... - abs (testcase.in{1}), ... + log2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.abs; + testcases = testdata.NoSignal.infsupdec.log2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (abs (in1), out)); + assert (isequaln (log2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsup.log2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11345,70 +11662,84 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(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/nextout.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/nextout.m -***** # from the documentation string + assert (isequaln (log2 (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/dot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/dot.m +***** # matrix × matrix +***** assert (isequal (dot (infsupdec (magic (3)), magic (3)), infsupdec([89, 107, 89]))); +***** assert (isequal (dot (infsupdec (magic (3)), magic (3), 1), infsupdec([89, 107, 89]))); +***** assert (isequal (dot (infsupdec (magic (3)), magic (3), 2), infsupdec([101; 83; 101]))); +***** # matrix × vector +***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3]), infsupdec([28; 34; 28]))); +***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3], 1), infsupdec([15, 30, 45]))); +***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3], 2), infsupdec([28; 34; 28]))); +***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3]), infsupdec([26, 38, 26]))); +***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3], 1), infsupdec([26, 38, 26]))); +***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3], 2), infsupdec([15; 30; 45]))); +***** # matrix × scalar +***** assert (isequal (dot (infsupdec (magic (3)), 42), infsupdec([630, 630, 630]))); +***** assert (isequal (dot (infsupdec (magic (3)), 42, 1), infsupdec([630, 630, 630]))); +***** assert (isequal (dot (infsupdec (magic (3)), 42, 2), infsupdec([630; 630; 630]))); +***** # vector x vector +***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6]), infsupdec(32))); +***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6], 1), infsupdec([4, 10, 18]))); +***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6], 2), infsupdec(32))); +***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6]), infsupdec(32))); +***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6], 1), infsupdec(32))); +***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6], 2), infsupdec([4; 10; 18]))); +***** # vector × scalar +***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42), infsupdec(252))); +***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42, 1), infsupdec([42, 84, 126]))); +***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42, 2), infsupdec(252))); +***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42), infsupdec(252))); +***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42, 1), infsupdec(252))); +***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42, 2), infsupdec([42; 84; 126]))); +***** # empty matrix x empty matrix +***** assert (isequal (dot (infsupdec (ones (0, 2)), infsupdec (ones (0, 2))), infsupdec ([0, 0]))); +***** # N-dimensional arrays ***** test - x = 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/sinrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sinrev.m + 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 (sinrev (infsupdec (-1), infsupdec (0, 6)), infsupdec ("[0x1.2D97C7F3321D2p2, 0x1.2D97C7F3321D3p2]_trv"))); +***** 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/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.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.strictLess; for testcase = [testcases]' assert (isequaln (... - sinrev (testcase.in{1}, testcase.in{2}), ... + lt (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sinRevBin; + testcases = testdata.NoSignal.infsupdec.strictLess; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sinrev (in1, in2), out)); + assert (isequaln (lt (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sinRevBin; + testcases = testdata.NoSignal.infsupdec.strictLess; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -11421,35 +11752,49 @@ 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/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/cat.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cat.m +***** assert (size (cat (1, infsupdec ([]), infsupdec ([]))), [0 0]); +***** assert (isequal (cat (1, infsupdec (1), infsupdec (2)), infsupdec (cat (1, 1, 2)))); +***** assert (isequal (cat (2, infsupdec (1), infsupdec (2)), infsupdec (cat (2, 1, 2)))); +***** assert (isequal (horzcat (infsupdec (1), infsupdec (2)), infsupdec (horzcat (1, 2)))); +***** test + a = infsupdec (2, 5); + assert (isequal (horzcat (a, a, a), infsupdec ([2, 2, 2], [5, 5, 5]))); +***** assert (isequal (vertcat (infsupdec (1), infsupdec (2)), infsupdec (vertcat (1, 2)))); +***** test + a = infsupdec (2, 5); + assert (isequal (vertcat (a, a, a), infsupdec ([2; 2; 2], [5; 5; 5]))); +***** assert (isequal (cat (5, infsupdec (1), infsupdec (2)), infsupdec (cat (5, 1, 2)))); +***** assert (isequal (cat (1, infsupdec (zeros (2, 2, 2)), infsupdec (ones (2, 2, 2))), infsupdec (cat (1, zeros (2, 2, 2), ones (2, 2, 2))))); +9 tests, 9 passed, 0 known failure, 0 skipped +[inst/@infsupdec/fix.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/fix.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 (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.sign; + testcases = testdata.NoSignal.infsupdec.trunc; for testcase = [testcases]' assert (isequaln (... - sign (testcase.in{1}), ... + fix (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sign; + testcases = testdata.NoSignal.infsupdec.trunc; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sign (in1), out)); + assert (isequaln (fix (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sign; + testcases = testdata.NoSignal.infsupdec.trunc; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11460,38 +11805,40 @@ 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/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/exp.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/exp.m + assert (isequaln (fix (in1), out)); +5 tests, 5 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/power.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/power.m ***** # from the documentation string -***** assert (isequal (exp (infsupdec (1)), infsupdec ("e"))); +***** assert (isequal (infsupdec (-5, 6) .^ infsupdec (2, 3), infsupdec (-125, 216, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.exp; + testcases = testdata.NoSignal.infsupdec.sqr; for testcase = [testcases]' assert (isequaln (... - exp (testcase.in{1}), ... + power (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.exp; + testcases = testdata.NoSignal.infsupdec.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (exp (in1), out)); + assert (isequaln (power (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11502,7 +11849,7 @@ 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 (power (in1, 2), 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 @@ -11573,254 +11920,66 @@ ***** 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/coth.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/coth.m +[inst/@infsupdec/log10.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log10.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/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) +***** assert (isequal (log10 (infsupdec (2)), infsupdec ("[0x1.34413509F79FEp-2, 0x1.34413509F79FFp-2]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.setDec; + testcases = testdata.NoSignal.infsupdec.log10; for testcase = [testcases]' assert (isequaln (... - infsupdec (testcase.in{1}, testcase.in{2}), ... + log10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.setDec; + testcases = testdata.NoSignal.infsupdec.log10; 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 (log10 (in1), out)); ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.("d-numsToInterval"); + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - 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); + out = reshape ([out; out(1:i)], testsize); + assert (isequaln (log10 (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))); +***** 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.interior; for testcase = [testcases]' assert (isequaln (... - infsupdec (testcase.in{1}), ... + interior (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.("d-textToInterval"); - in1 = vertcat (testcases.in); + testcases = testdata.NoSignal.infsupdec.interior; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); 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 (interior (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.("d-numsToInterval"); + testcases = testdata.NoSignal.infsupdec.interior; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -11833,32 +11992,37 @@ 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/asin.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/asin.m + assert (isequaln (interior (in1, in2), 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 (isequal (asin (infsupdec (.5)), infsupdec ("[0x1.0C152382D7365p-1, 0x1.0C152382D7366p-1]"))); +***** assert (isequal (rsqrt (infsupdec (-6, 4)), infsupdec (.5, inf, "trv"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/sin.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sin.m +***** # from the documentation string +***** assert (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.asin; + testcases = testdata.NoSignal.infsupdec.sin; for testcase = [testcases]' assert (isequaln (... - asin (testcase.in{1}), ... + sin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.asin; + testcases = testdata.NoSignal.infsupdec.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (asin (in1), out)); + assert (isequaln (sin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsup.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11869,35 +12033,61 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (asin (in1), out)); + assert (isequaln (sin (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/min.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/min.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 -***** assert (isequal (min (infsupdec (2, 3), infsupdec (1, 2)), infsupdec (1, 2))); +***** 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.min; + # Scalar evaluation with one argument + testcases = testdata.NoSignal.infsupdec.absRev; for testcase = [testcases]' assert (isequaln (... - min (testcase.in{1}, testcase.in{2}), ... + absrev (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.min; + # 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 (min (in1, in2), out)); + assert (isequaln (absrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.min; + 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; @@ -11906,38 +12096,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 (min (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sup.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sup.m -***** assert (sup (infsupdec (2.5, 3.5)), 3.5); -***** assert (sup (infsupdec ()), -inf); -***** assert (sup (infsupdec ("[nai]")), nan); -***** warning id=interval:UndefinedOperation - assert (sup (infsupdec (3, 2)), nan); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (absrev (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sup; + # Scalar evaluation with two arguments + testcases = testdata.NoSignal.infsupdec.absRevBin; for testcase = [testcases]' assert (isequaln (... - sup (testcase.in{1}), ... + absrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sup; + # 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 (sup (in1), out)); + assert (isequaln (absrev (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sup; + # N-dimensional array evaluation with two arguments + testcases = testdata.NoSignal.infsupdec.absRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11946,99 +12126,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 (sup (in1), out)); + assert (isequaln (absrev (in1, in2), out)); +31 tests, 31 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/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/dot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/dot.m -***** # matrix × matrix -***** assert (isequal (dot (infsupdec (magic (3)), magic (3)), infsupdec([89, 107, 89]))); -***** assert (isequal (dot (infsupdec (magic (3)), magic (3), 1), infsupdec([89, 107, 89]))); -***** assert (isequal (dot (infsupdec (magic (3)), magic (3), 2), infsupdec([101; 83; 101]))); -***** # matrix × vector -***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3]), infsupdec([28; 34; 28]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3], 1), infsupdec([15, 30, 45]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3], 2), infsupdec([28; 34; 28]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3]), infsupdec([26, 38, 26]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3], 1), infsupdec([26, 38, 26]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3], 2), infsupdec([15; 30; 45]))); -***** # matrix × scalar -***** assert (isequal (dot (infsupdec (magic (3)), 42), infsupdec([630, 630, 630]))); -***** assert (isequal (dot (infsupdec (magic (3)), 42, 1), infsupdec([630, 630, 630]))); -***** assert (isequal (dot (infsupdec (magic (3)), 42, 2), infsupdec([630; 630; 630]))); -***** # vector x vector -***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6]), infsupdec(32))); -***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6], 1), infsupdec([4, 10, 18]))); -***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6], 2), infsupdec(32))); -***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6]), infsupdec(32))); -***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6], 1), infsupdec(32))); -***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6], 2), infsupdec([4; 10; 18]))); -***** # vector × scalar -***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42), infsupdec(252))); -***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42, 1), infsupdec([42, 84, 126]))); -***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42, 2), infsupdec(252))); -***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42), infsupdec(252))); -***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42, 1), infsupdec(252))); -***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42, 2), infsupdec([42; 84; 126]))); -***** # empty matrix x empty matrix -***** assert (isequal (dot (infsupdec (ones (0, 2)), infsupdec (ones (0, 2))), infsupdec ([0, 0]))); -***** # N-dimensional arrays -***** test - x = infsupdec (reshape (1:24, 2, 3, 4)); - y = infsupdec (2.*ones (2, 3, 4)); - assert (isequal (dot (x, y, 3), infsupdec ([80, 96, 112; 88, 104, 120]))) -***** test - x = infsupdec (ones (2, 2, 2, 2)); - y = infsupdec (1); - assert (size (dot (x, y)), [1, 2, 2, 2]); - assert (size (dot (x, y, 1)), [1, 2, 2, 2]); - assert (size (dot (x, y, 2)), [2, 1, 2, 2]); - assert (size (dot (x, y, 3)), [2, 2, 1, 2]); - assert (size (dot (x, y, 4)), [2, 2, 2]); - assert (size (dot (x, y, 5)), [2, 2, 2, 2]); +[inst/@infsupdec/log.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log.m ***** # 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/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 (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.precedes; + testcases = testdata.NoSignal.infsupdec.log; for testcase = [testcases]' assert (isequaln (... - precedes (testcase.in{1}, testcase.in{2}), ... + log (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.precedes; + testcases = testdata.NoSignal.infsupdec.log; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (precedes (in1, in2), out)); + assert (isequaln (log (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.precedes; + 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; @@ -12047,49 +12174,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 (precedes (in1, in2), out)); -5 tests, 5 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/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/sqrrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sqrrev.m + assert (isequaln (log (in1), 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 (sqrrev (infsupdec (-2, 1)), infsupdec (-1, 1, "trv"))); +***** 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.sqrRev; + testcases = testdata.NoSignal.infsupdec.sub; for testcase = [testcases]' assert (isequaln (... - sqrrev (testcase.in{1}), ... + minus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqrRev; + testcases = testdata.NoSignal.infsupdec.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1), out)); + assert (isequaln (minus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sqrRev; + testcases = testdata.NoSignal.infsupdec.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12098,26 +12212,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 (sqrrev (in1), out)); + assert (isequaln (minus (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"))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sqrRevBin; + testcases = testdata.NoSignal.infsupdec.pownRev; for testcase = [testcases]' assert (isequaln (... - sqrrev (testcase.in{1}, testcase.in{2}), ... + pownrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqrRevBin; + testcases = testdata.NoSignal.infsupdec.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1, in2), out)); + assert (isequaln (pownrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sqrRevBin; + testcases = testdata.NoSignal.infsupdec.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -12130,55 +12252,29 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sqrrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/lu.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/lu.m -***** test - [l, u] = lu (infsupdec (magic (3))); - assert (isequal (l, infsupdec ({1, 0, 0; .375, 1, 0; .5, "68/37", 1}, "trv")));, ... - assert (subset (u, infsupdec ({8, 1, 6; 0, 4.625, 4.75; 0, 0, "-0x1.3759F2298375Bp3"}, ... - {8, 1, 6; 0, 4.625, 4.75; 0, 0, "-0x1.3759F22983759p3"}))); - A = magic (3); - A ([1, 5, 9]) = 0; - [l, u, p] = lu (infsupdec (A)); - assert (p, [0, 0, 1; 1, 0, 0; 0, 1, 0]); - assert (isequal (l, infsupdec ({1, 0, 0; "4/3", 1, 0; 0, "1/9", 1}, "trv"))); - assert (subset (u, infsupdec ({3, 0, 7; 0, 9, "-0x1.2AAAAAAAAAAACp3"; 0, 0, "0x1.C25ED097B425Ep2"}, ... - {3, 0, 7; 0, 9, "-0x1.2AAAAAAAAAAAAp3"; 0, 0, "0x1.C25ED097B426p2"}))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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/intersect.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/intersect.m -***** # from the documentation string -***** assert (isequal (intersect (infsupdec (1, 3), infsupdec (2, 4)), infsupdec (2, 3, "trv"))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (pownrev (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.intersection; + testcases = testdata.NoSignal.infsupdec.pownRevBin; for testcase = [testcases]' assert (isequaln (... - intersect (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.intersection; + 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 (intersect (in1, in2), out)); + assert (isequaln (pownrev (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.intersection; + 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; @@ -12188,33 +12284,58 @@ 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 (intersect (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/log.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log.m + assert (isequaln (pownrev (in1, in2, in3), out)); +7 tests, 7 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 (log (infsupdec (2)), infsupdec ("[0x1.62E42FEFA39EFp-1, 0x1.62E42FEFA39Fp-1]"))); +***** assert (isequal (csch (infsupdec (1)), infsupdec ("[0x1.B3AB8A78B90Cp-1, 0x1.B3AB8A78B90C1p-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/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/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.log; + testcases = testdata.NoSignal.infsupdec.intervalPart; for testcase = [testcases]' assert (isequaln (... - log (testcase.in{1}), ... + intervalpart (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.log; + testcases = testdata.NoSignal.infsupdec.intervalPart; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log (in1), out)); + assert (isequaln (intervalpart (in1), out)); +***** warning + testcases = testdata.IntvlPartOfNaI.infsupdec.intervalPart; + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + intervalpart (testcase.in{1}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:IntvlPartOfNaI"); + endfor ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log; + testcases = testdata.NoSignal.infsupdec.intervalPart; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12225,34 +12346,39 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (log (in1), 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 + assert (isequaln (intervalpart (in1), out)); +6 tests, 6 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/atan2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2.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 (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.ceil; + testcases = testdata.NoSignal.infsupdec.atan2; for testcase = [testcases]' assert (isequaln (... - ceil (testcase.in{1}), ... + atan2 (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.ceil; + testcases = testdata.NoSignal.infsupdec.atan2; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (ceil (in1), out)); + assert (isequaln (atan2 (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.ceil; + 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; @@ -12261,55 +12387,56 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (ceil (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped + assert (isequaln (atan2 (in1, in2), 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 +***** # 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/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/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/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/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))); +[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/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.sub; + testcases = testdata.NoSignal.infsupdec.subset; for testcase = [testcases]' assert (isequaln (... - minus (testcase.in{1}, testcase.in{2}), ... + subset (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sub; + testcases = testdata.NoSignal.infsupdec.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (minus (in1, in2), out)); + assert (isequaln (subset (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sub; + testcases = testdata.NoSignal.infsupdec.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -12322,35 +12449,33 @@ 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)); + assert (isequaln (subset (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cancelminus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cancelminus.m +[inst/@infsupdec/cos.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cos.m ***** # from the documentation string -***** assert (isequal (cancelminus (infsupdec (2, 3), infsupdec (1, 1.5)), infsupdec (1, 1.5, "trv"))); +***** 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.cancelMinus; + testcases = testdata.NoSignal.infsupdec.cos; for testcase = [testcases]' assert (isequaln (... - cancelminus (testcase.in{1}, testcase.in{2}), ... + cos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cancelMinus; + testcases = testdata.NoSignal.infsupdec.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelminus (in1, in2), out)); + assert (isequaln (cos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.cancelMinus; + testcases = testdata.NoSignal.infsup.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12359,59 +12484,62 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cancelminus (in1, in2), out)); + assert (isequaln (cos (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 -***** # 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/mpower.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mpower.m +[inst/@infsupdec/bisect.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/bisect.m ***** # from the documentation string -***** assert (isequal (infsupdec (magic (3)) ^ 2, infsupdec (magic (3) ^ 2))); +***** 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/intervalpart.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/intervalpart.m -***** warning id=interval:IntvlPartOfNaI - assert (intervalpart (nai ()) == infsup ()); -***** assert (intervalpart (infsupdec (2, 3)) == infsup (2, 3)); +[inst/@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/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/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/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.intervalPart; + testcases = testdata.NoSignal.infsupdec.asinh; for testcase = [testcases]' assert (isequaln (... - intervalpart (testcase.in{1}), ... + asinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.intervalPart; + testcases = testdata.NoSignal.infsupdec.asinh; 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 (asinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.intervalPart; + testcases = testdata.NoSignal.infsup.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12422,51 +12550,64 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (intervalpart (in1), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cat.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cat.m -***** assert (size (cat (1, infsupdec ([]), infsupdec ([]))), [0 0]); -***** assert (isequal (cat (1, infsupdec (1), infsupdec (2)), infsupdec (cat (1, 1, 2)))); -***** assert (isequal (cat (2, infsupdec (1), infsupdec (2)), infsupdec (cat (2, 1, 2)))); -***** assert (isequal (horzcat (infsupdec (1), infsupdec (2)), infsupdec (horzcat (1, 2)))); -***** test - a = infsupdec (2, 5); - assert (isequal (horzcat (a, a, a), infsupdec ([2, 2, 2], [5, 5, 5]))); -***** assert (isequal (vertcat (infsupdec (1), infsupdec (2)), infsupdec (vertcat (1, 2)))); -***** test - a = infsupdec (2, 5); - assert (isequal (vertcat (a, a, a), infsupdec ([2; 2; 2], [5; 5; 5]))); -***** assert (isequal (cat (5, infsupdec (1), infsupdec (2)), infsupdec (cat (5, 1, 2)))); -***** assert (isequal (cat (1, infsupdec (zeros (2, 2, 2)), infsupdec (ones (2, 2, 2))), infsupdec (cat (1, zeros (2, 2, 2), ones (2, 2, 2))))); -9 tests, 9 passed, 0 known failure, 0 skipped -[inst/@infsupdec/fix.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/fix.m + assert (isequaln (asinh (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/diag.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/diag.m +***** assert (diag (infsupdec (-inf, inf)) == "[Entire]"); +***** assert (diag (infsupdec ()) == "[Empty]"); +***** assert (numel (diag (infsupdec ([]))), 0); +***** assert (isequal (diag (infsupdec (magic (3))), infsupdec ([8; 5; 2]))); +***** assert (isequal (diag (infsupdec ([8 5 3])), infsupdec ([8 0 0; 0 5 0; 0 0 3]))); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/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 (fix (infsupdec (2.5, 3.5)), infsupdec (2, 3, "def"))); -***** assert (isequal (fix (infsupdec (-0.5, 5)), infsupdec (0, 5, "def"))); +***** 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/lu.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/lu.m +***** test + [l, u] = lu (infsupdec (magic (3))); + assert (isequal (l, infsupdec ({1, 0, 0; .375, 1, 0; .5, "68/37", 1}, "trv")));, ... + assert (subset (u, infsupdec ({8, 1, 6; 0, 4.625, 4.75; 0, 0, "-0x1.3759F2298375Bp3"}, ... + {8, 1, 6; 0, 4.625, 4.75; 0, 0, "-0x1.3759F22983759p3"}))); + A = magic (3); + A ([1, 5, 9]) = 0; + [l, u, p] = lu (infsupdec (A)); + assert (p, [0, 0, 1; 1, 0, 0; 0, 1, 0]); + assert (isequal (l, infsupdec ({1, 0, 0; "4/3", 1, 0; 0, "1/9", 1}, "trv"))); + assert (subset (u, infsupdec ({3, 0, 7; 0, 9, "-0x1.2AAAAAAAAAAACp3"; 0, 0, "0x1.C25ED097B425Ep2"}, ... + {3, 0, 7; 0, 9, "-0x1.2AAAAAAAAAAAAp3"; 0, 0, "0x1.C25ED097B426p2"}))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/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.trunc; + testcases = testdata.NoSignal.infsupdec.overlap; for testcase = [testcases]' assert (isequaln (... - fix (testcase.in{1}), ... + overlap (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.trunc; + testcases = testdata.NoSignal.infsupdec.overlap; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (fix (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.infsupdec.trunc; + testcases = testdata.NoSignal.infsupdec.overlap; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = {testcases.out}'; # Reshape data i = -1; do @@ -12474,34 +12615,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 (fix (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/max.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/max.m + assert (isequaln (overlap (in1, in2), out)); +4 tests, 4 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 (isequal (max (infsupdec (2, 3), infsupdec (1, 2)), infsupdec (2, 3))); +***** assert (det (infsupdec (magic (3))) == -360); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/times.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/times.m +***** # from the documentation string +***** assert (isequal (infsupdec (2, 3) .* infsupdec (1, 2), infsupdec (2, 6))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.max; + testcases = testdata.NoSignal.infsupdec.mul; for testcase = [testcases]' assert (isequaln (... - max (testcase.in{1}, testcase.in{2}), ... + times (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.max; + testcases = testdata.NoSignal.infsupdec.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (max (in1, in2), out)); + assert (isequaln (times (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.max; + testcases = testdata.NoSignal.infsupdec.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -12514,100 +12661,89 @@ 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 (times (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/strictprecedes.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/strictprecedes.m -***** assert (strictprecedes (infsupdec (1, 1.9), infsupdec (2.1, 3))); -***** assert (not (strictprecedes (infsupdec (1, 2), infsupdec (2, 3)))); +[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.strictPrecedes; + testcases = testdata.NoSignal.infsupdec.exp10; for testcase = [testcases]' assert (isequaln (... - strictprecedes (testcase.in{1}, testcase.in{2}), ... + pow10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.strictPrecedes; + testcases = testdata.NoSignal.infsupdec.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (strictprecedes (in1, in2), out)); + assert (isequaln (pow10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.strictPrecedes; + 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 (strictprecedes (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/union.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/union.m + assert (isequaln (pow10 (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 (isequal (union (infsupdec (1, 3), infsupdec (2, 4)), infsupdec (1, 4, "trv"))); +***** 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.infsupdec.convexHull; + testcases = testdata.NoSignal.infsupdec.exp2; for testcase = [testcases]' assert (isequaln (... - union (testcase.in{1}, testcase.in{2}), ... + pow2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.convexHull; + testcases = testdata.NoSignal.infsupdec.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (union (in1, in2), out)); + assert (isequaln (pow2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.convexHull; + testcases = testdata.NoSignal.infsupdec.exp2; 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 (union (in1, in2), out)); + assert (isequaln (pow2 (in1), out)); 4 tests, 4 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); +[inst/@infsupdec/subsasgn.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subsasgn.m +***** test + A = infsupdec (magic (3)); + A(4, 4) = 42; + assert (inf (A), [magic(3),[0;0;0];0,0,0,42]); + assert (sup (A), [magic(3),[0;0;0];0,0,0,42]); + assert (decorationpart (A), {"com", "com", "com", "com"; "com", "com", "com", "com"; "com", "com", "com", "com"; "com", "com", "com", "com"}); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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/tan.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tan.m ***** # from the documentation string @@ -12644,35 +12780,47 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (tan (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/csc.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/csc.m -***** # from the documentation string -***** assert (isequal (csc (infsupdec (1)), infsupdec ("[0x1.303AA9620B223, 0x1.303AA9620B224]_com"))); +[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/sinh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sinh.m +[inst/@infsupdec/floor.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/floor.m ***** # from the documentation string -***** assert (isequal (sinh (infsupdec (1)), infsupdec ("[0x1.2CD9FC44EB982, 0x1.2CD9FC44EB983]"))); +***** 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.sinh; + testcases = testdata.NoSignal.infsupdec.floor; for testcase = [testcases]' assert (isequaln (... - sinh (testcase.in{1}), ... + floor (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sinh; + testcases = testdata.NoSignal.infsupdec.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sinh (in1), out)); + assert (isequaln (floor (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sinh; + testcases = testdata.NoSignal.infsup.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12683,32 +12831,35 @@ 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/cosrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cosrev.m -***** # from the documentation string -***** assert (isequal (cosrev (0, infsupdec (6, 9)), infsupdec ("[0x1.F6A7A2955385Ep2, 0x1.F6A7A2955386p2]_trv"))); + assert (isequaln (floor (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsupdec/sup.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sup.m +***** assert (sup (infsupdec (2.5, 3.5)), 3.5); +***** assert (sup (infsupdec ()), -inf); +***** assert (sup (infsupdec ("[nai]")), nan); +***** warning id=interval:UndefinedOperation + assert (sup (infsupdec (3, 2)), nan); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.cosRev; + testcases = testdata.NoSignal.infsupdec.sup; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}), ... + sup (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cosRev; + testcases = testdata.NoSignal.infsupdec.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1), out)); + assert (isequaln (sup (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.cosRev; + testcases = testdata.NoSignal.infsup.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12719,27 +12870,58 @@ 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 (sup (in1), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/abs.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/abs.m +***** # Empty interval +***** assert (isequal (abs (infsupdec ()), infsupdec ())); +***** # Singleton intervals +***** assert (isequal (abs (infsupdec (1)), infsupdec (1))); +***** assert (isequal (abs (infsupdec (0)), infsupdec (0))); +***** assert (isequal (abs (infsupdec (-1)), infsupdec (1))); +***** assert (isequal (abs (infsupdec (realmax)), infsupdec (realmax))); +***** assert (isequal (abs (infsupdec (realmin)), infsupdec (realmin))); +***** assert (isequal (abs (infsupdec (-realmin)), infsupdec (realmin))); +***** assert (isequal (abs (infsupdec (-realmax)), infsupdec (realmax))); +***** # Bounded intervals +***** assert (isequal (abs (infsupdec (1, 2)), infsupdec (1, 2))); +***** assert (isequal (abs (infsupdec (0, 1)), infsupdec (0, 1))); +***** assert (isequal (abs (infsupdec (-1, 1)), infsupdec (0, 1))); +***** assert (isequal (abs (infsupdec (-1, 0)), infsupdec (0, 1))); +***** assert (isequal (abs (infsupdec (-2, -1)), infsupdec (1, 2))); +***** # Unbounded intervals +***** assert (isequal (abs (infsupdec (0, inf)), infsupdec (0, inf))); +***** assert (isequal (abs (infsupdec (-inf, inf)), infsupdec (0, inf))); +***** assert (isequal (abs (infsupdec (-inf, 0)), infsupdec (0, inf))); +***** assert (isequal (abs (infsupdec (1, inf)), infsupdec (1, inf))); +***** assert (isequal (abs (infsupdec (-1, inf)), infsupdec (0, inf))); +***** assert (isequal (abs (infsupdec (-inf, -1)), infsupdec (1, inf))); +***** assert (isequal (abs (infsupdec (-inf, 1)), infsupdec (0, inf))); +***** # from the documentation string +***** assert (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.cosRevBin; + testcases = testdata.NoSignal.infsupdec.abs; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}, testcase.in{2}), ... + abs (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cosRevBin; + testcases = testdata.NoSignal.infsupdec.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1, in2), out)); + assert (isequaln (abs (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.cosRevBin; + testcases = testdata.NoSignal.infsup.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12748,39 +12930,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 (cosrev (in1, in2), out)); -7 tests, 7 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/uminus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/uminus.m + assert (isequaln (abs (in1), out)); +25 tests, 25 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 (-infsupdec (2, 3), infsupdec (-3, -2))); +***** 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.neg; + testcases = testdata.NoSignal.infsupdec.acos; for testcase = [testcases]' assert (isequaln (... - uminus (testcase.in{1}), ... + acos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.neg; + testcases = testdata.NoSignal.infsupdec.acos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (uminus (in1), out)); + assert (isequaln (acos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.neg; + testcases = testdata.NoSignal.infsup.acos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12791,33 +12967,40 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (uminus (in1), out)); + assert (isequaln (acos (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/asinh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/asinh.m +[inst/@infsupdec/cot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cot.m ***** # from the documentation string -***** assert (isequal (asinh (infsupdec (1)), infsupdec ("[0x1.C34366179D426p-1, 0x1.C34366179D427p-1]"))); +***** assert (isequal (cot (infsupdec (1)), infsupdec ("[0x1.48C05D04E1CFDp-1, 0x1.48C05D04E1CFEp-1]"))); +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.asinh; + testcases = testdata.NoSignal.infsupdec.min; for testcase = [testcases]' assert (isequaln (... - asinh (testcase.in{1}), ... + min (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.asinh; + testcases = testdata.NoSignal.infsupdec.min; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (asinh (in1), out)); + assert (isequaln (min (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asinh; + 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; @@ -12826,34 +13009,49 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (asinh (in1), out)); + assert (isequaln (min (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cosh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cosh.m +[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 (cosh (infsupdec (1)), infsupdec ("[0x1.8B07551D9F55, 0x1.8B07551D9F551]"))); +***** 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/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/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.cosh; + testcases = testdata.NoSignal.infsupdec.div; for testcase = [testcases]' assert (isequaln (... - cosh (testcase.in{1}), ... + rdivide (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cosh; + testcases = testdata.NoSignal.infsupdec.div; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cosh (in1), out)); + assert (isequaln (rdivide (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosh; + 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; @@ -12862,33 +13060,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 (cosh (in1), 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 + assert (isequaln (rdivide (in1, in2), out)); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.recip; + for testcase = [testcases]' + assert (isequaln (... + rdivide (1, testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.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/@infsupdec/powrev2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/powrev2.m ***** # from the documentation string -***** assert (isequal (coshrev (infsupdec (-2, 1)), infsupdec (0, "trv"))); +***** 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/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.infsupdec.coshRev; + testcases = testdata.NoSignal.infsupdec.asin; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}), ... + asin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.coshRev; + testcases = testdata.NoSignal.infsupdec.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (coshrev (in1), out)); + assert (isequaln (asin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.coshRev; + testcases = testdata.NoSignal.infsup.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12899,25 +13131,32 @@ 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 (asin (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))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.coshRevBin; + testcases = testdata.NoSignal.infsupdec.less; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}, testcase.in{2}), ... + le (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.coshRevBin; + testcases = testdata.NoSignal.infsupdec.less; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (coshrev (in1, in2), out)); + assert (isequaln (le (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.coshRevBin; + testcases = testdata.NoSignal.infsupdec.less; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -12930,61 +13169,33 @@ 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/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/eq.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/eq.m -***** # Empty interval -***** assert (eq (infsupdec (), infsupdec ()) == true); -***** assert (eq (infsupdec (), infsupdec (1)) == false); -***** assert (eq (infsupdec (0), infsupdec ()) == false); -***** assert (eq (infsupdec (-inf, inf), infsupdec ()) == false); -***** # Singleton intervals -***** assert (eq (infsupdec (0), infsupdec (1)) == false); -***** assert (eq (infsupdec (0), infsupdec (0)) == true); -***** # Bounded intervals -***** assert (eq (infsupdec (1, 2), infsupdec (3, 4)) == false); -***** assert (eq (infsupdec (1, 2), infsupdec (2, 3)) == false); -***** assert (eq (infsupdec (1, 2), infsupdec (1.5, 2.5)) == false); -***** assert (eq (infsupdec (1, 2), infsupdec (1, 2)) == true); -***** # Unbounded intervals -***** assert (eq (infsupdec (0, inf), infsupdec (-inf, 0)) == false); -***** assert (eq (infsupdec (0, inf), infsupdec (0, inf)) == true); -***** assert (eq (infsupdec (-inf, 0), infsupdec (-inf, 0)) == true); -***** assert (eq (infsupdec (-inf, inf), infsupdec (42)) == false); -***** assert (eq (infsupdec (-inf, 0), infsupdec (-inf, inf)) == false); -***** assert (eq (infsupdec (-inf, inf), infsupdec (-inf, inf)) == true); + assert (isequaln (le (in1, in2), out)); +4 tests, 4 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.equal; + testcases = testdata.NoSignal.infsupdec.disjoint; for testcase = [testcases]' assert (isequaln (... - eq (testcase.in{1}, testcase.in{2}), ... + disjoint (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.equal; + testcases = testdata.NoSignal.infsupdec.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (eq (in1, in2), out)); + assert (isequaln (disjoint (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.equal; + testcases = testdata.NoSignal.infsupdec.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -12997,32 +13208,32 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (eq (in1, in2), out)); -19 tests, 19 passed, 0 known failure, 0 skipped -[inst/@infsupdec/acosh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acosh.m + assert (isequaln (disjoint (in1, in2), out)); +5 tests, 5 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 (acosh (infsupdec (2)), infsupdec ("[0x1.5124271980434, 0x1.5124271980435]"))); +***** 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.acosh; + testcases = testdata.NoSignal.infsupdec.cosRev; for testcase = [testcases]' assert (isequaln (... - acosh (testcase.in{1}), ... + cosrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.acosh; + testcases = testdata.NoSignal.infsupdec.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (acosh (in1), out)); + assert (isequaln (cosrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acosh; + testcases = testdata.NoSignal.infsupdec.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13033,42 +13244,28 @@ 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/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/overlap.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/overlap.m -***** assert (overlap (infsupdec (1, 2), infsupdec (3, 4)), "before"); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (cosrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.overlap; + testcases = testdata.NoSignal.infsupdec.cosRevBin; for testcase = [testcases]' assert (isequaln (... - overlap (testcase.in{1}, testcase.in{2}), ... + cosrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.overlap; + testcases = testdata.NoSignal.infsupdec.cosRevBin; 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 (cosrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.overlap; + testcases = testdata.NoSignal.infsupdec.cosRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - out = {testcases.out}'; + out = vertcat (testcases.out); # Reshape data i = -1; do @@ -13078,32 +13275,69 @@ 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/atanh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atanh.m + assert (isequaln (cosrev (in1, in2), out)); +7 tests, 7 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.isNaI; + for testcase = [testcases]' + assert (isequaln (... + isnai (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.isNaI; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (isnai (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.isNaI; + 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 (isnai (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsupdec/acosh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acosh.m ***** # from the documentation string -***** assert (isequal (atanh (infsupdec (.5)), infsupdec ("[0x1.193EA7AAD030Ap-1, 0x1.193EA7AAD030Bp-1]"))); +***** 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.atanh; + testcases = testdata.NoSignal.infsupdec.acosh; for testcase = [testcases]' assert (isequaln (... - atanh (testcase.in{1}), ... + acosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.atanh; + testcases = testdata.NoSignal.infsupdec.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (atanh (in1), out)); + assert (isequaln (acosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsup.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13114,34 +13348,42 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atanh (in1), out)); + assert (isequaln (acosh (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/rdivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rdivide.m +[inst/@infsupdec/nextout.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/nextout.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)); +***** 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)))); ***** 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.precedes; for testcase = [testcases]' assert (isequaln (... - rdivide (testcase.in{1}, testcase.in{2}), ... + precedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.div; + testcases = testdata.NoSignal.infsupdec.precedes; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (rdivide (in1, in2), out)); + assert (isequaln (precedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.div; + testcases = testdata.NoSignal.infsupdec.precedes; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -13154,24 +13396,45 @@ 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 (precedes (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/mldivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mldivide.m +***** # unique solution +***** assert (isequal (infsupdec ([1, 0; 0, 2]) \ [2, 0; 0, 4], infsupdec ([2, 0; 0 2], "trv"))); +***** # no solution +***** assert (all (isempty (infsupdec ([1, 0; 2, 0]) \ [3; 0]))); +***** # many solutions +***** assert (isequal (infsupdec ([1, 0; 2, 0]) \ [4; 8], infsupdec ([4; -inf], [4; inf], "trv"))); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsupdec/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/atan.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan.m +***** # from the documentation string +***** 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.recip; + testcases = testdata.NoSignal.infsupdec.atan; for testcase = [testcases]' assert (isequaln (... - rdivide (1, testcase.in{1}), ... + atan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.recip; + testcases = testdata.NoSignal.infsupdec.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (rdivide (1, in1), out)); + assert (isequaln (atan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.recip; + testcases = testdata.NoSignal.infsup.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13182,59 +13445,32 @@ 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/@infsupdec/hypot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/hypot.m + assert (isequaln (atan (in1), out)); +4 tests, 4 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 (hypot (infsupdec (2, 3), infsupdec (1, 2)), infsupdec ("[0x1.1E3779B97F4A7p1, 0x1.CD82B446159F4p1]"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/roundb.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/roundb.m -***** # Empty interval -***** assert (isequal (roundb (infsupdec ()), infsupdec ())); -***** # Singleton intervals -***** assert (isequal (roundb (infsupdec (0)), infsupdec (0))); -***** assert (isequal (roundb (infsupdec (0.5)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (0.25)), infsupdec (0))); -***** assert (isequal (roundb (infsupdec (0.75)), infsupdec (1))); -***** assert (isequal (roundb (infsupdec (1.5)), infsupdec (2, "dac"))); -***** assert (isequal (roundb (infsupdec (-0.5)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (-1.5)), infsupdec (-2, "dac"))); -***** # Bounded intervals -***** assert (isequal (roundb (infsupdec (-0.5, 0)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (0, 0.5)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (0.25, 0.5)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (-1, 0)), infsupdec (-1, 0, "def"))); -***** assert (isequal (roundb (infsupdec (-1, 1)), infsupdec (-1, 1, "def"))); -***** assert (isequal (roundb (infsupdec (-realmin, realmin)), infsupdec (0))); -***** assert (isequal (roundb (infsupdec (-realmax, realmax)), infsupdec (-realmax, realmax, "def"))); -***** # Unbounded intervals -***** assert (isequal (roundb (infsupdec (-realmin, inf)), infsupdec (0, inf, "def"))); -***** assert (isequal (roundb (infsupdec (-realmax, inf)), infsupdec (-realmax, inf, "def"))); -***** assert (isequal (roundb (infsupdec (-inf, realmin)), infsupdec (-inf, 0, "def"))); -***** assert (isequal (roundb (infsupdec (-inf, realmax)), infsupdec (-inf, realmax, "def"))); -***** assert (isequal (roundb (infsupdec (-inf, inf)), infsupdec (-inf, inf, "def"))); +***** assert (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.roundTiesToEven; + testcases = testdata.NoSignal.infsupdec.sinh; for testcase = [testcases]' assert (isequaln (... - roundb (testcase.in{1}), ... + sinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.roundTiesToEven; + testcases = testdata.NoSignal.infsupdec.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (roundb (in1), out)); + assert (isequaln (sinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsupdec.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13245,51 +13481,38 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (roundb (in1), out)); -23 tests, 23 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sech.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sech.m + assert (isequaln (sinh (in1), out)); +4 tests, 4 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 (sech (infsupdec (1)), infsupdec ("[0x1.4BCDC50ED6BE7p-1, 0x1.4BCDC50ED6BE8p-1]_com"))); +***** 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/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/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/pow2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow2.m +[inst/@infsupdec/ceil.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/ceil.m ***** # from the documentation string -***** assert (isequal (pow2 (infsupdec (5)), infsupdec (32))); +***** 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.exp2; + testcases = testdata.NoSignal.infsupdec.ceil; for testcase = [testcases]' assert (isequaln (... - pow2 (testcase.in{1}), ... + ceil (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.exp2; + testcases = testdata.NoSignal.infsupdec.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pow2 (in1), out)); + assert (isequaln (ceil (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.exp2; + testcases = testdata.NoSignal.infsup.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13297,36 +13520,38 @@ do i = i + 1; testsize = factor (numel (in1) + i); - until (numel (testsize) > 2 | i == numel (in1)) + until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pow2 (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/realsqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/realsqrt.m + assert (isequaln (ceil (in1), out)); +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 (realsqrt (infsupdec (-6, 4)), infsupdec (0, 2, "trv"))); +***** assert (isequal (intersect (infsupdec (1, 3), infsupdec (2, 4)), infsupdec (2, 3, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sqrt; + testcases = testdata.NoSignal.infsupdec.intersection; for testcase = [testcases]' assert (isequaln (... - realsqrt (testcase.in{1}), ... + intersect (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqrt; + testcases = testdata.NoSignal.infsupdec.intersection; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (realsqrt (in1), out)); + assert (isequaln (intersect (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrt; + 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; @@ -13335,70 +13560,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 (realsqrt (in1), out)); + assert (isequaln (intersect (in1, in2), 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/powrev2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/powrev2.m +[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 (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/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)))); +***** 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/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/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.roundTiesToAway; + testcases = testdata.NoSignal.infsupdec.decorationPart; for testcase = [testcases]' assert (isequaln (... - round (testcase.in{1}), ... - testcase.out)); + decorationpart (testcase.in{1}), ... + {testcase.out})); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.roundTiesToAway; + testcases = testdata.NoSignal.infsupdec.decorationPart; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (round (in1), out)); + out = {testcases.out}'; + assert (isequaln (decorationpart (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsupdec.decorationPart; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); + out = {testcases.out}'; # Reshape data i = -1; do @@ -13407,37 +13615,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/sum.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sum.m + assert (isequaln (decorationpart (in1), out)); +12 tests, 12 passed, 0 known failure, 0 skipped +[inst/@infsupdec/sign.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sign.m ***** # from the documentation string -***** assert (isequal (sum ([infsupdec(1), pow2(-1074), -1]), infsupdec (pow2 (-1074)))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/tanh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tanh.m -***** test "from the documentation string"; - assert (isequal (tanh (infsupdec (1)), infsupdec ("[0x1.85EFAB514F394p-1, 0x1.85EFAB514F395p-1]"))); +***** 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.tanh; + testcases = testdata.NoSignal.infsupdec.sign; for testcase = [testcases]' assert (isequaln (... - tanh (testcase.in{1}), ... + sign (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tanh; + testcases = testdata.NoSignal.infsupdec.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tanh (in1), out)); + assert (isequaln (sign (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanh; + testcases = testdata.NoSignal.infsup.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13448,35 +13654,36 @@ 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/disjoint.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/disjoint.m -***** assert (disjoint (infsupdec (3, 4), infsupdec (5, 6))); -***** assert (not (disjoint (infsupdec (3, 4), infsupdec (4, 5)))); + assert (isequaln (sign (in1), out)); +7 tests, 7 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.disjoint; + testcases = testdata.NoSignal.infsupdec.inf; for testcase = [testcases]' assert (isequaln (... - disjoint (testcase.in{1}, testcase.in{2}), ... + inf (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.disjoint; + testcases = testdata.NoSignal.infsupdec.inf; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (disjoint (in1, in2), out)); + assert (isequaln (inf (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.disjoint; + 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; @@ -13485,96 +13692,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 (disjoint (in1, in2), out)); -5 tests, 5 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/mod.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mod.m -***** assert (isequal (mod (infsupdec (), infsupdec ()), infsupdec ())); -***** assert (isequal (mod (infsupdec (0), infsupdec ()), infsupdec ())); -***** assert (isequal (mod (infsupdec (), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (0), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (1), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (0, 1), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (1, 2), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (0, inf), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (1, inf), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (realmax, inf), infsupdec (0)), infsupdec ())); -***** assert (isequal (mod (infsupdec (0), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0), infsupdec (0, 1)), infsupdec (0, "trv"))); -***** assert (isequal (mod (infsupdec (0), infsupdec (1, 2)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0), infsupdec (0, inf)), infsupdec (0, "trv"))); -***** assert (isequal (mod (infsupdec (0), infsupdec (1, inf)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0), infsupdec (realmax, inf)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (2), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (4), infsupdec (2)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (6), infsupdec (3)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (8), infsupdec (2)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (9), infsupdec (3)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 2)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 4)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 8)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 16)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (realmax), infsupdec (realmax / 32)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0.1), infsupdec (0.1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0.1 * 2), infsupdec (0.1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0.1 * 4), infsupdec (0.1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (pi), infsupdec (pi)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (pi), infsupdec (pi / 2)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (pi), infsupdec (pi / 4)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (pow2 (-1074)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (pow2 (-1073)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (pow2 (-1072)), infsupdec (pow2 (-1074))), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (2)), infsupdec (1))); -***** assert (isequal (mod (infsupdec (0.5), infsupdec (1)), infsupdec (0.5))); -***** assert (isequal (mod (infsupdec (pi), infsupdec (3.15)), infsupdec (pi))); -***** assert (isequal (mod (infsupdec (1), infsupdec (2, 3)), infsupdec (1))); -***** assert (isequal (mod (infsupdec (1), infsupdec (2, inf)), infsupdec (1, "dac"))); -***** assert (isequal (mod (infsupdec (0.5), infsupdec (1, 2)), infsupdec (0.5))); -***** assert (isequal (mod (infsupdec (0.5), infsupdec (1, inf)), infsupdec (0.5, "dac"))); -***** assert (isequal (mod (infsupdec (pi), infsupdec (3.15)), infsupdec (pi))); -***** assert (isequal (mod (infsupdec (pi), infsupdec (3.15, inf)), infsupdec (pi, "dac"))); -***** assert (isequal (mod (infsupdec (0, 1), infsupdec (0, 1)), infsupdec (0, 1, "trv"))); -***** assert (isequal (mod (infsupdec (0, 2), infsupdec (0, 1)), infsupdec (0, 1, "trv"))); -***** assert (isequal (mod (infsupdec (0, 1), infsupdec (0, 2)), infsupdec (0, 1, "trv"))); -***** assert (isequal (mod (infsupdec (0, realmax), infsupdec (0, realmax)), infsupdec (0, realmax, "trv"))); -***** assert (isequal (mod (infsupdec (realmax, inf), infsupdec (realmax, inf)), infsupdec (0, inf, "def"))); -***** assert (isequal (mod (infsupdec (0, inf), infsupdec (0, inf)), infsupdec (0, inf, "trv"))); -***** assert (isequal (mod (infsupdec (0), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (0, 1), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (1, 2), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (0, inf), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (1, inf), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (realmax, inf), infsupdec (1)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (1)), infsupdec (0, "dac"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (0, 1)), infsupdec (0, 0.5, "trv"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (1, 2)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (0, inf)), infsupdec (0, 1, "trv"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (1, inf)), infsupdec (0, 1, "def"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (2, inf)), infsupdec (1, "dac"))); -***** assert (isequal (mod (infsupdec (1), infsupdec (realmax, inf)), infsupdec (1, "dac"))); -66 tests, 66 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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 + assert (isequaln (inf (in1), out)); +7 tests, 7 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)))); @@ -13585,70 +13705,51 @@ ***** # 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/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/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/absrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/absrev.m +[inst/@infsupdec/eq.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/eq.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 ())); +***** 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 (isequal (absrev (infsupdec (1)), infsupdec (-1, 1, "trv"))); -***** assert (isequal (absrev (infsupdec (0)), infsupdec (0, "trv"))); -***** assert (isequal (absrev (infsupdec (-1)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (realmax)), infsupdec (-realmax, realmax, "trv"))); -***** assert (isequal (absrev (infsupdec (realmin)), infsupdec (-realmin, realmin, "trv"))); -***** assert (isequal (absrev (infsupdec (-realmin)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (-realmax)), infsupdec ())); -***** # Bound intervals -***** assert (isequal (absrev (infsupdec (1, 2)), infsupdec (-2, 2, "trv"))); -***** assert (isequal (absrev (infsupdec (1, 2), infsupdec (0, 2)), infsupdec (1, 2, "trv"))); -***** assert (isequal (absrev (infsupdec (0, 1), infsupdec (-0.5, 2)), infsupdec (-0.5, 1, "trv"))); -***** assert (isequal (absrev (infsupdec (-1, 1)), infsupdec (-1, 1, "trv"))); -***** assert (isequal (absrev (infsupdec (-1, 0)), infsupdec (0, "trv"))); -***** # Unbound intervals -***** assert (isequal (absrev (infsupdec (0, inf)), infsupdec (-inf, inf, "trv"))); -***** assert (isequal (absrev (infsupdec (-inf, inf)), infsupdec (-inf, inf, "trv"))); -***** assert (isequal (absrev (infsupdec (-inf, 0)), infsupdec (0, "trv"))); -***** assert (isequal (absrev (infsupdec (1, inf), infsupdec (-inf, 0)), infsupdec (-inf, -1, "trv"))); -***** assert (isequal (absrev (infsupdec (-1, inf)), infsupdec (-inf, inf, "trv"))); -***** assert (isequal (absrev (infsupdec (-inf, -1)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (-inf, 1)), infsupdec (-1, 1, "trv"))); -***** # from the documentation string -***** assert (isequal (absrev (infsupdec (-2, 1)), infsupdec (-1, 1, "trv"))); +***** 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 with one argument - testcases = testdata.NoSignal.infsupdec.absRev; + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.equal; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}), ... + eq (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.equal; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1), out)); + assert (isequaln (eq (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.absRev; + 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; @@ -13657,26 +13758,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 (eq (in1, in2), out)); +19 tests, 19 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))); +***** 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.add; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}, testcase.in{2}), ... + plus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation with two arguments - testcases = testdata.NoSignal.infsupdec.absRevBin; + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.add; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1, in2), out)); + assert (isequaln (plus (in1, in2), out)); ***** test - # N-dimensional array evaluation with two arguments - testcases = testdata.NoSignal.infsupdec.absRevBin; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.add; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -13689,8 +13799,128 @@ 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 + assert (isequaln (plus (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/gamma.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gamma.m +***** # from the documentation string +***** assert (isequal (gamma (infsupdec (1.5)), infsupdec ("[0x1.C5BF891B4EF6Ap-1, 0x1.C5BF891B4EF6Bp-1]_com"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/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/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/__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/nai.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/nai.m ***** assert (isnai (nai ())); @@ -13699,381 +13929,7 @@ ***** assert (decorationpart (nai ()), {"ill"}); ***** assert (isnai (nai (2, 2, 2)), true (2, 2, 2)) 5 tests, 5 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/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/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/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/__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/verlinineqnn.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verlinineqnn.m -***** test - A = [-2, -3; -2, -1]; - b = [-1500; -1000]; - [x, y] = verlinineqnn (A, b); - assert (x, [375; 250], 1e-9); - assert (all (x >= [375; 250])); - assert (isnan (y)); -***** test - A = [1, 2; 3, 4]; - b = [-1; 0]; - [x, y] = verlinineqnn (A, b); - assert (y, [1; 0], 1e-9); - assert (all (y >= [1; 0])); - assert (isnan (x)); -***** test - A = [1, 2; 3, 4]; - b = [1; 1]; - [x, y] = verlinineqnn (A, b); - assert (x, [0; 0]); - assert (isnan (y)); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/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/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/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 Checking C++ files ... -[src/mpfr_linspace_d.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_linspace_d.cc -***** assert (mpfr_linspace_d (-inf, 1, 10, 10), 1 : 10); -***** assert (mpfr_linspace_d (inf, 1, 10, 8) - mpfr_linspace_d (-inf, 1, 10, 8), [0 2 2 4 4 4 8 0] .* eps); -2 tests, 2 passed, 0 known failure, 0 skipped -[src/__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]"); -***** assert (intervaltotext (infsup (1 + eps), "exact hexadecimal"), "[0x1.0000000000001p+0]"); -***** assert (intervaltotext (infsup (pi), "[.3g]"), "[3.14, 3.15]"); -***** assert (intervaltotext (infsup (pi), "[.4g]"), "[3.141, 3.142]"); -***** assert (intervaltotext (infsup (1 + eps)), "[1, 1.00001]"); -***** assert (intervaltotext (infsup (1)), "[1]"); -***** assert (reshape (intervaltotext (infsup (reshape (1:120, 2, 3, 4, 5))), 1, 120), intervaltotext (infsup (1:120))); -***** assert (intervaltotext (infsupdec (1 + eps), "exact decimal"), "[1.0000000000000002220446049250313080847263336181640625]_com"); -***** assert (intervaltotext (infsupdec (1 + eps), "exact hexadecimal"), "[0x1.0000000000001p+0]_com"); -***** assert (intervaltotext (infsupdec (1 + eps)), "[1, 1.00001]_com"); -***** assert (intervaltotext (infsupdec (1)), "[1]_com"); -***** assert (reshape (intervaltotext (infsupdec (reshape (1:120, 2, 3, 4, 5))), 1, 120), intervaltotext (infsupdec (1:120))); -***** assert (intervaltotext (infsup (2, 3), "[g]"), "[2, 3]"); -***** assert (intervaltotext (infsup (2, 3), "9:[g]"), "[ 2, 3]"); -***** assert (intervaltotext (infsup (), "[g]"), "[Empty]"); -***** assert (intervaltotext (infsup (), "9:[g]"), "[ Empty ]"); -***** assert (intervaltotext (infsup (2, 3), "g"), "2 3"); -***** assert (intervaltotext (infsupdec (2, 3), "g"), "2 3 _com"); -***** assert (intervaltotext (infsup (), "[Cg]"), "[EMPTY]"); -***** assert (intervaltotext (infsup (), "[cg]"), "[empty]"); -***** assert (intervaltotext (infsup (-inf, inf), "[g]"), "[Entire]"); -***** assert (intervaltotext (infsup (-inf, inf), "[>>>> /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_function_d.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_function_d.cc -***** assert (mpfr_function_d ('plus', 0, 2, 2), 4); -***** assert (mpfr_function_d ('plus', -inf, 1, eps / 2), 1); -***** assert (mpfr_function_d ('plus', +inf, 1, eps / 2), 1 + eps); -***** error mpfr_function_d ('Krauskefarben', 0, 47, 11); -***** # Cross-check unit tests from crlibm against the MPFR library. -***** # We simulate binary64 floating-point arithmetic in MPFR -***** # with mpfr_function_d and results shall be identical. -***** # -***** shared testdata - testdata = load (fullfile (... - fileparts (file_in_loadpath ("__check_crlibm__.m")), ... - "test", ... - "crlibm.mat")); -***** function verify (fname, rnd, data) - assert (mpfr_function_d (fname, rnd, data.input), data.output); -***** endfunction -***** test verify ("acos", -inf, testdata.acos_rd); -***** test verify ("acos", +inf, testdata.acos_ru); -***** test verify ("acos", 0.5, testdata.acos_rn); -***** test verify ("acos", 0, testdata.acos_rz); -***** test verify ("asin", -inf, testdata.asin_rd); -***** test verify ("asin", +inf, testdata.asin_ru); -***** test verify ("asin", 0.5, testdata.asin_rn); -***** test verify ("asin", 0, testdata.asin_rz); -***** test verify ("atan", -inf, testdata.atan_rd); -***** test verify ("atan", +inf, testdata.atan_ru); -***** test verify ("atan", 0.5, testdata.atan_rn); -***** test verify ("atan", 0, testdata.atan_rz); -***** test verify ("cos", -inf, testdata.cos_rd); -***** test verify ("cos", +inf, testdata.cos_ru); -***** test verify ("cos", 0.5, testdata.cos_rn); -***** test verify ("cos", 0, testdata.cos_rz); -***** test verify ("cosh", -inf, testdata.cosh_rd); -***** test verify ("cosh", +inf, testdata.cosh_ru); -***** test verify ("cosh", 0.5, testdata.cosh_rn); -***** test verify ("cosh", 0, testdata.cosh_rz); -***** test verify ("exp", -inf, testdata.exp_rd); -***** test verify ("exp", +inf, testdata.exp_ru); -***** test verify ("exp", 0.5, testdata.exp_rn); -***** test verify ("exp", 0, testdata.exp_rz); -***** test verify ("expm1", -inf, testdata.expm1_rd); -***** test verify ("expm1", +inf, testdata.expm1_ru); -***** test verify ("expm1", 0.5, testdata.expm1_rn); -***** test verify ("expm1", 0, testdata.expm1_rz); -***** test verify ("log", -inf, testdata.log_rd); -***** test verify ("log", +inf, testdata.log_ru); -***** test verify ("log", 0.5, testdata.log_rn); -***** test verify ("log", 0, testdata.log_rz); -***** test verify ("log10", -inf, testdata.log10_rd); -***** test verify ("log10", +inf, testdata.log10_ru); -***** test verify ("log10", 0.5, testdata.log10_rn); -***** test verify ("log10", 0, testdata.log10_rz); -***** test verify ("log1p", -inf, testdata.log1p_rd); -***** test verify ("log1p", +inf, testdata.log1p_ru); -***** test verify ("log1p", 0.5, testdata.log1p_rn); -***** test verify ("log1p", 0, testdata.log1p_rz); -***** test verify ("log2", -inf, testdata.log2_rd); -***** test verify ("log2", +inf, testdata.log2_ru); -***** test verify ("log2", 0.5, testdata.log2_rn); -***** test verify ("log2", 0, testdata.log2_rz); -***** test verify ("sin", -inf, testdata.sin_rd); -***** test verify ("sin", +inf, testdata.sin_ru); -***** test verify ("sin", 0.5, testdata.sin_rn); -***** test verify ("sin", 0, testdata.sin_rz); -***** test verify ("sinh", -inf, testdata.sinh_rd); -***** test verify ("sinh", +inf, testdata.sinh_ru); -***** test verify ("sinh", 0.5, testdata.sinh_rn); -***** test verify ("sinh", 0, testdata.sinh_rz); -***** test verify ("tan", -inf, testdata.tan_rd); -***** test verify ("tan", +inf, testdata.tan_ru); -***** test verify ("tan", 0.5, testdata.tan_rn); -***** test verify ("tan", 0, testdata.tan_rz); -60 tests, 60 passed, 0 known failure, 0 skipped [src/mpfr_vector_dot_d.cc] >>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_vector_dot_d.cc ***** test; @@ -14201,6 +14057,138 @@ 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_function_d.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_function_d.cc +***** assert (mpfr_function_d ('plus', 0, 2, 2), 4); +***** assert (mpfr_function_d ('plus', -inf, 1, eps / 2), 1); +***** assert (mpfr_function_d ('plus', +inf, 1, eps / 2), 1 + eps); +***** error mpfr_function_d ('Krauskefarben', 0, 47, 11); +***** # Cross-check unit tests from crlibm against the MPFR library. +***** # We simulate binary64 floating-point arithmetic in MPFR +***** # with mpfr_function_d and results shall be identical. +***** # +***** shared testdata + testdata = load (fullfile (... + fileparts (file_in_loadpath ("__check_crlibm__.m")), ... + "test", ... + "crlibm.mat")); +***** function verify (fname, rnd, data) + assert (mpfr_function_d (fname, rnd, data.input), data.output); +***** endfunction +***** test verify ("acos", -inf, testdata.acos_rd); +***** test verify ("acos", +inf, testdata.acos_ru); +***** test verify ("acos", 0.5, testdata.acos_rn); +***** test verify ("acos", 0, testdata.acos_rz); +***** test verify ("asin", -inf, testdata.asin_rd); +***** test verify ("asin", +inf, testdata.asin_ru); +***** test verify ("asin", 0.5, testdata.asin_rn); +***** test verify ("asin", 0, testdata.asin_rz); +***** test verify ("atan", -inf, testdata.atan_rd); +***** test verify ("atan", +inf, testdata.atan_ru); +***** test verify ("atan", 0.5, testdata.atan_rn); +***** test verify ("atan", 0, testdata.atan_rz); +***** test verify ("cos", -inf, testdata.cos_rd); +***** test verify ("cos", +inf, testdata.cos_ru); +***** test verify ("cos", 0.5, testdata.cos_rn); +***** test verify ("cos", 0, testdata.cos_rz); +***** test verify ("cosh", -inf, testdata.cosh_rd); +***** test verify ("cosh", +inf, testdata.cosh_ru); +***** test verify ("cosh", 0.5, testdata.cosh_rn); +***** test verify ("cosh", 0, testdata.cosh_rz); +***** test verify ("exp", -inf, testdata.exp_rd); +***** test verify ("exp", +inf, testdata.exp_ru); +***** test verify ("exp", 0.5, testdata.exp_rn); +***** test verify ("exp", 0, testdata.exp_rz); +***** test verify ("expm1", -inf, testdata.expm1_rd); +***** test verify ("expm1", +inf, testdata.expm1_ru); +***** test verify ("expm1", 0.5, testdata.expm1_rn); +***** test verify ("expm1", 0, testdata.expm1_rz); +***** test verify ("log", -inf, testdata.log_rd); +***** test verify ("log", +inf, testdata.log_ru); +***** test verify ("log", 0.5, testdata.log_rn); +***** test verify ("log", 0, testdata.log_rz); +***** test verify ("log10", -inf, testdata.log10_rd); +***** test verify ("log10", +inf, testdata.log10_ru); +***** test verify ("log10", 0.5, testdata.log10_rn); +***** test verify ("log10", 0, testdata.log10_rz); +***** test verify ("log1p", -inf, testdata.log1p_rd); +***** test verify ("log1p", +inf, testdata.log1p_ru); +***** test verify ("log1p", 0.5, testdata.log1p_rn); +***** test verify ("log1p", 0, testdata.log1p_rz); +***** test verify ("log2", -inf, testdata.log2_rd); +***** test verify ("log2", +inf, testdata.log2_ru); +***** test verify ("log2", 0.5, testdata.log2_rn); +***** test verify ("log2", 0, testdata.log2_rz); +***** test verify ("sin", -inf, testdata.sin_rd); +***** test verify ("sin", +inf, testdata.sin_ru); +***** test verify ("sin", 0.5, testdata.sin_rn); +***** test verify ("sin", 0, testdata.sin_rz); +***** test verify ("sinh", -inf, testdata.sinh_rd); +***** test verify ("sinh", +inf, testdata.sinh_ru); +***** test verify ("sinh", 0.5, testdata.sinh_rn); +***** test verify ("sinh", 0, testdata.sinh_rz); +***** test verify ("tan", -inf, testdata.tan_rd); +***** test verify ("tan", +inf, testdata.tan_ru); +***** test verify ("tan", 0.5, testdata.tan_rn); +***** test verify ("tan", 0, testdata.tan_rz); +60 tests, 60 passed, 0 known failure, 0 skipped +[src/intervaltotext.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/intervaltotext.cc +***** assert (intervaltotext (infsup (1 + eps), "exact decimal"), "[1.0000000000000002220446049250313080847263336181640625]"); +***** assert (intervaltotext (infsup (1 + eps), "exact hexadecimal"), "[0x1.0000000000001p+0]"); +***** assert (intervaltotext (infsup (pi), "[.3g]"), "[3.14, 3.15]"); +***** assert (intervaltotext (infsup (pi), "[.4g]"), "[3.141, 3.142]"); +***** assert (intervaltotext (infsup (1 + eps)), "[1, 1.00001]"); +***** assert (intervaltotext (infsup (1)), "[1]"); +***** assert (reshape (intervaltotext (infsup (reshape (1:120, 2, 3, 4, 5))), 1, 120), intervaltotext (infsup (1:120))); +***** assert (intervaltotext (infsupdec (1 + eps), "exact decimal"), "[1.0000000000000002220446049250313080847263336181640625]_com"); +***** assert (intervaltotext (infsupdec (1 + eps), "exact hexadecimal"), "[0x1.0000000000001p+0]_com"); +***** assert (intervaltotext (infsupdec (1 + eps)), "[1, 1.00001]_com"); +***** assert (intervaltotext (infsupdec (1)), "[1]_com"); +***** assert (reshape (intervaltotext (infsupdec (reshape (1:120, 2, 3, 4, 5))), 1, 120), intervaltotext (infsupdec (1:120))); +***** assert (intervaltotext (infsup (2, 3), "[g]"), "[2, 3]"); +***** assert (intervaltotext (infsup (2, 3), "9:[g]"), "[ 2, 3]"); +***** assert (intervaltotext (infsup (), "[g]"), "[Empty]"); +***** assert (intervaltotext (infsup (), "9:[g]"), "[ Empty ]"); +***** assert (intervaltotext (infsup (2, 3), "g"), "2 3"); +***** assert (intervaltotext (infsupdec (2, 3), "g"), "2 3 _com"); +***** assert (intervaltotext (infsup (), "[Cg]"), "[EMPTY]"); +***** assert (intervaltotext (infsup (), "[cg]"), "[empty]"); +***** assert (intervaltotext (infsup (-inf, inf), "[g]"), "[Entire]"); +***** assert (intervaltotext (infsup (-inf, inf), "[>>>> /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 @@ -14210,6 +14198,35 @@ 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/mpfr_matrix_sqr_d.cc] >>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_matrix_sqr_d.cc ***** test @@ -14218,6 +14235,25 @@ assert (l, [91, 67, 67; 67, 91, 67; 67, 67, 91]); assert (u, [124, 100, 100; 100, 124, 100; 100, 100, 124]); 1 test, 1 passed, 0 known failure, 0 skipped +[src/__setround__.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/__setround__.cc +***** xtest + __setround__ (+inf); + assert (1 + realmin > 1, true); + assert (1 - realmin == 1, true); + __setround__ (0.5); +***** xtest + __setround__ (-inf); + assert (1 + realmin == 1, true); + assert (1 - realmin < 1, true); + __setround__ (0.5); +***** test + __setround__ (0.5); + assert (1 + realmin == 1, true); + assert (1 - realmin == 1, true); +***** shared + __setround__ (0.5); +3 tests, 3 passed, 0 known failure, 0 skipped [src/mpfr_to_string_d.cc] >>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_to_string_d.cc ***** test; @@ -14275,12 +14311,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/549488/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/549488/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/2275046 and its subdirectories -I: Current time: Tue May 14 19:09:17 -12 2024 -I: pbuilder-time-stamp: 1715756957 +I: removing directory /srv/workspace/pbuilder/549488 and its subdirectories +I: Current time: Wed Jun 18 02:31:44 +14 2025 +I: pbuilder-time-stamp: 1750163504