Diff of the two buildlogs: -- --- b1/build.log 2024-04-20 15:22:31.555876591 +0000 +++ b2/build.log 2024-04-20 16:11:05.539750049 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri May 23 09:18:06 -12 2025 -I: pbuilder-time-stamp: 1748035086 +I: Current time: Sun Apr 21 05:22:35 +14 2024 +I: pbuilder-time-stamp: 1713626555 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -35,54 +35,86 @@ 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/99956/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/13907/tmp/hooks/D01_modify_environment starting +debug: Running on ionos12-i386. +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 Apr 20 15:22 /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/13907/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/13907/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='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=22 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='i386' + 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]="i686-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=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=10 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='1eee3a885b224eceb1ea9fea11f98adb' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - 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='99956' - PS1='# ' - PS2='> ' + INVOCATION_ID=0e10c20244224a7c918d0db9c06016da + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-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=13907 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.GBPx5OGw/pbuilderrc_xs4U --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.GBPx5OGw/b1 --logfile b1/build.log octave-interval_3.2.1-6.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://85.184.249.68: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.GBPx5OGw/pbuilderrc_bUTl --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.GBPx5OGw/b2 --logfile b2/build.log octave-interval_3.2.1-6.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://78.137.99.97:3128 I: uname -a - Linux ionos16-i386 6.1.0-20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 21 17:46 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/99956/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Apr 19 11:24 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/13907/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -667,7 +699,7 @@ Get: 533 http://deb.debian.org/debian trixie/main i386 libgmpxx4ldbl i386 2:6.3.0+dfsg-2+b1 [330 kB] Get: 534 http://deb.debian.org/debian trixie/main i386 libgmp-dev i386 2:6.3.0+dfsg-2+b1 [659 kB] Get: 535 http://deb.debian.org/debian trixie/main i386 libmpfr-dev i386 4.2.1-1+b1 [272 kB] -Fetched 234 MB in 4s (61.1 MB/s) +Fetched 234 MB in 6s (38.5 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libfftw3-double3:i386. (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 ... 19874 files and directories currently installed.) @@ -2884,7 +2916,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/13907/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/13907/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 @@ -2905,7 +2941,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 @@ -2989,27 +3025,27 @@ checking for error_at_line... yes checking for fesetround... yes make[2]: Entering directory '/build/reproducible-path/octave-interval-3.2.1/src' -(cd crlibm && ./configure --disable-dependency-tracking --disable-sse2) [MKOCTFILE] crlibm_function.cc +(cd crlibm && ./configure --disable-dependency-tracking --disable-sse2) +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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security crlibm_function.cc -o crlibm_function.o [MKOCTFILE] intervaltotext.cc [MKOCTFILE] mpfr_function_d.cc -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security 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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security intervaltotext.cc -o /tmp/oct-vrOvZ7.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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security mpfr_function_d.cc -o /tmp/oct-fJAqL7.o [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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security intervaltotext.cc -o /tmp/oct-12rDpM.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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security mpfr_function_d.cc -o /tmp/oct-1AuLTv.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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security mpfr_linspace_d.cc -o /tmp/oct-EGUtEo.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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security mpfr_linspace_d.cc -o /tmp/oct-dKGe6t.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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fopenmp mpfr_matrix_mul_d.cc -o /tmp/oct-AlFXld.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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fopenmp mpfr_matrix_sqr_d.cc -o /tmp/oct-U2MQm9.o [MKOCTFILE] mpfr_to_string_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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fopenmp mpfr_matrix_mul_d.cc -o /tmp/oct-smpHr8.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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security mpfr_to_string_d.cc -o /tmp/oct-58Amac.o [MKOCTFILE] mpfr_vector_sum_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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security mpfr_vector_sum_d.cc -o /tmp/oct-C3AD8F.o [MKOCTFILE] mpfr_vector_dot_d.cc -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fopenmp mpfr_matrix_sqr_d.cc -o /tmp/oct-kx2nrX.o [MKOCTFILE] __setround__.cc -g++ -c -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security mpfr_to_string_d.cc -o /tmp/oct-62dULL.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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security mpfr_vector_sum_d.cc -o /tmp/oct-EHswVu.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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security mpfr_vector_dot_d.cc -o /tmp/oct-NvWrhZ.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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wno-unknown-pragmas __setround__.cc -o /tmp/oct-veBcuB.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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security mpfr_vector_dot_d.cc -o /tmp/oct-eSEuHg.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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wno-unknown-pragmas __setround__.cc -o /tmp/oct-5XOZfC.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 @@ -3072,6 +3108,7 @@ gcc -DHAVE_CONFIG_H -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o print_scs.o print_scs.c gcc -DHAVE_CONFIG_H -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o division_scs.o division_scs.c gcc -DHAVE_CONFIG_H -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o addition_scs.o addition_scs.c +g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wno-unknown-pragmas -o __setround__.oct /tmp/oct-5XOZfC.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-linux-gnu -shared -Wl,-Bsymbolic -flto=auto -ffat-lto-objects -Wl,-z,relro gcc -DHAVE_CONFIG_H -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o multiplication_scs.o multiplication_scs.c gcc -DHAVE_CONFIG_H -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o scs2double.o scs2double.c gcc -DHAVE_CONFIG_H -I. -I.. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o zero_scs.o zero_scs.c @@ -3101,15 +3138,14 @@ gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o atan_fast.o atan_fast.c gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o atan_accurate.o atan_accurate.c gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -std=c99 -Wall -O3 -frounding-math -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wno-div-by-zero -Wno-unused-variable -Wno-unused-but-set-variable -c -o csh_fast.o csh_fast.c -g++ -I/usr/include/octave-8.4.0/octave/.. -I/usr/include/octave-8.4.0/octave -pthread -fopenmp -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wno-unknown-pragmas -o __setround__.oct /tmp/oct-veBcuB.o -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -o mpfr_vector_sum_d.oct /tmp/oct-EHswVu.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fopenmp -o mpfr_matrix_mul_d.oct /tmp/oct-smpHr8.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -o mpfr_function_d.oct /tmp/oct-1AuLTv.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fopenmp -o mpfr_matrix_sqr_d.oct /tmp/oct-kx2nrX.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -o mpfr_linspace_d.oct /tmp/oct-dKGe6t.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -o intervaltotext.oct /tmp/oct-12rDpM.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -o mpfr_vector_dot_d.oct /tmp/oct-NvWrhZ.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -o mpfr_to_string_d.oct /tmp/oct-62dULL.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fopenmp -o mpfr_matrix_sqr_d.oct /tmp/oct-U2MQm9.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -fopenmp -o mpfr_matrix_mul_d.oct /tmp/oct-AlFXld.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -o mpfr_linspace_d.oct /tmp/oct-EGUtEo.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -o mpfr_vector_sum_d.oct /tmp/oct-C3AD8F.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -o mpfr_function_d.oct /tmp/oct-fJAqL7.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -o intervaltotext.oct /tmp/oct-vrOvZ7.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -o mpfr_vector_dot_d.oct /tmp/oct-eSEuHg.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 -mieee-fp -g -O2 -ffile-prefix-map=/build/reproducible-path/octave-interval-3.2.1=. -fstack-protector-strong -Wformat -Werror=format-security -o mpfr_to_string_d.oct /tmp/oct-58Amac.o -lmpfr -shared -Wl,-Bsymbolic -Wl,-z,relro -L/usr/lib/i386-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 @@ -3122,8 +3158,8 @@ 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/i686-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/license': Is a directory +rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc/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 # The documentation build needs to load the package, # so we have to set paths for the build process. @@ -3323,68 +3359,36 @@ 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/i686-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/license': Is a directory +rm: cannot remove '/build/reproducible-path/octave-interval-3.2.1/debian/tmp/usr/share/octave/packages/interval-3.2.1/doc/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 dh_octave_check -O--buildsystem=octave Checking package... Run the unit tests... Checking m files ... -[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/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]"))); -***** assert (isentire (exacttointerval ("[Entire]"))); -***** test "common interval"; - y = exacttointerval ("[0, 1]"); - assert (inf (y), 0); - assert (sup (y), 1); -***** test "point interval"; - y = exacttointerval ("[42]"); - assert (inf (y), 42); - assert (sup (y), 42); -***** test "unbound interval"; - y = exacttointerval ("[-4, Infinity]"); - assert (inf (y), -4); - assert (sup (y), inf); -***** error exacttointerval ("[0, 0.1]"); -***** error exacttointerval ("[1, 0]"); -***** test "N-dimensional array"; - i = infsup (reshape (1:24, 2, 3, 4)); - assert (exacttointerval (intervaltoexact (i)) == i); -8 tests, 8 passed, 0 known failure, 0 skipped +[inst/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/hull.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/hull.m ***** assert (isnai (hull (nai))); @@ -3409,53 +3413,52 @@ 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/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/uminus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/uminus.m +[inst/nai.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/nai.m +***** assert (isnai (nai ())); +***** assert (isnai (nai (2)), true (2)); +***** assert (isnai (nai (3, 4)), true (3, 4)); +***** assert (decorationpart (nai ()), {"ill"}); +***** assert (isnai (nai (2, 2, 2)), true (2, 2, 2)) +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/atan2rev2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2rev2.m ***** # from the documentation string -***** assert (isequal (-infsupdec (2, 3), infsupdec (-3, -2))); +***** 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/floor.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/floor.m +***** # from the documentation string +***** assert (isequal (floor (infsupdec (2.5, 3.5)), infsupdec (2, 3, "def"))); +***** assert (isequal (floor (infsupdec (-0.5, 5)), infsupdec (-1, 5, "def"))); +***** warning + _ = @infsupdec; + assert (isequal (... + floor (_ ("jansen")), nai)) #ghtwish ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.neg; + testcases = testdata.NoSignal.infsupdec.floor; for testcase = [testcases]' assert (isequaln (... - uminus (testcase.in{1}), ... + floor (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.neg; + testcases = testdata.NoSignal.infsupdec.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (uminus (in1), out)); + assert (isequaln (floor (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.neg; + testcases = testdata.NoSignal.infsup.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3466,32 +3469,37 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (uminus (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/tan.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tan.m + assert (isequaln (floor (in1), out)); +6 tests, 6 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 (tan (infsupdec (1)), infsupdec ("[0x1.8EB245CBEE3A5, 0x1.8EB245CBEE3A6]"))); +***** 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/isempty.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/isempty.m +***** assert (isempty (infsupdec ())); +***** assert (not (isempty (infsupdec (1, 2)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.tan; + testcases = testdata.NoSignal.infsupdec.isEmpty; for testcase = [testcases]' assert (isequaln (... - tan (testcase.in{1}), ... + isempty (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tan; + testcases = testdata.NoSignal.infsupdec.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tan (in1), out)); + assert (isequaln (isempty (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsup.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3502,55 +3510,42 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tan (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/setdiff.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/setdiff.m -***** assert (isempty (setdiff (infsupdec (), infsupdec (1, 4)))); -***** assert (setdiff (infsupdec (1, 3), infsupdec ()) == infsupdec (1, 3)); -***** assert (isempty (setdiff (infsupdec (1, 3), infsupdec (-inf, inf)))); -***** assert (isempty (setdiff (infsupdec (1, 3), infsupdec (1, 4)))); -***** assert (setdiff (infsupdec (-inf, inf), infsupdec (1, 4)) == infsupdec (-inf, inf)); -***** # from the documentation string -***** assert (setdiff (infsupdec (1, 3), infsupdec (2, 4)) == infsupdec (1, 2)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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/asinh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/asinh.m + assert (isequaln (isempty (in1), 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/sin.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sin.m ***** # from the documentation string -***** assert (isequal (asinh (infsupdec (1)), infsupdec ("[0x1.C34366179D426p-1, 0x1.C34366179D427p-1]"))); +***** 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.asinh; + testcases = testdata.NoSignal.infsupdec.sin; for testcase = [testcases]' assert (isequaln (... - asinh (testcase.in{1}), ... + sin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.asinh; + testcases = testdata.NoSignal.infsupdec.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (asinh (in1), out)); + assert (isequaln (sin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asinh; + testcases = testdata.NoSignal.infsup.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3561,7 +3556,7 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (asinh (in1), out)); + assert (isequaln (sin (in1), 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 @@ -3571,118 +3566,36 @@ assert (a == infsupdec (2, 8, "trv")); assert (b == infsupdec (8, 32, "trv")); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/gamma.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gamma.m -***** # from the documentation string -***** assert (isequal (gamma (infsupdec (1.5)), infsupdec ("[0x1.C5BF891B4EF6Ap-1, 0x1.C5BF891B4EF6Bp-1]_com"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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))); +[inst/@infsupdec/csc.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/csc.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))); -***** 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; - for testcase = [testcases]' - assert (isequaln (... - abs (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.abs; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (abs (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.abs; - 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 (abs (in1), out)); -25 tests, 25 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"}); +***** assert (isequal (csc (infsupdec (1)), infsupdec ("[0x1.303AA9620B223, 0x1.303AA9620B224]_com"))); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/prod.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/prod.m -***** # from the documentation string -***** assert (prod (infsupdec (1 : 4)) == 24); -***** assert (prod (infsupdec ([])) == 1); -***** assert (isequal (prod (infsupdec (magic (3))), infsupdec ([96, 45, 84]))); -***** assert (isequal (prod (infsupdec (magic (3)), 2), infsupdec ([48; 105; 72]))); -***** assert (isequal (prod (infsupdec (magic (3)), 3), infsupdec (magic (3)))); -***** assert (isequal (prod (prod (reshape (infsup (1:24), 1, 2, 3, 4))), infsup (reshape ([720, 665280, 13366080, 96909120], 1, 1, 1, 4)))); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsupdec/cancelminus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cancelminus.m +[inst/@infsupdec/log.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log.m ***** # from the documentation string -***** assert (isequal (cancelminus (infsupdec (2, 3), infsupdec (1, 1.5)), infsupdec (1, 1.5, "trv"))); +***** 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.cancelMinus; + testcases = testdata.NoSignal.infsupdec.log; for testcase = [testcases]' assert (isequaln (... - cancelminus (testcase.in{1}, testcase.in{2}), ... + log (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cancelMinus; + testcases = testdata.NoSignal.infsupdec.log; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelminus (in1, in2), out)); + assert (isequaln (log (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.cancelMinus; + 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; @@ -3691,34 +3604,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 (cancelminus (in1, in2), out)); + assert (isequaln (log (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/asin.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/asin.m +[inst/@infsupdec/log10.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log10.m ***** # from the documentation string -***** assert (isequal (asin (infsupdec (.5)), infsupdec ("[0x1.0C152382D7365p-1, 0x1.0C152382D7366p-1]"))); +***** assert (isequal (log10 (infsupdec (2)), infsupdec ("[0x1.34413509F79FEp-2, 0x1.34413509F79FFp-2]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.asin; + testcases = testdata.NoSignal.infsupdec.log10; for testcase = [testcases]' assert (isequaln (... - asin (testcase.in{1}), ... + log10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.asin; + testcases = testdata.NoSignal.infsupdec.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (asin (in1), out)); + assert (isequaln (log10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsup.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -3729,207 +3641,38 @@ 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 (log10 (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/gauss.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gauss.m -***** # from the documentation string -***** assert (isequal (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/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.sqrRev; - for testcase = [testcases]' - assert (isequaln (... - sqrrev (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqrRev; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.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.infsupdec.sqrRevBin; - for testcase = [testcases]' - assert (isequaln (... - sqrrev (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqrRevBin; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1, in2), out)); -***** test - # N-dimensional array evaluation - 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; - 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 (sqrrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/factorial.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/factorial.m -***** # from the documentation string -***** assert (isequal (factorial (infsupdec (6)), infsupdec (720))); -***** assert (isequal (factorial (infsupdec (0)), infsupdec (1))); -***** assert (isequal (factorial (infsupdec ("[0, 1.99]")), infsupdec (1, "trv"))); -***** assert (isequal (factorial (infsupdec ("[0, 2]")), infsupdec (1, 2, "trv"))); -***** assert (isequal (factorial (infsupdec ("[1.4, 1.6]")), empty ())); -***** assert (isequal (factorial (infsupdec (23)), infsupdec ("[0x1.5e5c335f8a4cdp+74, 0x1.5e5c335f8a4cep+74]_com"))); -***** assert (isequal (factorial (infsupdec (171)), infsupdec ("[0x1.fffffffffffffp+1023, Inf]_dac"))); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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/coth.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/coth.m +[inst/@infsupdec/sec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sec.m ***** # from the documentation string -***** assert (isequal (coth (infsupdec (1)), infsupdec ("[0x1.50231499B6B1D, 0x1.50231499B6B1E]_com"))); +***** assert (isequal (sec (infsupdec (1)), infsupdec ("[0x1.D9CF0F125CC29, 0x1.D9CF0F125CC2A]_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/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/intersect.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/intersect.m +[inst/@infsupdec/cos.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cos.m ***** # from the documentation string -***** assert (isequal (intersect (infsupdec (1, 3), infsupdec (2, 4)), infsupdec (2, 3, "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.intersection; + testcases = testdata.NoSignal.infsupdec.cos; for testcase = [testcases]' assert (isequaln (... - intersect (testcase.in{1}, testcase.in{2}), ... + cos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.intersection; + testcases = testdata.NoSignal.infsupdec.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (intersect (in1, in2), out)); + assert (isequaln (cos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.intersection; + 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; @@ -3938,37 +3681,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 (intersect (in1, in2), out)); + assert (isequaln (cos (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/tan.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/tan.m ***** # from the documentation string -***** assert (isequal (min (infsupdec (2, 3), infsupdec (1, 2)), infsupdec (1, 2))); +***** assert (isequal (tan (infsupdec (1)), infsupdec ("[0x1.8EB245CBEE3A5, 0x1.8EB245CBEE3A6]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.min; + testcases = testdata.NoSignal.infsupdec.tan; for testcase = [testcases]' assert (isequaln (... - min (testcase.in{1}, testcase.in{2}), ... + tan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.min; + testcases = testdata.NoSignal.infsupdec.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (min (in1, in2), out)); + assert (isequaln (tan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.min; + testcases = testdata.NoSignal.infsup.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -3977,39 +3717,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 (min (in1, in2), out)); + assert (isequaln (tan (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/log1p.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log1p.m -***** # from the documentation string -***** assert (isequal (log1p (infsupdec (eps)), infsupdec ("[0x1.FFFFFFFFFFFFFp-53, 0x1p-52]"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/exp.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/exp.m +[inst/@infsupdec/sinrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sinrev.m ***** # from the documentation string -***** assert (isequal (exp (infsupdec (1)), infsupdec ("e"))); +***** 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.exp; + testcases = testdata.NoSignal.infsupdec.sinRev; for testcase = [testcases]' assert (isequaln (... - exp (testcase.in{1}), ... + sinrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.exp; + testcases = testdata.NoSignal.infsupdec.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (exp (in1), out)); + assert (isequaln (sinrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsupdec.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4020,33 +3754,27 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (exp (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/log.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log.m -***** # from the documentation string -***** assert (isequal (log (infsupdec (2)), infsupdec ("[0x1.62E42FEFA39EFp-1, 0x1.62E42FEFA39Fp-1]"))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (sinrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.log; + testcases = testdata.NoSignal.infsupdec.sinRevBin; for testcase = [testcases]' assert (isequaln (... - log (testcase.in{1}), ... + sinrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.log; + testcases = testdata.NoSignal.infsupdec.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (log (in1), out)); + assert (isequaln (sinrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log; + testcases = testdata.NoSignal.infsupdec.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4055,36 +3783,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 (log (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/max.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/max.m + assert (isequaln (sinrev (in1, in2), out)); +7 tests, 7 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 (max (infsupdec (2, 3), infsupdec (1, 2)), infsupdec (2, 3))); +***** 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.max; + testcases = testdata.NoSignal.infsupdec.sqrRev; for testcase = [testcases]' assert (isequaln (... - max (testcase.in{1}, testcase.in{2}), ... + sqrrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.max; + testcases = testdata.NoSignal.infsupdec.sqrRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (max (in1, in2), out)); + assert (isequaln (sqrrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.max; + 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; @@ -4093,50 +3820,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 (max (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/ei.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/ei.m -***** assert (isempty (ei (infsupdec (0)))); -***** assert (isempty (ei (infsupdec (-inf, -2)))); -***** assert (isequal (ei (infsupdec (0, inf)), infsupdec ("[Entire]_trv"))); -***** assert (isequal (ei (infsupdec (1, inf)), infsupdec ("[0x1.E52670F350D08, Inf]_dac"))); -***** # from the documentation string -***** assert (isequal (ei (infsupdec (1)), infsupdec ("[0x1.E52670F350D08, 0x1.E52670F350D09]_com"))); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/transpose.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/transpose.m -***** assert (isequal (transpose (infsupdec (magic (3))), infsupdec (magic (3).'))); -***** # from the documentation string -***** assert (isequal (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/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 (sqrrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.add; + testcases = testdata.NoSignal.infsupdec.sqrRevBin; for testcase = [testcases]' assert (isequaln (... - plus (testcase.in{1}, testcase.in{2}), ... + sqrrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.add; + testcases = testdata.NoSignal.infsupdec.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (plus (in1, in2), out)); + assert (isequaln (sqrrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.add; + testcases = testdata.NoSignal.infsupdec.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4149,8 +3852,8 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (plus (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped + assert (isequaln (sqrrev (in1, in2), out)); +7 tests, 7 passed, 0 known failure, 0 skipped [inst/@infsupdec/rem.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rem.m ***** assert (isequal (rem (infsupdec (), infsupdec ()), infsupdec ())); @@ -4220,62 +3923,30 @@ ***** 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/rdivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rdivide.m +[inst/@infsupdec/log2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log2.m ***** # from the documentation string -***** assert (isequal (infsupdec (2, 3) ./ infsupdec (1, 2), infsupdec (1, 3))); -***** assert (1 ./ infsupdec (1, 4) == infsupdec (0.25, 1)); +***** assert (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.div; - for testcase = [testcases]' - assert (isequaln (... - rdivide (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.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.infsupdec.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.infsupdec.recip; + testcases = testdata.NoSignal.infsupdec.log2; for testcase = [testcases]' assert (isequaln (... - rdivide (1, testcase.in{1}), ... + log2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.recip; + testcases = testdata.NoSignal.infsupdec.log2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (rdivide (1, in1), out)); + assert (isequaln (log2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.recip; + testcases = testdata.NoSignal.infsup.log2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4286,33 +3957,40 @@ 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/acos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acos.m + assert (isequaln (log2 (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 (acos (infsupdec (.5)), infsupdec ("[0x1.0C152382D7365, 0x1.0C152382D7366]"))); +***** 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/max.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/max.m +***** # from the documentation string +***** assert (isequal (max (infsupdec (2, 3), infsupdec (1, 2)), infsupdec (2, 3))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.acos; + testcases = testdata.NoSignal.infsupdec.max; for testcase = [testcases]' assert (isequaln (... - acos (testcase.in{1}), ... + max (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.acos; + testcases = testdata.NoSignal.infsupdec.max; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (acos (in1), out)); + assert (isequaln (max (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acos; + 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; @@ -4321,63 +3999,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 (acos (in1), out)); + assert (isequaln (max (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/pown.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pown.m +[inst/@infsupdec/plus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/plus.m ***** # from the documentation string -***** assert (isequal (pown (infsupdec (5, 6), 2), infsupdec (25, 36))); -***** assert (pown (infsupdec (-2, 1), 2) == infsupdec (0, 4)); +***** assert (isequal (infsupdec (2, 3) + infsupdec (1, 2), infsupdec (3, 5))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sqr; - for testcase = [testcases]' - assert (isequaln (... - pown (testcase.in{1}, 2), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqr; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (pown (in1, 2), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sqr; - 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 (pown (in1, 2), out)); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.pown; + testcases = testdata.NoSignal.infsupdec.add; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, testcase.in{2}), ... + plus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pown; + testcases = testdata.NoSignal.infsupdec.add; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, in2), out)); + assert (isequaln (plus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pown; + testcases = testdata.NoSignal.infsupdec.add; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4390,80 +4040,33 @@ 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/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/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/sinrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sinrev.m + assert (isequaln (plus (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/realsqrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/realsqrt.m ***** # from the documentation string -***** assert (isequal (sinrev (infsupdec (-1), infsupdec (0, 6)), infsupdec ("[0x1.2D97C7F3321D2p2, 0x1.2D97C7F3321D3p2]_trv"))); +***** 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.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.sqrt; for testcase = [testcases]' assert (isequaln (... - sinrev (testcase.in{1}, testcase.in{2}), ... + realsqrt (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sinRevBin; + testcases = testdata.NoSignal.infsupdec.sqrt; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sinrev (in1, in2), out)); + assert (isequaln (realsqrt (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sinRevBin; + testcases = testdata.NoSignal.infsup.sqrt; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4472,39 +4075,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 (sinrev (in1, in2), out)); -7 tests, 7 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))); + assert (isequaln (realsqrt (in1), out)); +4 tests, 4 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/power.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/power.m +[inst/@infsupdec/acos.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acos.m ***** # from the documentation string -***** assert (isequal (infsupdec (-5, 6) .^ infsupdec (2, 3), infsupdec (-125, 216, "trv"))); +***** 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.sqr; + testcases = testdata.NoSignal.infsupdec.acos; for testcase = [testcases]' assert (isequaln (... - power (testcase.in{1}, 2), ... + acos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sqr; + testcases = testdata.NoSignal.infsupdec.acos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (power (in1, 2), out)); + assert (isequaln (acos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsup.acos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4515,44 +4116,76 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (power (in1, 2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@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/prepad.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/prepad.m -***** assert (isequal (prepad (infsupdec (2:4), 4, 1), infsupdec (1:4))); -***** assert (isequal (prepad (infsupdec (0:2), 2, 1), infsupdec (1:2))); -***** assert (isequal (prepad (infsupdec (0), 10, 0, 3), infsupdec (zeros (1, 1, 10)))); -***** assert (isequal (prepad (infsupdec (zeros (1, 2, 2)), 3), infsupdec (zeros (1, 3, 2)))); + assert (isequaln (acos (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 +[inst/@infsupdec/det.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/det.m ***** # from the documentation string -***** assert (isequal (sinh (infsupdec (1)), infsupdec ("[0x1.2CD9FC44EB982, 0x1.2CD9FC44EB983]"))); +***** assert (det (infsupdec (magic (3))) == -360); +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/absrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/absrev.m +***** # Empty interval +***** assert (isequal (absrev (infsupdec ()), infsupdec ())); +***** assert (isequal (absrev (infsupdec (0, 1), infsupdec ()), infsupdec ())); +***** assert (isequal (absrev (infsupdec (0, 1), infsupdec (7, 9)), infsupdec ())); +***** assert (isequal (absrev (infsupdec (), infsupdec (0, 1)), infsupdec ())); +***** assert (isequal (absrev (infsupdec (-2, -1)), infsupdec ())); +***** # Singleton intervals +***** assert (isequal (absrev (infsupdec (1)), infsupdec (-1, 1, "trv"))); +***** assert (isequal (absrev (infsupdec (0)), infsupdec (0, "trv"))); +***** assert (isequal (absrev (infsupdec (-1)), infsupdec ())); +***** assert (isequal (absrev (infsupdec (realmax)), infsupdec (-realmax, realmax, "trv"))); +***** assert (isequal (absrev (infsupdec (realmin)), infsupdec (-realmin, realmin, "trv"))); +***** assert (isequal (absrev (infsupdec (-realmin)), infsupdec ())); +***** assert (isequal (absrev (infsupdec (-realmax)), infsupdec ())); +***** # Bound intervals +***** assert (isequal (absrev (infsupdec (1, 2)), infsupdec (-2, 2, "trv"))); +***** assert (isequal (absrev (infsupdec (1, 2), infsupdec (0, 2)), infsupdec (1, 2, "trv"))); +***** assert (isequal (absrev (infsupdec (0, 1), infsupdec (-0.5, 2)), infsupdec (-0.5, 1, "trv"))); +***** assert (isequal (absrev (infsupdec (-1, 1)), infsupdec (-1, 1, "trv"))); +***** assert (isequal (absrev (infsupdec (-1, 0)), infsupdec (0, "trv"))); +***** # Unbound intervals +***** assert (isequal (absrev (infsupdec (0, inf)), infsupdec (-inf, inf, "trv"))); +***** assert (isequal (absrev (infsupdec (-inf, inf)), infsupdec (-inf, inf, "trv"))); +***** assert (isequal (absrev (infsupdec (-inf, 0)), infsupdec (0, "trv"))); +***** assert (isequal (absrev (infsupdec (1, inf), infsupdec (-inf, 0)), infsupdec (-inf, -1, "trv"))); +***** assert (isequal (absrev (infsupdec (-1, inf)), infsupdec (-inf, inf, "trv"))); +***** assert (isequal (absrev (infsupdec (-inf, -1)), infsupdec ())); +***** assert (isequal (absrev (infsupdec (-inf, 1)), infsupdec (-1, 1, "trv"))); +***** # from the documentation string +***** assert (isequal (absrev (infsupdec (-2, 1)), infsupdec (-1, 1, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sinh; + # Scalar evaluation with one argument + testcases = testdata.NoSignal.infsupdec.absRev; for testcase = [testcases]' assert (isequaln (... - sinh (testcase.in{1}), ... + absrev (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sinh; + # Vector evaluation with one argument + testcases = testdata.NoSignal.infsupdec.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sinh (in1), out)); + assert (isequaln (absrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sinh; + testcases = testdata.NoSignal.infsupdec.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4563,33 +4196,27 @@ 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/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")); + assert (isequaln (absrev (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sin; + # Scalar evaluation with two arguments + testcases = testdata.NoSignal.infsupdec.absRevBin; for testcase = [testcases]' assert (isequaln (... - sin (testcase.in{1}), ... + absrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sin; + # 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 (sin (in1), out)); + assert (isequaln (absrev (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sin; + # 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; @@ -4598,9 +4225,10 @@ 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 (absrev (in1, in2), out)); +31 tests, 31 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 @@ -4647,31 +4275,31 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (intervalpart (in1), out)); 6 tests, 6 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)))); +[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.precedes; + testcases = testdata.NoSignal.infsupdec.convexHull; for testcase = [testcases]' assert (isequaln (... - precedes (testcase.in{1}, testcase.in{2}), ... + union (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.precedes; + testcases = testdata.NoSignal.infsupdec.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (precedes (in1, in2), out)); + assert (isequaln (union (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.precedes; + testcases = testdata.NoSignal.infsupdec.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4684,61 +4312,45 @@ 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)); + assert (isequaln (union (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/triu.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/triu.m +***** assert (triu (infsupdec (magic (10))) == triu (magic (10))); +***** assert (triu (infsupdec (magic (10)), 1) == triu (magic (10), 1)); +***** assert (triu (infsupdec (magic (10)), -1) == triu (magic (10), -1)); +***** assert (triu (infsupdec (magic (10)), 0, "pack") == triu (magic (10), 0, "pack")); +***** test + 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/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/csc.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/csc.m -***** # from the documentation string -***** assert (isequal (csc (infsupdec (1)), infsupdec ("[0x1.303AA9620B223, 0x1.303AA9620B224]_com"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sech.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sech.m +[inst/@infsupdec/times.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/times.m ***** # from the documentation string -***** assert (isequal (sech (infsupdec (1)), infsupdec ("[0x1.4BCDC50ED6BE7p-1, 0x1.4BCDC50ED6BE8p-1]_com"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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])); +***** 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.isNaI; + testcases = testdata.NoSignal.infsupdec.mul; for testcase = [testcases]' assert (isequaln (... - isnai (testcase.in{1}), ... + times (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.isNaI; + testcases = testdata.NoSignal.infsupdec.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (isnai (in1), out)); + assert (isequaln (times (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.isNaI; + testcases = testdata.NoSignal.infsupdec.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -4747,38 +4359,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 (isnai (in1), out)); -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 + assert (isequaln (times (in1, in2), 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 (infsupdec (magic (3)) ^ 2, infsupdec (magic (3) ^ 2))); +***** 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/isempty.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/isempty.m -***** assert (isempty (infsupdec ())); -***** assert (not (isempty (infsupdec (1, 2)))); +[inst/@infsupdec/atanh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atanh.m +***** # from the documentation string +***** assert (isequal (atanh (infsupdec (.5)), infsupdec ("[0x1.193EA7AAD030Ap-1, 0x1.193EA7AAD030Bp-1]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.isEmpty; + testcases = testdata.NoSignal.infsupdec.atanh; for testcase = [testcases]' assert (isequaln (... - isempty (testcase.in{1}), ... + atanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.isEmpty; + testcases = testdata.NoSignal.infsupdec.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (isempty (in1), out)); + assert (isequaln (atanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEmpty; + testcases = testdata.NoSignal.infsup.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4789,34 +4402,45 @@ 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/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 (isequaln (atanh (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/decorationpart.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/decorationpart.m +***** assert (decorationpart (infsupdec (3, 4)), {"com"}); +***** assert (decorationpart (infsupdec (3, inf)), {"dac"}); +***** assert (decorationpart (infsupdec ("[3, 4]_def")), {"def"}); +***** assert (decorationpart (infsupdec ()), {"trv"}); +***** assert (decorationpart (nai), {"ill"}); +***** assert (decorationpart (nai, "uint8") ... + < decorationpart (infsupdec ("[3, 4]_trv"), "uint8")); +***** assert (decorationpart (infsupdec ("[3, 4]_trv"), "uint8") ... + < decorationpart (infsupdec ("[3, 4]_def"), "uint8")); +***** assert (decorationpart (infsupdec ("[3, 4]_def"), "uint8") ... + < decorationpart (infsupdec ("[3, 4]_dac"), "uint8")); +***** assert (decorationpart (infsupdec ("[3, 4]_dac"), "uint8") ... + < decorationpart (infsupdec ("[3, 4]_com"), "uint8")); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.tanh; + testcases = testdata.NoSignal.infsupdec.decorationPart; for testcase = [testcases]' assert (isequaln (... - tanh (testcase.in{1}), ... - testcase.out)); + decorationpart (testcase.in{1}), ... + {testcase.out})); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tanh; + testcases = testdata.NoSignal.infsupdec.decorationPart; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (tanh (in1), out)); + out = {testcases.out}'; + assert (isequaln (decorationpart (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanh; + testcases = testdata.NoSignal.infsupdec.decorationPart; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); + out = {testcases.out}'; # Reshape data i = -1; do @@ -4825,32 +4449,40 @@ 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/pow10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow10.m + assert (isequaln (decorationpart (in1), out)); +12 tests, 12 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/asinh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/asinh.m ***** # from the documentation string -***** assert (isequal (pow10 (infsupdec (5)), infsupdec (100000))); +***** 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.exp10; + testcases = testdata.NoSignal.infsupdec.asinh; for testcase = [testcases]' assert (isequaln (... - pow10 (testcase.in{1}), ... + asinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.exp10; + testcases = testdata.NoSignal.infsupdec.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pow10 (in1), out)); + assert (isequaln (asinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.exp10; + testcases = testdata.NoSignal.infsup.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -4858,116 +4490,98 @@ do i = i + 1; testsize = factor (numel (in1) + i); - until (numel (testsize) > 2 || i == numel (in1)) + until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pow10 (in1), out)); + assert (isequaln (asinh (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/cbrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cbrt.m ***** # from the documentation string -***** assert (erf (infsupdec (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); +***** assert (isequal (cbrt (infsupdec (-27, 27)), infsupdec (-3, 3))); 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 +[inst/@infsupdec/sign.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sign.m ***** # from the documentation string -***** assert (isequal (fma (infsupdec (1+eps), infsupdec (7), infsupdec ("0.1")), infsupdec ("[0x1.C666666666668p2, 0x1.C666666666669p2]"))); +***** 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.fma; + testcases = testdata.NoSignal.infsupdec.sign; for testcase = [testcases]' assert (isequaln (... - fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + sign (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.fma; + testcases = testdata.NoSignal.infsupdec.sign; 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 (sign (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.fma; + testcases = testdata.NoSignal.infsup.sign; 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/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/le.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/le.m -***** assert (le (infsupdec (1, 3), infsupdec (3))); + assert (isequaln (sign (in1), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/eq.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/eq.m +***** # Empty interval +***** assert (eq (infsupdec (), infsupdec ()) == true); +***** assert (eq (infsupdec (), infsupdec (1)) == false); +***** assert (eq (infsupdec (0), infsupdec ()) == false); +***** assert (eq (infsupdec (-inf, inf), infsupdec ()) == false); +***** # Singleton intervals +***** assert (eq (infsupdec (0), infsupdec (1)) == false); +***** assert (eq (infsupdec (0), infsupdec (0)) == true); +***** # Bounded intervals +***** assert (eq (infsupdec (1, 2), infsupdec (3, 4)) == false); +***** assert (eq (infsupdec (1, 2), infsupdec (2, 3)) == false); +***** assert (eq (infsupdec (1, 2), infsupdec (1.5, 2.5)) == false); +***** assert (eq (infsupdec (1, 2), infsupdec (1, 2)) == true); +***** # Unbounded intervals +***** assert (eq (infsupdec (0, inf), infsupdec (-inf, 0)) == false); +***** assert (eq (infsupdec (0, inf), infsupdec (0, inf)) == true); +***** assert (eq (infsupdec (-inf, 0), infsupdec (-inf, 0)) == true); +***** assert (eq (infsupdec (-inf, inf), infsupdec (42)) == false); +***** assert (eq (infsupdec (-inf, 0), infsupdec (-inf, inf)) == false); +***** assert (eq (infsupdec (-inf, inf), infsupdec (-inf, inf)) == true); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.less; + testcases = testdata.NoSignal.infsupdec.equal; for testcase = [testcases]' assert (isequaln (... - le (testcase.in{1}, testcase.in{2}), ... + eq (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.less; + testcases = testdata.NoSignal.infsupdec.equal; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (le (in1, in2), out)); + assert (isequaln (eq (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.less; + testcases = testdata.NoSignal.infsupdec.equal; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -4980,89 +4594,32 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (le (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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/dot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/dot.m -***** # matrix × matrix -***** assert (isequal (dot (infsupdec (magic (3)), magic (3)), infsupdec([89, 107, 89]))); -***** assert (isequal (dot (infsupdec (magic (3)), magic (3), 1), infsupdec([89, 107, 89]))); -***** assert (isequal (dot (infsupdec (magic (3)), magic (3), 2), infsupdec([101; 83; 101]))); -***** # matrix × vector -***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3]), infsupdec([28; 34; 28]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3], 1), infsupdec([15, 30, 45]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1, 2, 3], 2), infsupdec([28; 34; 28]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3]), infsupdec([26, 38, 26]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3], 1), infsupdec([26, 38, 26]))); -***** assert (isequal (dot (infsupdec (magic (3)), [1; 2; 3], 2), infsupdec([15; 30; 45]))); -***** # matrix × scalar -***** assert (isequal (dot (infsupdec (magic (3)), 42), infsupdec([630, 630, 630]))); -***** assert (isequal (dot (infsupdec (magic (3)), 42, 1), infsupdec([630, 630, 630]))); -***** assert (isequal (dot (infsupdec (magic (3)), 42, 2), infsupdec([630; 630; 630]))); -***** # vector x vector -***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6]), infsupdec(32))); -***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6], 1), infsupdec([4, 10, 18]))); -***** assert (isequal (dot (infsupdec([1, 2, 3]), [4, 5, 6], 2), infsupdec(32))); -***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6]), infsupdec(32))); -***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6], 1), infsupdec(32))); -***** assert (isequal (dot (infsupdec([1; 2; 3]), [4; 5; 6], 2), infsupdec([4; 10; 18]))); -***** # vector × scalar -***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42), infsupdec(252))); -***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42, 1), infsupdec([42, 84, 126]))); -***** assert (isequal (dot (infsupdec ([1, 2, 3]), 42, 2), infsupdec(252))); -***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42), infsupdec(252))); -***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42, 1), infsupdec(252))); -***** assert (isequal (dot (infsupdec ([1; 2; 3]), 42, 2), infsupdec([42; 84; 126]))); -***** # empty matrix x empty matrix -***** assert (isequal (dot (infsupdec (ones (0, 2)), infsupdec (ones (0, 2))), infsupdec ([0, 0]))); -***** # N-dimensional arrays -***** test - x = infsupdec (reshape (1:24, 2, 3, 4)); - y = infsupdec (2.*ones (2, 3, 4)); - assert (isequal (dot (x, y, 3), infsupdec ([80, 96, 112; 88, 104, 120]))) -***** test - x = infsupdec (ones (2, 2, 2, 2)); - y = infsupdec (1); - assert (size (dot (x, y)), [1, 2, 2, 2]); - assert (size (dot (x, y, 1)), [1, 2, 2, 2]); - assert (size (dot (x, y, 2)), [2, 1, 2, 2]); - assert (size (dot (x, y, 3)), [2, 2, 1, 2]); - assert (size (dot (x, y, 4)), [2, 2, 2]); - assert (size (dot (x, y, 5)), [2, 2, 2, 2]); -***** # from the documentation string -***** assert (isequal (dot ([infsupdec(1), 2, 3], [infsupdec(2), 3, 4]), infsupdec (20))); -***** assert (isequal (dot (infsupdec ([realmax; realmin; realmax]), [1; -1; -1], 1), infsupdec (-realmin))); -29 tests, 29 passed, 0 known failure, 0 skipped -[inst/@infsupdec/log10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/log10.m + assert (isequaln (eq (in1, in2), out)); +19 tests, 19 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 (log10 (infsupdec (2)), infsupdec ("[0x1.34413509F79FEp-2, 0x1.34413509F79FFp-2]"))); +***** 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.log10; + testcases = testdata.NoSignal.infsupdec.sinh; for testcase = [testcases]' assert (isequaln (... - log10 (testcase.in{1}), ... + sinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.log10; + testcases = testdata.NoSignal.infsupdec.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log10 (in1), out)); + assert (isequaln (sinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsupdec.sinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5073,42 +4630,52 @@ 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 (sinh (in1), out)); 4 tests, 4 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/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/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"))); +[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.tanRev; + testcases = testdata.NoSignal.infsupdec.roundTiesToAway; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}), ... + round (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tanRev; + testcases = testdata.NoSignal.infsupdec.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1), out)); + assert (isequaln (round (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.tanRev; + testcases = testdata.NoSignal.infsup.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5119,25 +4686,32 @@ 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 (round (in1), out)); +21 tests, 21 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.tanRevBin; + testcases = testdata.NoSignal.infsupdec.less; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}, testcase.in{2}), ... + le (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.tanRevBin; + testcases = testdata.NoSignal.infsupdec.less; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1, in2), out)); + assert (isequaln (le (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.tanRevBin; + testcases = testdata.NoSignal.infsupdec.less; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -5150,70 +4724,43 @@ 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/expm1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/expm1.m + assert (isequaln (le (in1, in2), out)); +4 tests, 4 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 (isequal (expm1 (infsupdec (eps)), infsupdec ("[0x1p-52, 0x1.0000000000001p-52]"))); -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)))); +***** 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/coshrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/coshrev.m +[inst/@infsupdec/rdivide.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rdivide.m ***** # from the documentation string -***** assert (isequal (coshrev (infsupdec (-2, 1)), infsupdec (0, "trv"))); +***** 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.coshRev; - for testcase = [testcases]' - assert (isequaln (... - coshrev (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.coshRev; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (coshrev (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.coshRev; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - # Reshape data - i = -1; - do - i = i + 1; - testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) - in1 = reshape ([in1; in1(1:i)], testsize); - out = reshape ([out; out(1:i)], testsize); - assert (isequaln (coshrev (in1), out)); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.coshRevBin; + testcases = testdata.NoSignal.infsupdec.div; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}, testcase.in{2}), ... + rdivide (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.coshRevBin; + testcases = testdata.NoSignal.infsupdec.div; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (coshrev (in1, in2), out)); + assert (isequaln (rdivide (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.coshRevBin; + testcases = testdata.NoSignal.infsupdec.div; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -5226,73 +4773,24 @@ 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/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.overlap; - for testcase = [testcases]' - assert (isequaln (... - overlap (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.overlap; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = {testcases.out}'; - assert (isequaln (overlap (in1, in2), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.overlap; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = {testcases.out}'; - # Reshape data - i = -1; - do - i = i + 1; - testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) - in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); - out = reshape ([out; out(1:i)], testsize); - assert (isequaln (overlap (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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 (rdivide (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sup; + testcases = testdata.NoSignal.infsupdec.recip; for testcase = [testcases]' assert (isequaln (... - sup (testcase.in{1}), ... + rdivide (1, testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sup; + testcases = testdata.NoSignal.infsupdec.recip; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sup (in1), out)); + assert (isequaln (rdivide (1, in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sup; + testcases = testdata.NoSignal.infsupdec.recip; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5303,8 +4801,13 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sup (in1), out)); -7 tests, 7 passed, 0 known failure, 0 skipped + assert (isequaln (rdivide (1, in1), out)); +8 tests, 8 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/lu.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/lu.m ***** test @@ -5320,149 +4823,18 @@ 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/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/decorationpart.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/decorationpart.m -***** assert (decorationpart (infsupdec (3, 4)), {"com"}); -***** assert (decorationpart (infsupdec (3, inf)), {"dac"}); -***** assert (decorationpart (infsupdec ("[3, 4]_def")), {"def"}); -***** assert (decorationpart (infsupdec ()), {"trv"}); -***** assert (decorationpart (nai), {"ill"}); -***** assert (decorationpart (nai, "uint8") ... - < decorationpart (infsupdec ("[3, 4]_trv"), "uint8")); -***** assert (decorationpart (infsupdec ("[3, 4]_trv"), "uint8") ... - < decorationpart (infsupdec ("[3, 4]_def"), "uint8")); -***** assert (decorationpart (infsupdec ("[3, 4]_def"), "uint8") ... - < decorationpart (infsupdec ("[3, 4]_dac"), "uint8")); -***** assert (decorationpart (infsupdec ("[3, 4]_dac"), "uint8") ... - < decorationpart (infsupdec ("[3, 4]_com"), "uint8")); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.decorationPart; - for testcase = [testcases]' - assert (isequaln (... - decorationpart (testcase.in{1}), ... - {testcase.out})); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.decorationPart; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = {testcases.out}'; - assert (isequaln (decorationpart (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.decorationPart; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = {testcases.out}'; - # Reshape data - i = -1; - do - i = i + 1; - testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) - in1 = reshape ([in1; in1(1:i)], testsize); - out = reshape ([out; out(1:i)], testsize); - assert (isequaln (decorationpart (in1), out)); -12 tests, 12 passed, 0 known failure, 0 skipped -[inst/@infsupdec/atanh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atanh.m -***** # from the documentation string -***** assert (isequal (atanh (infsupdec (.5)), infsupdec ("[0x1.193EA7AAD030Ap-1, 0x1.193EA7AAD030Bp-1]"))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.atanh; - for testcase = [testcases]' - assert (isequaln (... - atanh (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.atanh; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (atanh (in1), out)); +[inst/@infsupdec/bitunpack.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/bitunpack.m ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atanh; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - # Reshape data - i = -1; - do - i = i + 1; - testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) - in1 = reshape ([in1; in1(1:i)], testsize); - out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atanh (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/hypot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/hypot.m -***** # from the documentation string -***** assert (isequal (hypot (infsupdec (2, 3), infsupdec (1, 2)), infsupdec ("[0x1.1E3779B97F4A7p1, 0x1.CD82B446159F4p1]"))); + 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/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/inf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/inf.m -***** assert (inf (infsupdec (2.5, 3.5)), 2.5); -***** assert (inf (infsupdec ()), +inf); -***** assert (inf (infsupdec ("[nai]")), nan); -***** warning id=interval:UndefinedOperation - assert (inf (infsupdec (2, 1)), nan); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); -***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.inf; - for testcase = [testcases]' - assert (isequaln (... - inf (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.inf; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (inf (in1), out)); -***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.inf; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - # Reshape data - i = -1; - do - i = i + 1; - testsize = factor (numel (in1) + i); - until (numel (testsize) > 2) - in1 = reshape ([in1; in1(1:i)], testsize); - out = reshape ([out; out(1:i)], testsize); - assert (isequaln (inf (in1), out)); -7 tests, 7 passed, 0 known failure, 0 skipped [inst/@infsupdec/infsupdec.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/infsupdec.m ***** # [NaI]s @@ -5720,44 +5092,132 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (infsupdec (in1, in2), out)); 44 tests, 44 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"))); +[inst/@infsupdec/erf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/erf.m +***** # from the documentation string +***** assert (erf (infsupdec (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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")); +[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 - A = infsupdec (zeros (3), "trv"); - assert (decorationpart (tril (A)), {"trv", "com", "com"; "trv", "trv", "com"; "trv", "trv", "trv"}); + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.roundTiesToEven; + for testcase = [testcases]' + assert (isequaln (... + roundb (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.roundTiesToEven; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (roundb (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.roundTiesToEven; + 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 (roundb (in1), out)); +23 tests, 23 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.precedes; + for testcase = [testcases]' + assert (isequaln (... + precedes (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.precedes; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + assert (isequaln (precedes (in1, in2), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.precedes; + 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 (precedes (in1, in2), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/pow2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow2.m +[inst/@infsupdec/acosh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acosh.m ***** # from the documentation string -***** assert (isequal (pow2 (infsupdec (5)), infsupdec (32))); +***** assert (isequal (acosh (infsupdec (2)), infsupdec ("[0x1.5124271980434, 0x1.5124271980435]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.exp2; + testcases = testdata.NoSignal.infsupdec.acosh; for testcase = [testcases]' assert (isequaln (... - pow2 (testcase.in{1}), ... + acosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.exp2; + testcases = testdata.NoSignal.infsupdec.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pow2 (in1), out)); + assert (isequaln (acosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.exp2; + testcases = testdata.NoSignal.infsup.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -5765,16 +5225,27 @@ do i = i + 1; testsize = factor (numel (in1) + i); - until (numel (testsize) > 2 | i == numel (in1)) + until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pow2 (in1), out)); + assert (isequaln (acosh (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/rsqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/rsqrt.m +[inst/@infsupdec/gamma.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gamma.m ***** # from the documentation string -***** assert (isequal (rsqrt (infsupdec (-6, 4)), infsupdec (.5, inf, "trv"))); +***** 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/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/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/atan2.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2.m ***** # from the documentation string @@ -5814,53 +5285,33 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (atan2 (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/roundb.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/roundb.m -***** # Empty interval -***** assert (isequal (roundb (infsupdec ()), infsupdec ())); -***** # Singleton intervals -***** assert (isequal (roundb (infsupdec (0)), infsupdec (0))); -***** assert (isequal (roundb (infsupdec (0.5)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (0.25)), infsupdec (0))); -***** assert (isequal (roundb (infsupdec (0.75)), infsupdec (1))); -***** assert (isequal (roundb (infsupdec (1.5)), infsupdec (2, "dac"))); -***** assert (isequal (roundb (infsupdec (-0.5)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (-1.5)), infsupdec (-2, "dac"))); -***** # Bounded intervals -***** assert (isequal (roundb (infsupdec (-0.5, 0)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (0, 0.5)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (0.25, 0.5)), infsupdec (0, "dac"))); -***** assert (isequal (roundb (infsupdec (-1, 0)), infsupdec (-1, 0, "def"))); -***** assert (isequal (roundb (infsupdec (-1, 1)), infsupdec (-1, 1, "def"))); -***** assert (isequal (roundb (infsupdec (-realmin, realmin)), infsupdec (0))); -***** assert (isequal (roundb (infsupdec (-realmax, realmax)), infsupdec (-realmax, realmax, "def"))); -***** # Unbounded intervals -***** assert (isequal (roundb (infsupdec (-realmin, inf)), infsupdec (0, inf, "def"))); -***** assert (isequal (roundb (infsupdec (-realmax, inf)), infsupdec (-realmax, inf, "def"))); -***** assert (isequal (roundb (infsupdec (-inf, realmin)), infsupdec (-inf, 0, "def"))); -***** assert (isequal (roundb (infsupdec (-inf, realmax)), infsupdec (-inf, realmax, "def"))); -***** assert (isequal (roundb (infsupdec (-inf, inf)), infsupdec (-inf, inf, "def"))); +[inst/@infsupdec/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.roundTiesToEven; + testcases = testdata.NoSignal.infsupdec.disjoint; for testcase = [testcases]' assert (isequaln (... - roundb (testcase.in{1}), ... + disjoint (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.roundTiesToEven; + testcases = testdata.NoSignal.infsupdec.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (roundb (in1), out)); + assert (isequaln (disjoint (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsupdec.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -5869,38 +5320,71 @@ 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 (roundb (in1), out)); -23 tests, 23 passed, 0 known failure, 0 skipped -[inst/@infsupdec/atan2rev1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan2rev1.m + assert (isequaln (disjoint (in1, in2), out)); +5 tests, 5 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 (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/pownrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pownrev.m -***** assert (isequal (pownrev (infsupdec (25, 36), infsupdec (0, inf), 2), infsupdec (5, 6, "trv"))); +***** assert (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.pownRev; + testcases = testdata.NoSignal.infsupdec.trunc; for testcase = [testcases]' assert (isequaln (... - pownrev (testcase.in{1}, testcase.in{2}), ... + fix (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pownRev; + testcases = testdata.NoSignal.infsupdec.trunc; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (fix (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.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)); +5 tests, 5 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.subset; + for testcase = [testcases]' + assert (isequaln (... + subset (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pownrev (in1, in2), out)); + assert (isequaln (subset (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pownRev; + testcases = testdata.NoSignal.infsupdec.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -5913,29 +5397,112 @@ 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 (subset (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/cat.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cat.m +***** assert (size (cat (1, infsupdec ([]), infsupdec ([]))), [0 0]); +***** assert (isequal (cat (1, infsupdec (1), infsupdec (2)), infsupdec (cat (1, 1, 2)))); +***** assert (isequal (cat (2, infsupdec (1), infsupdec (2)), infsupdec (cat (2, 1, 2)))); +***** assert (isequal (horzcat (infsupdec (1), infsupdec (2)), infsupdec (horzcat (1, 2)))); +***** 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/subsref.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subsref.m +***** assert (isequal (infsupdec (magic (3))([1, 2, 3]), infsupdec (magic (3)([1, 2, 3])))); +***** test + x = infsupdec (magic (3), magic (3) + 1); + assert (x(1) == infsupdec (8, 9)); +***** test + x = infsupdec (magic (3), magic (3) + 1); + assert (x(:, 2) == infsupdec ([1; 5; 9], [2; 6; 10])); +***** assert (infsupdec (3).inf, 3); +***** test + x = infsupdec (magic (3), magic (3) + 1); + assert (x.inf, magic (3)); +***** assert (isequal (reshape (infsupdec (1:16), 2, 2, 2, 2)(2, 7), infsupdec (14))) +***** assert (isequal (reshape (infsupdec (1:16), 2, 2, 2, 2)(:, 2, 2, 2), infsupdec ([15; 16]))) +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/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/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.pownRevBin; + testcases = testdata.NoSignal.infsupdec.tanRev; for testcase = [testcases]' assert (isequaln (... - pownrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + tanrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pownRevBin; + testcases = testdata.NoSignal.infsupdec.tanRev; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (tanrev (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.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.infsupdec.tanRevBin; + for testcase = [testcases]' + assert (isequaln (... + tanrev (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + 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 (pownrev (in1, in2, in3), out)); + assert (isequaln (tanrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pownRevBin; + 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; @@ -5945,53 +5512,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 (pownrev (in1, in2, in3), out)); + assert (isequaln (tanrev (in1, in2), out)); 7 tests, 7 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); +[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.equal; + testcases = testdata.NoSignal.infsupdec.min; for testcase = [testcases]' assert (isequaln (... - eq (testcase.in{1}, testcase.in{2}), ... + min (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.equal; + testcases = testdata.NoSignal.infsupdec.min; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (eq (in1, in2), out)); + assert (isequaln (min (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.equal; + testcases = testdata.NoSignal.infsupdec.min; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -6004,32 +5552,37 @@ 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/cos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cos.m -***** # from the documentation string -***** assert (isequal (cos (infsupdec (1)), infsupdec ("[0x1.14A280FB5068Bp-1, 0x1.14A280FB5068Cp-1]"))); + assert (isequaln (min (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/reshape.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/reshape.m +***** assert (isequal (reshape (infsupdec (1 : 6), 2, 3), infsupdec (reshape (1 : 6, 2, 3)))); +***** assert (isequal (reshape (infsupdec (1 : 24), 2, [], 4), infsupdec (reshape (1 : 24, 2, 3, 4)))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsupdec/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.cos; + testcases = testdata.NoSignal.infsupdec.tanh; for testcase = [testcases]' assert (isequaln (... - cos (testcase.in{1}), ... + tanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cos; + testcases = testdata.NoSignal.infsupdec.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cos (in1), out)); + assert (isequaln (tanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cos; + testcases = testdata.NoSignal.infsup.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6040,39 +5593,32 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cos (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/postpad.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/postpad.m -***** assert (isequal (postpad (infsupdec (1:3), 4, 4), infsupdec (1:4))); -***** assert (isequal (postpad (infsupdec (1:3), 2, 4), infsupdec (1:2))); -***** assert (isequal (postpad (infsupdec (0), 10, 0, 3), infsupdec (zeros (1, 1, 10)))); -***** assert (isequal (postpad (infsupdec (zeros (1, 2, 2)), 3), infsupdec (zeros (1, 3, 2)))); + assert (isequaln (tanh (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/acosh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/acosh.m +[inst/@infsupdec/asin.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/asin.m ***** # from the documentation string -***** assert (isequal (acosh (infsupdec (2)), infsupdec ("[0x1.5124271980434, 0x1.5124271980435]"))); +***** 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.acosh; + testcases = testdata.NoSignal.infsupdec.asin; for testcase = [testcases]' assert (isequaln (... - acosh (testcase.in{1}), ... + asin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.acosh; + testcases = testdata.NoSignal.infsupdec.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (acosh (in1), out)); + assert (isequaln (asin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acosh; + testcases = testdata.NoSignal.infsup.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6083,7 +5629,7 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (acosh (in1), out)); + assert (isequaln (asin (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@infsupdec/interior.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/interior.m @@ -6123,33 +5669,32 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (interior (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/union.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/union.m +[inst/@infsupdec/ceil.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/ceil.m ***** # from the documentation string -***** assert (isequal (union (infsupdec (1, 3), infsupdec (2, 4)), infsupdec (1, 4, "trv"))); +***** 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.convexHull; + testcases = testdata.NoSignal.infsupdec.ceil; for testcase = [testcases]' assert (isequaln (... - union (testcase.in{1}, testcase.in{2}), ... + ceil (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.convexHull; + testcases = testdata.NoSignal.infsupdec.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (union (in1, in2), out)); + assert (isequaln (ceil (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.convexHull; + testcases = testdata.NoSignal.infsup.ceil; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6158,47 +5703,42 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (union (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/dilog.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/dilog.m -***** assert (isequal (dilog (infsupdec (-inf, inf)), infsupdec ("[-Inf, +0x1.3BD3CC9BE45DFp1]_dac"))); + assert (isequaln (ceil (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/mpower.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mpower.m ***** # from the documentation string -***** assert (isequal (dilog (infsupdec (1)), infsupdec ("[0x1.A51A6625307D3, 0x1.A51A6625307D4]_com"))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsupdec/reshape.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/reshape.m -***** assert (isequal (reshape (infsupdec (1 : 6), 2, 3), infsupdec (reshape (1 : 6, 2, 3)))); -***** assert (isequal (reshape (infsupdec (1 : 24), 2, [], 4), infsupdec (reshape (1 : 24, 2, 3, 4)))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsupdec/subset.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subset.m -***** assert (subset (infsupdec (1, 2), infsupdec (1, 3))); +***** assert (isequal (infsupdec (magic (3)) ^ 2, infsupdec (magic (3) ^ 2))); +1 test, 1 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.subset; + testcases = testdata.NoSignal.infsupdec.sup; for testcase = [testcases]' assert (isequaln (... - subset (testcase.in{1}, testcase.in{2}), ... + sup (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.subset; + testcases = testdata.NoSignal.infsupdec.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (subset (in1, in2), out)); + assert (isequaln (sup (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.subset; + testcases = testdata.NoSignal.infsup.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6207,34 +5747,104 @@ 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/cosrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cosrev.m + assert (isequaln (sup (in1), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/powrev2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/powrev2.m ***** # from the documentation string -***** assert (isequal (cosrev (0, infsupdec (6, 9)), infsupdec ("[0x1.F6A7A2955385Ep2, 0x1.F6A7A2955386p2]_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/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/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/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/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/setdiff.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/setdiff.m +***** assert (isempty (setdiff (infsupdec (), infsupdec (1, 4)))); +***** assert (setdiff (infsupdec (1, 3), infsupdec ()) == infsupdec (1, 3)); +***** assert (isempty (setdiff (infsupdec (1, 3), infsupdec (-inf, inf)))); +***** assert (isempty (setdiff (infsupdec (1, 3), infsupdec (1, 4)))); +***** assert (setdiff (infsupdec (-inf, inf), infsupdec (1, 4)) == infsupdec (-inf, inf)); +***** # from the documentation string +***** assert (setdiff (infsupdec (1, 3), infsupdec (2, 4)) == infsupdec (1, 2)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsupdec/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/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/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/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.cosRev; + testcases = testdata.NoSignal.infsupdec.isNaI; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}), ... + isnai (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cosRev; + testcases = testdata.NoSignal.infsupdec.isNaI; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1), out)); + assert (isequaln (isnai (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.cosRev; + testcases = testdata.NoSignal.infsupdec.isNaI; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6245,27 +5855,53 @@ 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 (isnai (in1), out)); +6 tests, 6 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/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/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/power.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/power.m +***** # from the documentation string +***** assert (isequal (infsupdec (-5, 6) .^ infsupdec (2, 3), infsupdec (-125, 216, "trv"))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.cosRevBin; + testcases = testdata.NoSignal.infsupdec.sqr; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}, testcase.in{2}), ... + power (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cosRevBin; + testcases = testdata.NoSignal.infsupdec.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1, in2), out)); + assert (isequaln (power (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.cosRevBin; + 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; @@ -6274,40 +5910,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 (cosrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/floor.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/floor.m + assert (isequaln (power (in1, 2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/sech.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sech.m ***** # from the documentation string -***** assert (isequal (floor (infsupdec (2.5, 3.5)), infsupdec (2, 3, "def"))); -***** assert (isequal (floor (infsupdec (-0.5, 5)), infsupdec (-1, 5, "def"))); -***** warning - _ = @infsupdec; - assert (isequal (... - floor (_ ("jansen")), nai)) #ghtwish +***** assert (isequal (sech (infsupdec (1)), infsupdec ("[0x1.4BCDC50ED6BE7p-1, 0x1.4BCDC50ED6BE8p-1]_com"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/gauss.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/gauss.m +***** # from the documentation string +***** assert (isequal (gauss (infsupdec ([1, 0; 0, 2]), [2, 0; 0, 4]), infsupdec ([2, 0; 0, 2], "trv"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/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/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.floor; + testcases = testdata.NoSignal.infsupdec.cancelMinus; for testcase = [testcases]' assert (isequaln (... - floor (testcase.in{1}), ... + cancelminus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.floor; + testcases = testdata.NoSignal.infsupdec.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (floor (in1), out)); + assert (isequaln (cancelminus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsupdec.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6316,82 +5965,76 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (floor (in1), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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"))); + assert (isequaln (cancelminus (in1, in2), out)); +4 tests, 4 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.mulRevToPair1; + testcases = testdata.NoSignal.infsupdec.fma; for testcase = [testcases]' assert (isequaln (... - nthargout (1, 2, @mulrev, 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.mulRevToPair1; + 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 (nthargout (1, 2, @mulrev, in1, in2), out)); + assert (isequaln (fma (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair1; + 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 (nthargout (1, 2, @mulrev, in1, in2), out)); + assert (isequaln (fma (in1, in2, in3), 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.mulRevToPair2; + testcases = testdata.NoSignal.infsupdec.pownRev; for testcase = [testcases]' assert (isequaln (... - nthargout (2, @mulrev, testcase.in{1}, testcase.in{2}), ... + pownrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair2; + testcases = testdata.NoSignal.infsupdec.pownRev; 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 (pownrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mulRevToPair2; + testcases = testdata.NoSignal.infsupdec.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -6404,27 +6047,29 @@ 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 (pownrev (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mulRev; + testcases = testdata.NoSignal.infsupdec.pownRevBin; for testcase = [testcases]' assert (isequaln (... - mulrev (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.mulRev; + 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 (mulrev (in1, in2), out)); + assert (isequaln (pownrev (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mulRev; + 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; @@ -6434,30 +6079,72 @@ 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), out)); + assert (isequaln (pownrev (in1, in2, in3), out)); +7 tests, 7 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/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.mulRevTen; + testcases = testdata.NoSignal.infsupdec.inf; for testcase = [testcases]' assert (isequaln (... - mulrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + inf (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mulRevTen; + testcases = testdata.NoSignal.infsupdec.inf; 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 (inf (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mulRevTen; + testcases = testdata.NoSignal.infsup.inf; 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; @@ -6466,50 +6153,44 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mulrev (in1, in2, in3), out)); -18 tests, 18 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sum.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sum.m -***** # from the documentation string -***** assert (isequal (sum ([infsupdec(1), pow2(-1074), -1]), infsupdec (pow2 (-1074)))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/powrev2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/powrev2.m -***** # from the documentation string -***** assert (isequal (powrev2 (infsupdec (2, 5), infsupdec (3, 6)), infsupdec ("[0x1.5D7E8F22BA886p-1, 0x1.4AE00D1CFDEB5p1]_trv"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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/cosh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cosh.m + assert (isequaln (inf (in1), out)); +7 tests, 7 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/pow.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow.m ***** # from the documentation string -***** assert (isequal (cosh (infsupdec (1)), infsupdec ("[0x1.8B07551D9F55, 0x1.8B07551D9F551]"))); +***** assert (isequal (pow (infsupdec (5, 6), infsupdec (2, 3)), infsupdec (25, 216))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.cosh; + testcases = testdata.NoSignal.infsupdec.pow; for testcase = [testcases]' assert (isequaln (... - cosh (testcase.in{1}), ... + pow (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.cosh; + testcases = testdata.NoSignal.infsupdec.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cosh (in1), out)); + assert (isequaln (pow (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosh; + testcases = testdata.NoSignal.infsupdec.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6518,55 +6199,42 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cosh (in1), out)); + assert (isequaln (pow (in1, in2), out)); 4 tests, 4 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/sum.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sum.m +***** # from the documentation string +***** assert (isequal (sum ([infsupdec(1), pow2(-1074), -1]), infsupdec (pow2 (-1074)))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/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.roundTiesToAway; + testcases = testdata.NoSignal.infsupdec.overlap; for testcase = [testcases]' assert (isequaln (... - round (testcase.in{1}), ... + overlap (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.roundTiesToAway; + testcases = testdata.NoSignal.infsupdec.overlap; in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (round (in1), out)); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = {testcases.out}'; + assert (isequaln (overlap (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + 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 @@ -6574,34 +6242,45 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (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)))); + assert (isequaln (overlap (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/polyval.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/polyval.m +***** assert (isequal (polyval (infsupdec (3, "trv"), 0), infsupdec (3, "trv"))); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsupdec/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/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))); ***** 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.sub; for testcase = [testcases]' assert (isequaln (... - strictprecedes (testcase.in{1}, testcase.in{2}), ... + minus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.strictPrecedes; + testcases = testdata.NoSignal.infsupdec.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (strictprecedes (in1, in2), out)); + assert (isequaln (minus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.strictPrecedes; + testcases = testdata.NoSignal.infsupdec.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -6614,75 +6293,32 @@ 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/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/det.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/det.m -***** # from the documentation string -***** assert (det (infsupdec (magic (3))) == -360); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/absrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/absrev.m -***** # Empty interval -***** assert (isequal (absrev (infsupdec ()), infsupdec ())); -***** assert (isequal (absrev (infsupdec (0, 1), infsupdec ()), infsupdec ())); -***** assert (isequal (absrev (infsupdec (0, 1), infsupdec (7, 9)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (), infsupdec (0, 1)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (-2, -1)), infsupdec ())); -***** # Singleton intervals -***** assert (isequal (absrev (infsupdec (1)), infsupdec (-1, 1, "trv"))); -***** assert (isequal (absrev (infsupdec (0)), infsupdec (0, "trv"))); -***** assert (isequal (absrev (infsupdec (-1)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (realmax)), infsupdec (-realmax, realmax, "trv"))); -***** assert (isequal (absrev (infsupdec (realmin)), infsupdec (-realmin, realmin, "trv"))); -***** assert (isequal (absrev (infsupdec (-realmin)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (-realmax)), infsupdec ())); -***** # Bound intervals -***** assert (isequal (absrev (infsupdec (1, 2)), infsupdec (-2, 2, "trv"))); -***** assert (isequal (absrev (infsupdec (1, 2), infsupdec (0, 2)), infsupdec (1, 2, "trv"))); -***** assert (isequal (absrev (infsupdec (0, 1), infsupdec (-0.5, 2)), infsupdec (-0.5, 1, "trv"))); -***** assert (isequal (absrev (infsupdec (-1, 1)), infsupdec (-1, 1, "trv"))); -***** assert (isequal (absrev (infsupdec (-1, 0)), infsupdec (0, "trv"))); -***** # Unbound intervals -***** assert (isequal (absrev (infsupdec (0, inf)), infsupdec (-inf, inf, "trv"))); -***** assert (isequal (absrev (infsupdec (-inf, inf)), infsupdec (-inf, inf, "trv"))); -***** assert (isequal (absrev (infsupdec (-inf, 0)), infsupdec (0, "trv"))); -***** assert (isequal (absrev (infsupdec (1, inf), infsupdec (-inf, 0)), infsupdec (-inf, -1, "trv"))); -***** assert (isequal (absrev (infsupdec (-1, inf)), infsupdec (-inf, inf, "trv"))); -***** assert (isequal (absrev (infsupdec (-inf, -1)), infsupdec ())); -***** assert (isequal (absrev (infsupdec (-inf, 1)), infsupdec (-1, 1, "trv"))); + assert (isequaln (minus (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/coshrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/coshrev.m ***** # from the documentation string -***** assert (isequal (absrev (infsupdec (-2, 1)), infsupdec (-1, 1, "trv"))); +***** 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 with one argument - testcases = testdata.NoSignal.infsupdec.absRev; + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.coshRev; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}), ... + coshrev (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation with one argument - testcases = testdata.NoSignal.infsupdec.absRev; + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.coshRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1), out)); + assert (isequaln (coshrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.absRev; + testcases = testdata.NoSignal.infsupdec.coshRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -6693,25 +6329,25 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (absrev (in1), out)); + assert (isequaln (coshrev (in1), out)); ***** test - # Scalar evaluation with two arguments - testcases = testdata.NoSignal.infsupdec.absRevBin; + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.coshRevBin; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}, testcase.in{2}), ... + coshrev (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.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1, in2), out)); + assert (isequaln (coshrev (in1, in2), out)); ***** test - # N-dimensional array evaluation with two arguments - testcases = testdata.NoSignal.infsupdec.absRevBin; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -6724,49 +6360,35 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (absrev (in1, in2), out)); -31 tests, 31 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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/realsqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/realsqrt.m + assert (isequaln (coshrev (in1, in2), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsupdec/intersect.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/intersect.m ***** # from the documentation string -***** assert (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; @@ -6775,34 +6397,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 (realsqrt (in1), out)); + assert (isequaln (intersect (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/lt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/lt.m -***** assert (not (lt (infsupdec (1, 3), infsupdec (3)))); -***** assert (lt (infsupdec (1, 3), infsupdec (3.1))); +[inst/@infsupdec/mulrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/mulrev.m +***** # IEEE Std 1788-2015 mulRevToPair examples +***** test + [u, v] = mulrev (infsupdec (0), infsupdec (1, 2)); + assert (isempty (u) & isempty (v)); +***** test + [u, v] = mulrev (infsupdec (0), infsupdec (0, 1)); + assert (isentire (u) & isempty (v)); +***** test + [u, v] = mulrev (infsupdec (1), infsupdec (1, 2)); + assert (isequal (u, infsupdec (1, 2)) & isempty (v)); +***** test + [u, v] = mulrev (infsupdec (1, inf), infsupdec (1)); + assert (isequal (u, infsupdec (0, 1, "dac")) & isempty (v)); +***** test + [u, v] = mulrev (infsupdec (-1, 1), infsupdec (1, 2)); + assert (isequal (u, infsupdec (-inf, -1, "trv")) & isequal (v, infsupdec (1, inf, "trv"))); +***** test + [u, v] = mulrev (infsupdec (-inf, inf), infsupdec (1)); + assert (isequal (u, infsupdec (-inf, 0, "trv")) & isequal (v, infsupdec (0, inf, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.strictLess; + testcases = testdata.NoSignal.infsupdec.mulRevToPair1; for testcase = [testcases]' assert (isequaln (... - lt (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.strictLess; + testcases = testdata.NoSignal.infsupdec.mulRevToPair1; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (lt (in1, in2), out)); + assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.strictLess; + testcases = testdata.NoSignal.infsupdec.mulRevToPair1; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -6815,34 +6455,27 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (lt (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/fix.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/fix.m -***** # from the documentation string -***** assert (isequal (fix (infsupdec (2.5, 3.5)), infsupdec (2, 3, "def"))); -***** assert (isequal (fix (infsupdec (-0.5, 5)), infsupdec (0, 5, "def"))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (nthargout (1, 2, @mulrev, in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.trunc; + testcases = testdata.NoSignal.infsupdec.mulRevToPair2; for testcase = [testcases]' assert (isequaln (... - fix (testcase.in{1}), ... + nthargout (2, @mulrev, testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.trunc; + testcases = testdata.NoSignal.infsupdec.mulRevToPair2; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (fix (in1), out)); + assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.trunc; + testcases = testdata.NoSignal.infsupdec.mulRevToPair2; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -6851,34 +6484,27 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (fix (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/times.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/times.m -***** # from the documentation string -***** assert (isequal (infsupdec (2, 3) .* infsupdec (1, 2), infsupdec (2, 6))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (nthargout (2, @mulrev, in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mul; + testcases = testdata.NoSignal.infsupdec.mulRev; for testcase = [testcases]' assert (isequaln (... - times (testcase.in{1}, testcase.in{2}), ... + mulrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mul; + testcases = testdata.NoSignal.infsupdec.mulRev; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (times (in1, in2), out)); + assert (isequaln (mulrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mul; + testcases = testdata.NoSignal.infsupdec.mulRev; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -6891,38 +6517,29 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (times (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@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/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")); + assert (isequaln (mulrev (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.atan; + testcases = testdata.NoSignal.infsupdec.mulRevTen; for testcase = [testcases]' assert (isequaln (... - atan (testcase.in{1}), ... + mulrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.atan; + 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 (atan (in1), out)); + assert (isequaln (mulrev (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atan; + 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; @@ -6931,41 +6548,61 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); + in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atan (in1), out)); -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/minus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/minus.m + assert (isequaln (mulrev (in1, in2, in3), out)); +18 tests, 18 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 (infsupdec (2, 3) - infsupdec (1, 2), infsupdec (0, 2))); +***** 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.sub; + testcases = testdata.NoSignal.infsupdec.abs; for testcase = [testcases]' assert (isequaln (... - minus (testcase.in{1}, testcase.in{2}), ... + abs (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sub; + testcases = testdata.NoSignal.infsupdec.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (minus (in1, in2), out)); + assert (isequaln (abs (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.sub; + 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; @@ -6974,35 +6611,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 (minus (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/ceil.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/ceil.m + assert (isequaln (abs (in1), out)); +25 tests, 25 passed, 0 known failure, 0 skipped +[inst/@infsupdec/pown.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pown.m ***** # from the documentation string -***** assert (isequal (ceil (infsupdec (2.5, 3.5)), infsupdec (3, 4, "def"))); -***** assert (isequal (ceil (infsupdec (-.5, 5)), infsupdec (0, 5, "def"))); +***** 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.ceil; + testcases = testdata.NoSignal.infsupdec.sqr; for testcase = [testcases]' assert (isequaln (... - ceil (testcase.in{1}), ... + pown (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.ceil; + testcases = testdata.NoSignal.infsupdec.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (ceil (in1), out)); + assert (isequaln (pown (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.ceil; + testcases = testdata.NoSignal.infsupdec.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7013,52 +6649,27 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (ceil (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsupdec/subsref.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/subsref.m -***** assert (isequal (infsupdec (magic (3))([1, 2, 3]), infsupdec (magic (3)([1, 2, 3])))); -***** test - x = infsupdec (magic (3), magic (3) + 1); - assert (x(1) == infsupdec (8, 9)); -***** test - x = infsupdec (magic (3), magic (3) + 1); - assert (x(:, 2) == infsupdec ([1; 5; 9], [2; 6; 10])); -***** assert (infsupdec (3).inf, 3); -***** test - x = infsupdec (magic (3), magic (3) + 1); - assert (x.inf, magic (3)); -***** assert (isequal (reshape (infsupdec (1:16), 2, 2, 2, 2)(2, 7), infsupdec (14))) -***** assert (isequal (reshape (infsupdec (1:16), 2, 2, 2, 2)(:, 2, 2, 2), infsupdec ([15; 16]))) -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/sign.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/sign.m -***** # from the documentation string -***** assert (isequal (sign (infsupdec (2, 3)), infsupdec (1))); -***** assert (isequal (sign (infsupdec (0)), infsupdec (0, "dac"))); -***** assert (isequal (sign (infsupdec (0, 5)), infsupdec (0, 1, "def"))); -***** assert (isequal (sign (infsupdec (-17)), infsupdec (-1))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (pown (in1, 2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.sign; + testcases = testdata.NoSignal.infsupdec.pown; for testcase = [testcases]' assert (isequaln (... - sign (testcase.in{1}), ... + pown (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.sign; + testcases = testdata.NoSignal.infsupdec.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sign (in1), out)); + assert (isequaln (pown (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sign; + 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; @@ -7067,43 +6678,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 (sign (in1), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsupdec/nextout.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/nextout.m + assert (isequaln (pown (in1, in2), out)); +8 tests, 8 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 -***** test - x = nextout (infsupdec (1)); - assert (inf (x), 1 - eps / 2); - assert (sup (x), 1 + eps); - assert (decorationpart (x), {"trv"}); +***** assert (isequal (csch (infsupdec (1)), infsupdec ("[0x1.B3AB8A78B90Cp-1, 0x1.B3AB8A78B90C1p-1]_com"))); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/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)))); +[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.disjoint; + testcases = testdata.NoSignal.infsupdec.strictPrecedes; for testcase = [testcases]' assert (isequaln (... - disjoint (testcase.in{1}, testcase.in{2}), ... + strictprecedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.disjoint; + testcases = testdata.NoSignal.infsupdec.strictPrecedes; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (disjoint (in1, in2), out)); + assert (isequaln (strictprecedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.disjoint; + testcases = testdata.NoSignal.infsupdec.strictPrecedes; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -7116,33 +6724,111 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (disjoint (in1, in2), out)); + assert (isequaln (strictprecedes (in1, in2), out)); 5 tests, 5 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 (log2 (infsupdec (2)), infsupdec (1))); +[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/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/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.log2; + testcases = testdata.NoSignal.infsupdec.strictLess; for testcase = [testcases]' assert (isequaln (... - log2 (testcase.in{1}), ... + lt (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.log2; + testcases = testdata.NoSignal.infsupdec.strictLess; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (log2 (in1), out)); + assert (isequaln (lt (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsupdec.strictLess; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7151,334 +6837,76 @@ 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 (log2 (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsupdec/csch.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/csch.m + assert (isequaln (lt (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsupdec/transpose.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/transpose.m +***** assert (isequal (transpose (infsupdec (magic (3))), infsupdec (magic (3).'))); ***** # from the documentation string -***** assert (isequal (csch (infsupdec (1)), infsupdec ("[0x1.B3AB8A78B90Cp-1, 0x1.B3AB8A78B90C1p-1]_com"))); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsupdec/pow.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow.m +***** 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/pow10.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/pow10.m ***** # from the documentation string -***** assert (isequal (pow (infsupdec (5, 6), infsupdec (2, 3)), infsupdec (25, 216))); +***** 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.pow; + testcases = testdata.NoSignal.infsupdec.exp10; for testcase = [testcases]' assert (isequaln (... - pow (testcase.in{1}, testcase.in{2}), ... + pow10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsupdec.pow; + testcases = testdata.NoSignal.infsupdec.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pow (in1, in2), out)); + assert (isequaln (pow10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.pow; + 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 (pow (in1, in2), out)); -4 tests, 4 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/nai.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/nai.m -***** assert (isnai (nai ())); -***** assert (isnai (nai (2)), true (2)); -***** assert (isnai (nai (3, 4)), true (3, 4)); -***** assert (decorationpart (nai ()), {"ill"}); -***** assert (isnai (nai (2, 2, 2)), true (2, 2, 2)) -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/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/midrad.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/midrad.m -***** assert (isempty (midrad ())); -***** warning id=interval:UndefinedOperation - assert (isnai (midrad (0, -inf))); -***** warning id=interval:UndefinedOperation - assert (isnai (midrad (0, -.1))); -***** warning id=interval:UndefinedOperation - assert (isnai (midrad (0, "-.1"))); -***** warning id=interval:UndefinedOperation - assert (isnai (midrad (0, infsup("-.1")))); -***** assert (isequal (midrad ("pi"), infsupdec ("pi"))); -***** warning id=interval:ImplicitPromote - assert (isequal (midrad (infsup (2), 2), infsupdec (0, 4))); -***** assert (isequal (midrad (2, infsup (2)), infsupdec (0, 4))); -***** warning id=interval:ImplicitPromote - assert (isequal (midrad (infsup (2), infsup (2)), infsupdec (0, 4))); -***** assert (isequal (midrad (2, infsupdec (2)), infsupdec (0, 4))); -***** assert (isequal (midrad (infsupdec (2), 2), infsupdec (0, 4))); -***** warning id=interval:ImplicitPromote - assert (isequal (midrad (infsup (2), infsupdec (2)), infsupdec (0, 4))); -***** assert (isequal (midrad (infsupdec (2), infsup (2)), infsupdec (0, 4))); -***** assert (isequal (midrad (infsupdec (2), infsupdec (2)), infsupdec (0, 4))); -***** assert (isequal (midrad (1, magic (3)), infsupdec ([-7, 0, -5; -2, -4, -6; -3, -8, -1], [9, 2, 7; 4, 6, 8; 5, 10, 3]))); -***** assert (isequal (midrad (magic (3), 1), infsupdec ([7, 0, 5; 2, 4, 6; 3, 8, 1], [9, 2, 7; 4, 6, 8; 5, 10, 3]))); -***** # from the documentation string -***** assert (isequal (midrad (42, 3), infsupdec (39, 45))); -***** assert (isequal (midrad (0, inf), entire ())); -***** assert (isequal (midrad ("1.1", "0.1"), infsupdec (1 - eps, "1.2"))); -***** # N-dimensional arrays -***** assert (isequal (midrad (zeros (2, 2, 2), ones (2, 2, 2)), infsupdec (-ones (2, 2, 2), ones (2, 2, 2)))); -***** assert (isequal (midrad (zeros (2, 2, 2), 1), infsupdec (-ones (2, 2, 2), ones (2, 2, 2)))); -***** assert (isequal (midrad (0, ones (2, 2, 2)), infsupdec (-ones (2, 2, 2), ones (2, 2, 2)))); -***** test - [M, R] = midrad (infsupdec (-ones (2, 2, 2), ones (2, 2, 2))); - assert (M, zeros (2, 2, 2)); - assert (R, ones (2, 2, 2)); -23 tests, 23 passed, 0 known failure, 0 skipped -[inst/empty.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/empty.m -***** assert (inf (empty ()), inf); -***** assert (sup (empty ()), -inf); -***** assert (decorationpart (empty ()), {"trv"}); -***** assert (inf (empty (5)), inf (5)); -***** assert (sup (empty (5)), -inf (5)); -***** assert (strcmp (decorationpart (empty (5)), "trv"), true (5)); -***** assert (inf (empty (5, 6)), inf (5, 6)); -***** assert (sup (empty (5, 6)), -inf (5, 6)); -***** assert (strcmp (decorationpart (empty (5, 6)), "trv"), true (5, 6)); -***** assert (inf (empty (5, 6, 7)), inf (5, 6, 7)); -***** assert (sup (empty (5, 6, 7)), -inf (5, 6, 7)); -***** assert (strcmp (decorationpart (empty (5, 6, 7)), "trv"), true (5, 6, 7)); -12 tests, 12 passed, 0 known failure, 0 skipped -[inst/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]")); + assert (isequaln (pow10 (in1), out)); 4 tests, 4 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/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/uminus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/uminus.m +[inst/@infsupdec/cosh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cosh.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)))); +***** assert (isequal (cosh (infsupdec (1)), infsupdec ("[0x1.8B07551D9F55, 0x1.8B07551D9F551]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.neg; + testcases = testdata.NoSignal.infsupdec.cosh; for testcase = [testcases]' assert (isequaln (... - uminus (testcase.in{1}), ... + cosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.neg; + testcases = testdata.NoSignal.infsupdec.cosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (uminus (in1), out)); + assert (isequaln (cosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.neg; + testcases = testdata.NoSignal.infsup.cosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7489,37 +6917,32 @@ 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/tan.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tan.m + assert (isequaln (cosh (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsupdec/uminus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/uminus.m ***** # 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 (-infsupdec (2, 3), infsupdec (-3, -2))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsupdec.neg; for testcase = [testcases]' assert (isequaln (... - tan (testcase.in{1}), ... + uminus (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsupdec.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tan (in1), out)); + assert (isequaln (uminus (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tan; + testcases = testdata.NoSignal.infsup.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7530,80 +6953,32 @@ 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/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/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/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)); + assert (isequaln (uminus (in1), out)); +4 tests, 4 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 (setdiff (infsup (1, 3), infsup (2, 4)) == infsup (1, 2)); -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/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)))); +***** assert (isequal (exp (infsupdec (1)), infsupdec ("e"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + testcases = testdata.NoSignal.infsupdec.exp; for testcase = [testcases]' assert (isequaln (... - issingleton (testcase.in{1}), ... + exp (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + testcases = testdata.NoSignal.infsupdec.exp; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (issingleton (in1), out)); + assert (isequaln (exp (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + testcases = testdata.NoSignal.infsup.exp; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7614,24 +6989,83 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (issingleton (in1), out)); + assert (isequaln (exp (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 - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isSingleton; + x = infsupdec (reshape (1:24, 2, 3, 4)); + y = infsupdec (2.*ones (2, 3, 4)); + assert (isequal (dot (x, y, 3), infsupdec ([80, 96, 112; 88, 104, 120]))) +***** test + x = infsupdec (ones (2, 2, 2, 2)); + y = infsupdec (1); + assert (size (dot (x, y)), [1, 2, 2, 2]); + assert (size (dot (x, y, 1)), [1, 2, 2, 2]); + assert (size (dot (x, y, 2)), [2, 1, 2, 2]); + assert (size (dot (x, y, 3)), [2, 2, 1, 2]); + assert (size (dot (x, y, 4)), [2, 2, 2]); + assert (size (dot (x, y, 5)), [2, 2, 2, 2]); +***** # from the documentation string +***** assert (isequal (dot ([infsupdec(1), 2, 3], [infsupdec(2), 3, 4]), infsupdec (20))); +***** assert (isequal (dot (infsupdec ([realmax; realmin; realmax]), [1; -1; -1], 1), infsupdec (-realmin))); +29 tests, 29 passed, 0 known failure, 0 skipped +[inst/@infsupdec/cosrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/cosrev.m +***** # from the documentation string +***** assert (isequal (cosrev (0, infsupdec (6, 9)), infsupdec ("[0x1.F6A7A2955385Ep2, 0x1.F6A7A2955386p2]_trv"))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsupdec.cosRev; for testcase = [testcases]' assert (isequaln (... - issingleton (testcase.in{1}), ... + cosrev (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isSingleton; + # Vector evaluation + testcases = testdata.NoSignal.infsupdec.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (issingleton (in1), out)); + assert (isequaln (cosrev (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isSingleton; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7642,38 +7076,27 @@ 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/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")); + assert (isequaln (cosrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.asinh; + testcases = testdata.NoSignal.infsupdec.cosRevBin; for testcase = [testcases]' assert (isequaln (... - asinh (testcase.in{1}), ... + cosrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.asinh; + testcases = testdata.NoSignal.infsupdec.cosRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (asinh (in1), out)); + assert (isequaln (cosrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asinh; + testcases = testdata.NoSignal.infsupdec.cosRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -7682,115 +7105,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 (asinh (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/bisect.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/bisect.m -***** test - # from the documentation string - [a, b] = bisect (infsup (2, 32)); - assert (a == infsup (2, 8)); - assert (b == infsup (8, 32)); -***** test - [a, b] = bisect (infsup (-inf, inf)); - assert (a == infsup (-inf, 0)); - assert (b == infsup (0, inf)); -***** test - [a, b] = bisect (infsup (0)); - assert (a == 0); - assert (b == 0); -***** test - [a, b] = bisect (infsup ()); - assert (isempty (a)); - assert (isempty (b)); -***** test - [a, b] = bisect (infsup (0, inf)); - assert (a == infsup (0, pow2 (-25))); - assert (b == infsup (pow2 (-25), inf)); -***** test - [a, b] = bisect (infsup (-inf, 0)); - assert (a == infsup (-inf, -pow2 (-25))); - assert (b == infsup (-pow2 (-25), 0)); -***** # correct use of signed zeros -***** test - [a, b] = bisect (infsup (0)); - assert (signbit (inf (a))); - assert (signbit (inf (b))); - assert (not (signbit (sup (a)))); - assert (not (signbit (sup (b)))); + assert (isequaln (cosrev (in1, in2), out)); 7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/sumabs.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sumabs.m -***** # from the documentation string -***** assert (sumabs ([infsup(1), pow2(-1074), -1]) == infsup (2, 2+eps*2)); -***** assert (sumabs (infsup ([])) == 0); -***** # correct use of signed zeros -***** test - x = sumabs (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/gamma.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gamma.m -***** # from the documentation string -***** assert (gamma (infsup (1.5)) == "[0x1.C5BF891B4EF6Ap-1, 0x1.C5BF891B4EF6Bp-1]"); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/abs.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/abs.m -***** # Empty interval -***** assert (abs (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (abs (infsup (1)) == infsup (1)); -***** assert (abs (infsup (0)) == infsup (0)); -***** assert (abs (infsup (-1)) == infsup (1)); -***** assert (abs (infsup (realmax)) == infsup (realmax)); -***** assert (abs (infsup (realmin)) == infsup (realmin)); -***** assert (abs (infsup (-realmin)) == infsup (realmin)); -***** assert (abs (infsup (-realmax)) == infsup (realmax)); -***** # Bounded intervals -***** assert (abs (infsup (1, 2)) == infsup (1, 2)); -***** assert (abs (infsup (0, 1)) == infsup (0, 1)); -***** assert (abs (infsup (-1, 1)) == infsup (0, 1)); -***** assert (abs (infsup (-1, 0)) == infsup (0, 1)); -***** assert (abs (infsup (-2, -1)) == infsup (1, 2)); -***** # Unbounded intervals -***** assert (abs (infsup (0, inf)) == infsup (0, inf)); -***** assert (abs (infsup (-inf, inf)) == infsup (0, inf)); -***** assert (abs (infsup (-inf, 0)) == infsup (0, inf)); -***** assert (abs (infsup (1, inf)) == infsup (1, inf)); -***** assert (abs (infsup (-1, inf)) == infsup (0, inf)); -***** assert (abs (infsup (-inf, -1)) == infsup (1, inf)); -***** assert (abs (infsup (-inf, 1)) == infsup (0, inf)); +[inst/@infsupdec/atan.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsupdec/atan.m ***** # from the documentation string -***** assert (abs (infsup (2.5, 3.5)) == infsup (2.5, 3.5)); -***** assert (abs (infsup (-0.5, 5.5)) == infsup (0, 5.5)); -***** # correct use of signed zeros -***** assert (signbit (inf (abs (infsup (-1, 0))))); -***** test - x = abs (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (isequal (atan (infsupdec (1)), infsupdec ("[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-1]"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsupdec.atan; for testcase = [testcases]' assert (isequaln (... - abs (testcase.in{1}), ... + atan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsupdec.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (abs (in1), out)); + assert (isequaln (atan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.abs; + testcases = testdata.NoSignal.infsup.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7801,74 +7143,142 @@ 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/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/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/cancelminus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cancelminus.m + assert (isequaln (atan (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 (cancelminus (infsup (2, 3), infsup (1, 1.5)) == infsup (1, 1.5)); +***** assert (isequal (pow2 (infsupdec (5)), infsupdec (32))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cancelMinus; + testcases = testdata.NoSignal.infsupdec.exp2; for testcase = [testcases]' assert (isequaln (... - cancelminus (testcase.in{1}, testcase.in{2}), ... + pow2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cancelMinus; + testcases = testdata.NoSignal.infsupdec.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelminus (in1, in2), out)); + assert (isequaln (pow2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cancelMinus; + 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 (cancelminus (in1, in2), 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 +[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/@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/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/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/floor.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/floor.m ***** # Empty interval -***** assert (asin (infsup ()) == infsup ()); +***** 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 (asin (infsup (.5)) == "[0x1.0C152382D7365p-1, 0x1.0C152382D7366p-1]"); +***** 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 = asin (infsup (0)); + 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 @@ -7876,21 +7286,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsup.floor; for testcase = [testcases]' assert (isequaln (... - asin (testcase.in{1}), ... + floor (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsup.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (asin (in1), out)); + assert (isequaln (floor (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.asin; + testcases = testdata.NoSignal.infsup.floor; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7901,8 +7311,27 @@ 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 + assert (isequaln (floor (in1), out)); +23 tests, 23 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/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/disp.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/disp.m ***** assert (disp (infsup([])), ""); @@ -7947,41 +7376,30 @@ 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/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/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/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)); +[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.sqrRev; + testcases = testdata.NoSignal.infsup.isEmpty; for testcase = [testcases]' assert (isequaln (... - sqrrev (testcase.in{1}), ... + isempty (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqrRev; + testcases = testdata.NoSignal.infsup.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1), out)); + assert (isequaln (isempty (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrRev; + testcases = testdata.NoSignal.infsup.isEmpty; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -7992,27 +7410,50 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sqrrev (in1), out)); + assert (isequaln (isempty (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/tril.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tril.m +***** assert (tril (infsup (magic (10))) == tril (magic (10))); +***** assert (tril (infsup (magic (10)), 1) == tril (magic (10), 1)); +***** assert (tril (infsup (magic (10)), -1) == tril (magic (10), -1)); +***** assert (tril (infsup (magic (10)), 0, "pack") == tril (magic (10), 0, "pack")); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/sin.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sin.m +***** # from the documentation string +***** assert (sin (infsup (1)) == "[0x1.AED548F090CEEp-1, 0x1.AED548F090CEFp-1]"); +***** # correct use of signed zeros +***** test + x = sin (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** # test fix for bug #51283 +***** test + x = sin (infsup ([0, 0])); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sqrRevBin; + testcases = testdata.NoSignal.infsup.sin; for testcase = [testcases]' assert (isequaln (... - sqrrev (testcase.in{1}, testcase.in{2}), ... + sin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqrRevBin; + testcases = testdata.NoSignal.infsup.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sqrrev (in1, in2), out)); + assert (isequaln (sin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrRevBin; + testcases = testdata.NoSignal.infsup.sin; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -8021,45 +7462,79 @@ 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)); + assert (isequaln (sin (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/bisect.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/bisect.m +***** test + # from the documentation string + [a, b] = bisect (infsup (2, 32)); + assert (a == infsup (2, 8)); + assert (b == infsup (8, 32)); +***** test + [a, b] = bisect (infsup (-inf, inf)); + assert (a == infsup (-inf, 0)); + assert (b == infsup (0, inf)); +***** test + [a, b] = bisect (infsup (0)); + assert (a == 0); + assert (b == 0); +***** test + [a, b] = bisect (infsup ()); + assert (isempty (a)); + assert (isempty (b)); +***** test + [a, b] = bisect (infsup (0, inf)); + assert (a == infsup (0, pow2 (-25))); + assert (b == infsup (pow2 (-25), inf)); +***** test + [a, b] = bisect (infsup (-inf, 0)); + assert (a == infsup (-inf, -pow2 (-25))); + assert (b == infsup (-pow2 (-25), 0)); +***** # correct use of signed zeros +***** test + [a, b] = bisect (infsup (0)); + assert (signbit (inf (a))); + assert (signbit (inf (b))); + assert (not (signbit (sup (a)))); + assert (not (signbit (sup (b)))); 7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/factorial.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/factorial.m +[inst/@infsup/sumsq.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sumsq.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/newdec.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/newdec.m +***** assert (sumsq ([infsup(1), pow2(-1074), -1]) == infsup (2, 2+eps*2)); +***** assert (sumsq (infsup ([])) == 0); +***** # correct use of signed zeros +***** test + x = sumsq (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/csc.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/csc.m ***** # from the documentation string -***** assert (isequal (newdec (infsup (2, 3)), infsupdec (2, 3))); -***** assert (isequal (newdec (infsupdec (2, 3)), infsupdec (2, 3))); -***** assert (isequal (newdec (infsupdec (1, "trv")), infsupdec (1, "trv"))); +***** assert (csc (infsup (1)) == "[0x1.303AA9620B223, 0x1.303AA9620B224]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.newDec; + testcases = testdata.NoSignal.infsup.csc; for testcase = [testcases]' assert (isequaln (... - newdec (testcase.in{1}), ... + csc (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.newDec; + testcases = testdata.NoSignal.infsup.csc; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (newdec (in1), out)); + assert (isequaln (csc (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.newDec; + testcases = testdata.NoSignal.infsup.csc; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8070,550 +7545,38 @@ 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/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/infsup.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/infsup.m -***** # Empty intervals -***** test - x = infsup (); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("[]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("[ ]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("[\t]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("[empty]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("[EMPTY]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("[ empty ]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** test - x = infsup ("\t[\t Empty\t]\t"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** # Entire interval -***** test - x = infsup ("[,]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[entire]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[ENTIRE]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[ entire ]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup (" [Entire \t] "); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[-inf,+inf]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[-infinity, +infinity]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[-INF, +INFinitY]"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** # double boundaries + assert (isequaln (csc (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/log.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log.m +***** # from the documentation string +***** assert (log (infsup (2)) == "[0x1.62E42FEFA39EFp-1, 0x1.62E42FEFA39Fp-1]"); +***** # correct use of signed zeros ***** test - x = infsup (0); - assert (inf (x), 0); - assert (sup (x), 0); + x = log (infsup (1)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); -***** test - x = infsup (2, 3); - assert (inf (x), 2); - assert (sup (x), 3); -***** test - x = infsup (-inf, 0.1); - assert (inf (x), -inf); - assert (sup (x), 0.1); -***** test - x = infsup (-inf, +inf); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** # NaN values -***** warning id=interval:UndefinedOperation - x = infsup (nan); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup (nan, 2); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup (3, nan); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** # illegal numeric boundaries -***** warning id=interval:UndefinedOperation - x = infsup (+inf, -inf); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup (+inf, +inf); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup (-inf, -inf); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup (3, 2); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup (3, -inf); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** # double matrix -***** test - x = infsup (magic (4)); - assert (inf (x), magic (4)); - assert (sup (x), magic (4)); -***** test - x = infsup (magic (3), magic (3) + 1); - assert (inf (x), magic (3)); - assert (sup (x), magic (3) + 1); -***** warning id=interval:UndefinedOperation - x = infsup (nan (3)); - assert (inf (x), +inf (3)); - assert (sup (x), -inf (3)); -***** test - x = infsup (-inf (3), +inf (3)); - assert (inf (x), -inf (3)); - assert (sup (x), +inf (3)); -***** # decimal boundaries -***** test - x = infsup ("0.1"); - assert (inf (x), 0.1 - eps / 16); - assert (sup (x), 0.1); -***** test - x = infsup ("0.1e1"); - assert (inf (x), 1); - assert (sup (x), 1); -***** # hexadecimal boundaries -***** test - x = infsup ("0xff"); - assert (inf (x), 255); - assert (sup (x), 255); -***** test - x = infsup ("0xff.1"); - assert (inf (x), 255.0625); - assert (sup (x), 255.0625); -***** test - x = infsup ("0xff.1p-1"); - assert (inf (x), 127.53125); - assert (sup (x), 127.53125); -***** # named constants -***** test - x = infsup ("pi"); - assert (inf (x), pi); - assert (sup (x), pi + 2 * eps); -***** test - x = infsup ("e"); - assert (inf (x), e); - assert (sup (x), e + eps); -***** # uncertain form -***** test - x = infsup ("32?"); - assert (inf (x), 31.5); - assert (sup (x), 32.5); -***** test - x = infsup ("32?8"); - assert (inf (x), 24); - assert (sup (x), 40); -***** test - x = infsup ("32?u"); - assert (inf (x), 32); - assert (sup (x), 32.5); -***** test - x = infsup ("32?d"); - assert (inf (x), 31.5); - assert (sup (x), 32); -***** test - x = infsup ("32??"); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("32??d"); - assert (inf (x), -inf); - assert (sup (x), 32); -***** test - x = infsup ("32??u"); - assert (inf (x), 32); - assert (sup (x), +inf); -***** test - x = infsup ("32?e5"); - assert (inf (x), 3150000); - assert (sup (x), 3250000); -***** # rational form -***** test - x = infsup ("6/9"); - assert (inf (x), 2 / 3); - assert (sup (x), 2 / 3 + eps / 2); -***** test - x = infsup ("6e1/9"); - assert (inf (x), 20 / 3 - eps * 2); - assert (sup (x), 20 / 3); -***** test - x = infsup ("6/9e1"); - assert (inf (x), 2 / 30); - assert (sup (x), 2 / 30 + eps / 16); -***** test - x = infsup ("-6/9"); - assert (inf (x), -(2 / 3 + eps / 2)); - assert (sup (x), -2 / 3); -***** test - x = infsup ("6/-9"); - assert (inf (x), -(2 / 3 + eps / 2)); - assert (sup (x), -2 / 3); -***** test - x = infsup ("-6/-9"); - assert (inf (x), 2 / 3); - assert (sup (x), 2 / 3 + eps / 2); -***** test - x = infsup ("6.6/9.9"); - assert (inf (x), 2 / 3); - assert (sup (x), 2 / 3 + eps / 2); -***** # inf-sup interval literal -***** test - x = infsup ("[2, 3]"); - assert (inf (x), 2); - assert (sup (x), 3); -***** test - x = infsup ("[0.1]"); - assert (inf (x), 0.1 - eps / 16); - assert (sup (x), 0.1); -***** test - x = infsup ("[0xff, 0xff.1]"); - assert (inf (x), 255); - assert (sup (x), 255.0625); -***** test - x = infsup ("[e, pi]"); - assert (inf (x), e); - assert (sup (x), pi + 2 * eps); -***** test - x = infsup ("[6/9, 6e1/9]"); - assert (inf (x), 2 / 3); - assert (sup (x), 20 / 3); -***** # corner cases -***** test - x = infsup (","); - assert (inf (x), -inf); - assert (sup (x), +inf); -***** test - x = infsup ("[, 3]"); - assert (inf (x), -inf); - assert (sup (x), 3); -***** test - x = infsup ("", "3"); - assert (inf (x), -inf); - assert (sup (x), 3); -***** test - x = infsup ("[2, ]"); - assert (inf (x), 2); - assert (sup (x), inf); -***** test - x = infsup ("2", ""); - assert (inf (x), 2); - assert (sup (x), inf); -***** # decimal vector -***** test - x = infsup (["0.1"; "0.2"; "0.3"]); - assert (inf (x), [0.1 - eps / 16; 0.2 - eps / 8; 0.3]); - assert (sup (x), [0.1; 0.2; 0.3 + eps / 8]); -***** test - x = infsup ("0.1; 0.2; 0.3"); - assert (inf (x), [0.1 - eps / 16; 0.2 - eps / 8; 0.3]); - assert (sup (x), [0.1; 0.2; 0.3 + eps / 8]); -***** test - x = infsup ("0.1\n0.2\n0.3"); - assert (inf (x), [0.1 - eps / 16; 0.2 - eps / 8; 0.3]); - assert (sup (x), [0.1; 0.2; 0.3 + eps / 8]); -***** # cell array with mixed boundaries -***** test - x = infsup ({"0.1", 42; "e", "3.2/8"}, {"0xffp2", "42e1"; "pi", 2}); - assert (inf (x), [0.1 - eps / 16, 42; e, 0.4 - eps / 4]); - assert (sup (x), [1020, 420; pi + 2 * eps, 2]); -***** test - x = infsup ({"[2, 3]", "3/4", "[Entire]", "42?3", 1, "0xf"}); - assert (inf (x), [2, 0.75, -inf, 39, 1, 15]); - assert (sup (x), [3, 0.75, +inf, 45, 1, 15]); -***** # broadcasting -***** test - x = infsup (magic (3), 10); - assert (inf (x), magic (3)); - assert (sup (x), 10 .* ones (3)); -***** test - x = infsup (zeros (1, 20), ones (20, 1)); - assert (inf (x), zeros (20, 20)); - assert (sup (x), ones (20, 20)); -***** # nai -***** warning id=interval:UndefinedOperation - x = infsup ("[nai]"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup ("Ausgeschnitzel"); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** # interval literals vs. two arguments -***** warning id=interval:UndefinedOperation - x = infsup ("[empty]", 42); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** warning id=interval:UndefinedOperation - x = infsup ("0?", 42); - assert (inf (x), +inf); - assert (sup (x), -inf); -***** # extraction of single errors -***** warning id=interval:UndefinedOperation - x = infsup ("0 1 2 [xxx] 3 4"); - assert (inf (x), [0 1 2 +inf 3 4]); - assert (sup (x), [0 1 2 -inf 3 4]); -***** warning id=interval:UndefinedOperation - x = infsup ({1 2; 3 "[xxx]"}); - assert (inf (x), [1 2; 3 +inf]); - assert (sup (x), [1 2; 3 -inf]); -***** # complex values -***** warning id=interval:InvalidOperand - x = infsup ([1 2 3+i 4+0i]); - assert (inf (x), [1 2 +inf 4]); - assert (sup (x), [1 2 -inf 4]); -***** # inaccurate conversion -***** warning id=interval:PossiblyUndefinedOperation - x = infsup ("1.000000000000000000002", "1.000000000000000000001"); - assert (inf (x), 1); - assert (sup (x), 1 + eps); -***** test - n = uint64(2 ^ 53); - x = infsup (n, n + 1); - assert (inf (x), double (n)); - assert (sup (x), double (n + 2)); -***** test - n = uint64(2 ^ 53); - x = infsup ({n}, n + 1); - assert (inf (x), double (n)); - assert (sup (x), double (n + 2)); -***** test - n = uint64(2 ^ 53); - x = infsup (n + 1, n + 1); - assert (inf (x), double (n)); - assert (sup (x), double (n + 2)); -***** test - n = uint64(2 ^ 54); - x = infsup (n, n + 1); - assert (inf (x), double (n)); - assert (sup (x), double (n + 4)); -***** warning id=interval:PossiblyUndefinedOperation - n = uint64(2 ^ 54); - x = infsup (n + 1, n + 2); - assert (inf (x), double (n)); - assert (sup (x), double (n + 4)); -***** warning id=interval:PossiblyUndefinedOperation - x = infsup ("pi", "3.141592653589793"); - assert (inf (x), pi); - assert (sup (x), pi); -***** warning id=interval:PossiblyUndefinedOperation - x = infsup ("pi", "3.1415926535897932"); - assert (inf (x), pi); - assert (sup (x), pi + 2 * eps); -***** # isexact flag -***** test - [~, isexact] = infsup (); - assert (isexact); -***** test - [~, isexact] = infsup (0); - assert (isexact); -***** test - [~, isexact] = infsup ("1 2 3"); - assert (isexact, true); -***** test - [~, isexact] = infsup ("1 2 3.1"); - assert (isexact, false); -***** warning - [~, isexact] = infsup ("[nai]"); - assert (not (isexact)); -***** # overflow flag -***** test - [~, ~, overflow] = infsup (); - assert (not (overflow)); -***** test - [~, ~, overflow] = infsup (0); - assert (not (overflow)); -***** test - [~, ~, overflow] = infsup ([1 2 3]); - assert (overflow, false (1, 3)); -***** warning - [~, ~, overflow] = infsup ("[nai]"); - assert (not (overflow)); -***** test - [~, ~, overflow] = infsup ("1e3000"); - assert (overflow); -***** test - [~, ~, overflow] = infsup ("[1, inf]"); - assert (not (overflow)); -***** # isnai flag -***** test - [~, ~, ~, isnai] = infsup (); - assert (not (isnai)); -***** test - [~, ~, ~, isnai] = infsup (0); - assert (not (isnai)); -***** test - [~, ~, ~, isnai] = infsup ([1 2 3]); - assert (isnai, false (1, 3)); -***** warning - [~, ~, ~, isnai] = infsup ("[nai]"); - assert (isnai); -***** warning - [~, ~, ~, isnai] = infsup ("xxx"); - assert (isnai); -***** warning - [~, ~, ~, isnai] = infsup ("1 2 xxx 4"); - assert (isnai, [false, false, true, false]); -***** warning - [~, ~, ~, isnai] = infsup ("[-inf, inf] [inf, inf]"); - assert (isnai, [false, true]); -***** # N-dimensional arrays -***** test - x = infsup (zeros (2, 2, 2)); - assert (inf (x), zeros (2, 2, 2)); - assert (sup (x), zeros (2, 2, 2)); -***** test - x = infsup (zeros (2, 2, 2), ones (2, 2, 2)); - assert (inf (x), zeros (2, 2, 2)); - assert (sup (x), ones (2, 2, 2)); -***** test - x = infsup (zeros (2, 1, 2, 1, 2, 1), ones (1, 3, 1, 3, 1, 3)); - assert (inf (x), zeros (2, 3, 2, 3, 2, 3)); - assert (sup (x), ones (2, 3, 2, 3, 2, 3)); -***** test - c1 = reshape ({1, 2, 3, 4, 5, 6, 7, 8}, 2, 2, 2); - c2 = reshape ({2, 3, 4, 5, 6, 7, 8, 9}, 2, 2, 2); - x = infsup (c1, c2); - assert (inf (x), reshape (1:8, 2, 2, 2)); - assert (sup (x), reshape (2:9, 2, 2, 2)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.("b-numsToInterval"); + testcases = testdata.NoSignal.infsup.log; for testcase = [testcases]' assert (isequaln (... - infsup (testcase.in{1}, testcase.in{2}), ... + log (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.("b-numsToInterval"); + testcases = testdata.NoSignal.infsup.log; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (infsup (in1, in2), out)); + assert (isequaln (log (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.("b-numsToInterval"); + 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; @@ -8622,28 +7585,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 (infsup (in1, in2), out)); + assert (isequaln (log (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/log10.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log10.m +***** # from the documentation string +***** assert (log10 (infsup (2)) == "[0x1.34413509F79FEp-2, 0x1.34413509F79FFp-2]"); +***** # correct use of signed zeros +***** test + x = log10 (infsup (1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.("b-textToInterval"); + testcases = testdata.NoSignal.infsup.log10; for testcase = [testcases]' assert (isequaln (... - infsup (testcase.in{1}), ... + log10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.("b-textToInterval"); - in1 = vertcat (testcases.in); + testcases = testdata.NoSignal.infsup.log10; + in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (infsup (in1), out)); + assert (isequaln (log10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.("b-numsToInterval"); + testcases = testdata.NoSignal.infsup.log10; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -8652,64 +7626,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 (infsup (in1, in2), out)); -***** warning - testcases = testdata.PossiblyUndefinedOperation.infsup.("b-textToInterval"); - for testcase = [testcases]' - lastwarn ("", ""); - assert (isequaln (... - infsup (testcase.in{1}), ... - testcase.out)); - assert (nthargout (2, @lastwarn), "interval:PossiblyUndefinedOperation"); - endfor -***** warning - testcases = testdata.UndefinedOperation.infsup.("b-textToInterval"); - for testcase = [testcases]' - lastwarn ("", ""); - assert (isequaln (... - infsup (testcase.in{1}), ... - testcase.out)); - assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); - endfor -***** warning - testcases = testdata.UndefinedOperation.infsup.("b-numsToInterval"); - for testcase = [testcases]' - lastwarn ("", ""); - assert (isequaln (... - infsup (testcase.in{1}, testcase.in{2}), ... - testcase.out)); - assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); - endfor -117 tests, 117 passed, 0 known failure, 0 skipped -[inst/@infsup/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 (log10 (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/sec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sec.m +***** # from the documentation string +***** assert (sec (infsup (1)) == "[0x1.D9CF0F125CC29, 0x1.D9CF0F125CC2A]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.isEntire; + testcases = testdata.NoSignal.infsup.sec; for testcase = [testcases]' assert (isequaln (... - isentire (testcase.in{1}), ... + sec (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isEntire; + testcases = testdata.NoSignal.infsup.sec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (isentire (in1), out)); + assert (isequaln (sec (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEntire; + testcases = testdata.NoSignal.infsup.sec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8720,61 +7663,98 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (isentire (in1), out)); -***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isEntire; - for testcase = [testcases]' - assert (isequaln (... - isentire (testcase.in{1}), ... - testcase.out)); - endfor -***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isEntire; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (isentire (in1), out)); + assert (isequaln (sec (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/smig.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/smig.m +***** assert (smig (infsup (-1, 2)), 0); +***** assert (smig (infsup (-42, -23)), -23); +***** assert (smig (infsup (23, 42)), 23); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/plot3.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plot3.m +***** # this test is rather pointless ***** test - # 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/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]"); + 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/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/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/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.coth; + testcases = testdata.NoSignal.infsup.isMember; for testcase = [testcases]' assert (isequaln (... - coth (testcase.in{1}), ... + ismember (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.coth; + testcases = testdata.NoSignal.infsup.isMember; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (coth (in1), out)); + assert (isequaln (ismember (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.coth; + 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; @@ -8783,119 +7763,27 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (coth (in1), out)); -4 tests, 4 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/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/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/gammaln.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gammaln.m -***** assert (gammaln (infsup (-inf, inf)) == "[-0x1.F19B9BCC38A42p-4, +Inf]"); -***** # from the documentation string -***** assert (gammaln (infsup (1.5)) == "[-0x1.EEB95B094C192p-4, -0x1.EEB95B094C191p-4]"); -***** # correct use of signed zeros -***** test - x = gammaln (infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = gammaln (infsup (2)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/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)))); -***** 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")); + assert (isequaln (ismember (in1, in2), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.intersection; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isMember; for testcase = [testcases]' assert (isequaln (... - intersect (testcase.in{1}, testcase.in{2}), ... + ismember (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.intersection; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.isMember; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (intersect (in1, in2), out)); + assert (isequaln (ismember (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.intersection; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.isMember; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -8908,35 +7796,33 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (intersect (in1, in2), out)); -25 tests, 25 passed, 0 known failure, 0 skipped -[inst/@infsup/min.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/min.m + assert (isequaln (ismember (in1, in2), out)); +11 tests, 11 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 (min (infsup (2, 3), infsup (1, 2)) == infsup (1, 2)); +***** assert (cos (infsup (1)) == "[0x1.14A280FB5068Bp-1, 0x1.14A280FB5068Cp-1]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.min; + testcases = testdata.NoSignal.infsup.cos; for testcase = [testcases]' assert (isequaln (... - min (testcase.in{1}, testcase.in{2}), ... + cos (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.min; + testcases = testdata.NoSignal.infsup.cos; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (min (in1, in2), out)); + assert (isequaln (cos (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.min; + 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; @@ -8945,23 +7831,16 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (min (in1, in2), out)); + assert (isequaln (cos (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/sdist.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sdist.m -***** # from the documentation string -***** assert (sdist (infsup (0, 6), infsup (7, 20)), -1); -***** assert (sdist (infsup (3, 5), infsup (0, 1)), 2); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/log1p.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log1p.m +[inst/@infsup/tan.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tan.m ***** # from the documentation string -***** assert (log1p (infsup (eps)) == "[0x1.FFFFFFFFFFFFFp-53, 0x1p-52]"); +***** assert (tan (infsup (1)) == "[0x1.8EB245CBEE3A5, 0x1.8EB245CBEE3A6]"); ***** # correct use of signed zeros ***** test - x = log1p (infsup (0)); + x = tan (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -8969,21 +7848,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.logp1; + testcases = testdata.NoSignal.infsup.tan; for testcase = [testcases]' assert (isequaln (... - log1p (testcase.in{1}), ... + tan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.logp1; + testcases = testdata.NoSignal.infsup.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log1p (in1), out)); + assert (isequaln (tan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.logp1; + testcases = testdata.NoSignal.infsup.tan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -8994,37 +7873,32 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (log1p (in1), out)); + assert (isequaln (tan (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/exp.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/exp.m +[inst/@infsup/sinrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinrev.m ***** # from the documentation string -***** assert (exp (infsup (1)) == infsup ("e")); -***** # correct use of signed zeros -***** test - x = exp (infsup (-realmax)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (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.exp; + testcases = testdata.NoSignal.infsup.sinRev; for testcase = [testcases]' assert (isequaln (... - exp (testcase.in{1}), ... + sinrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsup.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (exp (in1), out)); + assert (isequaln (sinrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp; + testcases = testdata.NoSignal.infsup.sinRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9035,37 +7909,27 @@ 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/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")); + assert (isequaln (sinrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.rad; + testcases = testdata.NoSignal.infsup.sinRevBin; for testcase = [testcases]' assert (isequaln (... - rad (testcase.in{1}), ... + sinrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.rad; + testcases = testdata.NoSignal.infsup.sinRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (rad (in1), out)); + assert (isequaln (sinrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.rad; + 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; @@ -9074,25 +7938,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 (sinrev (in1, in2), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/mig.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mig.m +***** assert (mig (infsup (-1, 2)), 0); +***** assert (mig (infsup (-42, -23)), 23); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.rad; + # Scalar evaluation + testcases = testdata.NoSignal.infsup.mig; for testcase = [testcases]' assert (isequaln (... - rad (testcase.in{1}), ... + mig (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.rad; + # Vector evaluation + testcases = testdata.NoSignal.infsup.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (rad (in1), out)); + assert (isequaln (mig (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.rad; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9103,37 +7976,24 @@ 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/log.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log.m -***** # from the documentation string -***** assert (log (infsup (2)) == "[0x1.62E42FEFA39EFp-1, 0x1.62E42FEFA39Fp-1]"); -***** # correct use of signed zeros -***** test - x = log (infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (mig (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.log; + testcases = testdata.NoSignal.infsupdec.mig; for testcase = [testcases]' assert (isequaln (... - log (testcase.in{1}), ... + mig (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.log; + testcases = testdata.NoSignal.infsupdec.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log (in1), out)); + assert (isequaln (mig (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mig; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9144,35 +8004,67 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (log (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/max.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/max.m + assert (isequaln (mig (in1), out)); +8 tests, 8 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/sqrrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sqrrev.m ***** # from the documentation string -***** assert (max (infsup (2, 3), infsup (1, 2)) == infsup (2, 3)); +***** assert (sqrrev (infsup (-2, 1)) == infsup (-1, 1)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.max; + testcases = testdata.NoSignal.infsup.sqrRev; for testcase = [testcases]' assert (isequaln (... - max (testcase.in{1}, testcase.in{2}), ... + sqrrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.max; + testcases = testdata.NoSignal.infsup.sqrRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (max (in1, in2), out)); + assert (isequaln (sqrrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.max; + testcases = testdata.NoSignal.infsup.sqrRev; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -9181,54 +8073,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 (max (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/ei.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ei.m -***** assert (isempty (ei (infsup (0)))); -***** assert (isempty (ei (infsup (-inf, -2)))); -***** assert (isentire (ei (infsup (0, inf)))); -***** # from the documentation string -***** assert (ei (infsup (1)) == "[0x1.E52670F350D08, 0x1.E52670F350D09]"); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/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/plus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plus.m -***** # from the documentation string -***** assert (infsup (2, 3) + infsup (1, 2) == infsup (3, 5)); -***** # correct use of signed zeros -***** test - x = plus (infsup (0), infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (sqrrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.add; + testcases = testdata.NoSignal.infsup.sqrRevBin; for testcase = [testcases]' assert (isequaln (... - plus (testcase.in{1}, testcase.in{2}), ... + sqrrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.add; + testcases = testdata.NoSignal.infsup.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (plus (in1, in2), out)); + assert (isequaln (sqrrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.add; + testcases = testdata.NoSignal.infsup.sqrRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -9241,8 +8105,8 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (plus (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped + assert (isequaln (sqrrev (in1, in2), out)); +7 tests, 7 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 ()); @@ -9312,34 +8176,76 @@ ***** 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/rdivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rdivide.m +[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 (1, 3)); -***** assert (1 ./ infsup (1, 4) == infsup (0.25, 1)); +***** 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.div; + testcases = testdata.NoSignal.infsup.log2; for testcase = [testcases]' assert (isequaln (... - rdivide (testcase.in{1}, testcase.in{2}), ... + log2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.div; + testcases = testdata.NoSignal.infsup.log2; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (log2 (in1), out)); +***** test + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.log2; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + # Reshape data + i = -1; + do + i = i + 1; + testsize = factor (numel (in1) + i); + until (numel (testsize) > 2) + in1 = reshape ([in1; in1(1:i)], testsize); + out = reshape ([out; out(1:i)], testsize); + assert (isequaln (log2 (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/powrev1.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/powrev1.m +***** # from the documentation string +***** assert (powrev1 (infsup (2, 5), infsup (3, 6)) == "[0x1.3EE8390D43955, 0x1.3988E1409212Fp1]"); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.powRev1; + for testcase = [testcases]' + assert (isequaln (... + powrev1 (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.powRev1; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (rdivide (in1, in2), out)); + assert (isequaln (powrev1 (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.div; + testcases = testdata.NoSignal.infsup.powRev1; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -9349,26 +8255,100 @@ 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 (rdivide (in1, in2), out)); + assert (isequaln (powrev1 (in1, in2, in3), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/mag.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mag.m +***** assert (mag (infsup (-3, 4)), 4); +***** assert (mag (infsup (-4, 3)), 4); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.recip; + testcases = testdata.NoSignal.infsup.mag; for testcase = [testcases]' assert (isequaln (... - rdivide (1, testcase.in{1}), ... + mag (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.recip; + testcases = testdata.NoSignal.infsup.mag; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (rdivide (1, in1), out)); + assert (isequaln (mag (in1), out)); + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.mag; + 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 (mag (in1), out)); +***** test + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.mag; + for testcase = [testcases]' + assert (isequaln (... + mag (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.mag; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (mag (in1), out)); +***** test + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.mag; + 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 (mag (in1), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/max.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/max.m +***** # from the documentation string +***** assert (max (infsup (2, 3), infsup (1, 2)) == infsup (2, 3)); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.max; + for testcase = [testcases]' + assert (isequaln (... + max (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.max; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + assert (isequaln (max (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.recip; + testcases = testdata.NoSignal.infsup.max; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -9377,109 +8357,107 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (rdivide (1, in1), out)); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/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"); + assert (isequaln (max (in1, in2), out)); +4 tests, 4 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 - 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 + x = plus (infsup (0), infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test - 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 + # Scalar evaluation + testcases = testdata.NoSignal.infsup.add; + for testcase = [testcases]' + assert (isequaln (... + plus (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor ***** 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 + # Vector evaluation + testcases = testdata.NoSignal.infsup.add; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + assert (isequaln (plus (in1, in2), out)); ***** 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 + # N-dimensional array evaluation + 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; + 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 (plus (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/realsqrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/realsqrt.m +***** # from the documentation string +***** assert (realsqrt (infsup (-6, 4)) == infsup (0, 2)); +***** # correct use of signed zeros ***** 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 + x = realsqrt (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = realsqrt (infsup (0, 2)); + assert (signbit (inf (x))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.sqrt; + for testcase = [testcases]' + assert (isequaln (... + realsqrt (testcase.in{1}), ... + testcase.out)); + endfor +***** test + # Vector evaluation + testcases = testdata.NoSignal.infsup.sqrt; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (realsqrt (in1), out)); +***** test + # 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/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/acos.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/acos.m ***** # Empty interval @@ -9538,39 +8516,98 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (acos (in1), out)); 18 tests, 18 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/ctranspose.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ctranspose.m -***** assert (ctranspose (infsup (magic (3))) == infsup (magic (3)')); +[inst/@infsup/sumabs.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sumabs.m +***** # from the documentation string +***** assert (sumabs ([infsup(1), pow2(-1074), -1]) == infsup (2, 2+eps*2)); +***** assert (sumabs (infsup ([])) == 0); +***** # correct use of signed zeros +***** test + x = sumabs (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/@infsup/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/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/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/pown.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pown.m +[inst/@infsup/factorial.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/factorial.m ***** # from the documentation string -***** assert (pown (infsup (5, 6), 2) == infsup (25, 36)); -***** assert (pown (infsup (-2, 1), 2) == infsup (0, 4)); +***** 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/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.sqr; + # Scalar evaluation with one argument + testcases = testdata.NoSignal.infsup.absRev; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, 2), ... + absrev (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.sqr; + # Vector evaluation with one argument + testcases = testdata.NoSignal.infsup.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pown (in1, 2), out)); + assert (isequaln (absrev (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqr; + # N-dimensional array evaluation with one argument + testcases = testdata.NoSignal.infsup.absRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9581,25 +8618,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 (absrev (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.pown; + # Scalar evaluation with two arguments + testcases = testdata.NoSignal.infsup.absRevBin; for testcase = [testcases]' assert (isequaln (... - pown (testcase.in{1}, testcase.in{2}), ... + absrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.pown; + # 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 (pown (in1, in2), out)); + assert (isequaln (absrev (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pown; + # 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); @@ -9612,96 +8649,37 @@ 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/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 + assert (isequaln (absrev (in1, in2), out)); +31 tests, 31 passed, 0 known failure, 0 skipped +[inst/@infsup/sdist.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sdist.m +***** # from the documentation string +***** assert (sdist (infsup (0, 6), infsup (7, 20)), -1); +***** assert (sdist (infsup (3, 5), infsup (0, 1)), 2); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/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/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 - 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/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 + [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/iscolumn.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/iscolumn.m ***** assert (not (iscolumn (infsup ([])))); @@ -9710,31 +8688,33 @@ ***** assert (iscolumn (infsup (zeros (2, 1)))); ***** assert (not (iscolumn (infsup (zeros (5))))); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/cot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cot.m +[inst/@infsup/union.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/union.m ***** # from the documentation string -***** assert (cot (infsup (1)) == "[0x1.48C05D04E1CFDp-1, 0x1.48C05D04E1CFEp-1]"); +***** 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.cot; + testcases = testdata.NoSignal.infsup.convexHull; for testcase = [testcases]' assert (isequaln (... - cot (testcase.in{1}), ... + union (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cot; + testcases = testdata.NoSignal.infsup.convexHull; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cot (in1), out)); + assert (isequaln (union (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cot; + 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; @@ -9743,35 +8723,50 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cot (in1), out)); + assert (isequaln (union (in1, in2), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/mid.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mid.m -***** assert (mid (infsup (-inf, inf)), 0); +[inst/@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/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/times.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/times.m ***** # from the documentation string -***** assert (mid (infsup (2.5, 3.5)), 3); +***** 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.mid; + testcases = testdata.NoSignal.infsup.mul; for testcase = [testcases]' assert (isequaln (... - mid (testcase.in{1}), ... + times (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mid; + testcases = testdata.NoSignal.infsup.mul; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (mid (in1), out)); + assert (isequaln (times (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mid; + 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; @@ -9780,26 +8775,42 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mid (in1), out)); + assert (isequaln (times (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/hypot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/hypot.m +***** # from the documentation string +***** assert (hypot (infsup (2, 3), infsup (1, 2)) == "[0x1.1E3779B97F4A7p1, 0x1.CD82B446159F4p1]"); +***** # correct use of signed zeros ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.mid; + x = hypot (infsup (0), infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.hypot; for testcase = [testcases]' assert (isequaln (... - mid (testcase.in{1}), ... + hypot (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.mid; + # Vector evaluation + testcases = testdata.NoSignal.infsup.hypot; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (mid (in1), out)); + assert (isequaln (hypot (in1, in2), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mid; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.hypot; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -9808,33 +8819,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 (mid (in1), out)); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/sinrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sinrev.m + assert (isequaln (hypot (in1, in2), out)); +5 tests, 5 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 (sinrev (infsup (-1), infsup (0, 6)) == "[0x1.2D97C7F3321D2p2, 0x1.2D97C7F3321D3p2]"); +***** 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.sinRev; + testcases = testdata.NoSignal.infsup.atanh; for testcase = [testcases]' assert (isequaln (... - sinrev (testcase.in{1}), ... + atanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sinRev; + testcases = testdata.NoSignal.infsup.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sinrev (in1), out)); + assert (isequaln (atanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sinRev; + testcases = testdata.NoSignal.infsup.atanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9845,25 +8862,55 @@ 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 (atanh (in1), out)); +5 tests, 5 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/nthroot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/nthroot.m +***** assert (nthroot (infsup (25, 36), 2) == infsup (5, 6)); +***** # correct use of signed zeros +***** test + x = nthroot (infsup (0), 2); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = nthroot (infsup (0, inf), -2); + assert (signbit (inf (x))); +***** test + x = nthroot (infsup (0, inf), -3); + assert (signbit (inf (x))); +***** assert (nthroot (infsup (-1, 1), 2) == infsup (0, 1)); +***** assert (nthroot (infsup (-1, 1), 3) == infsup (-1, 1)); +***** assert (nthroot (infsup (-1, 1), -2) == infsup (1, inf)); +***** assert (nthroot (infsup (-1, 1), -3) == infsup (-inf, inf)); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sinRevBin; + testcases = testdata.NoSignal.infsup.rootn; for testcase = [testcases]' assert (isequaln (... - sinrev (testcase.in{1}, testcase.in{2}), ... + nthroot (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sinRevBin; + testcases = testdata.NoSignal.infsup.rootn; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sinrev (in1, in2), out)); + assert (isequaln (nthroot (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sinRevBin; + testcases = testdata.NoSignal.infsup.rootn; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -9873,18 +8920,24 @@ 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 (sinrev (in1, in2), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/cbrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cbrt.m + assert (isequaln (nthroot (in1, in2), out)); +11 tests, 11 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 (cbrt (infsup (-27, 27)) == infsup (-3, 3)); +***** assert (asinh (infsup (1)) == "[0x1.C34366179D426p-1, 0x1.C34366179D427p-1]"); ***** # correct use of signed zeros ***** test - x = cbrt (infsup (0)); + x = asinh (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -9892,21 +8945,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cbrt; + testcases = testdata.NoSignal.infsup.asinh; for testcase = [testcases]' assert (isequaln (... - cbrt (testcase.in{1}), ... + asinh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cbrt; + testcases = testdata.NoSignal.infsup.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cbrt (in1), out)); + assert (isequaln (asinh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cbrt; + testcases = testdata.NoSignal.infsup.asinh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9917,53 +8970,37 @@ 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 (asinh (in1), out)); 5 tests, 5 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/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/cbrt.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cbrt.m +***** # from the documentation string +***** assert (cbrt (infsup (-27, 27)) == infsup (-3, 3)); +***** # correct use of signed zeros +***** test + x = cbrt (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + testcases = testdata.NoSignal.infsup.cbrt; for testcase = [testcases]' assert (isequaln (... - iscommoninterval (testcase.in{1}), ... + cbrt (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + testcases = testdata.NoSignal.infsup.cbrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (iscommoninterval (in1), out)); + assert (isequaln (cbrt (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + testcases = testdata.NoSignal.infsup.cbrt; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -9974,24 +9011,39 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (iscommoninterval (in1), out)); + assert (isequaln (cbrt (in1), out)); +5 tests, 5 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 - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isCommonInterval; + x = sign (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.sign; for testcase = [testcases]' assert (isequaln (... - iscommoninterval (testcase.in{1}), ... + sign (testcase.in{1}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isCommonInterval; + # Vector evaluation + testcases = testdata.NoSignal.infsup.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (iscommoninterval (in1), out)); + assert (isequaln (sign (in1), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isCommonInterval; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.sign; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10002,39 +9054,53 @@ 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/power.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/power.m -***** # from the documentation string -***** assert (infsup (-5, 6) .^ infsup (2, 3) == infsup (-125, 216)); -***** assert (infsup (-10, 0) .^ infsup (0, 1:8) == infsup ([-1e1, -1e1, -1e3, -1e3, -1e5, -1e5, -1e7, -1e7], [1e0, 1e2, 1e2, 1e4, 1e4, 1e6, 1e6, 1e8])); -***** # correct use of signed zeros -***** test - x = power (infsup (0), infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + assert (isequaln (sign (in1), out)); +7 tests, 7 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.sqr; + testcases = testdata.NoSignal.infsup.equal; for testcase = [testcases]' assert (isequaln (... - power (testcase.in{1}, 2), ... + eq (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqr; + testcases = testdata.NoSignal.infsup.equal; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (power (in1, 2), out)); + assert (isequaln (eq (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqr; + # 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; @@ -10043,21 +9109,10 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (power (in1, 2), out)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/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/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 + assert (isequaln (eq (in1, in2), out)); +7 tests, 7 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 @@ -10099,18 +9154,37 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (sinh (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/sin.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sin.m -***** # from the documentation string -***** assert (sin (infsup (1)) == "[0x1.AED548F090CEEp-1, 0x1.AED548F090CEFp-1]"); +[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 = sin (infsup (0)); + x = round (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); -***** # test fix for bug #51283 ***** test - x = sin (infsup ([0, 0])); + x = round (infsup (-0.25, 0.25)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -10118,21 +9192,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsup.roundTiesToAway; for testcase = [testcases]' assert (isequaln (... - sin (testcase.in{1}), ... + round (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsup.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sin (in1), out)); + assert (isequaln (round (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sin; + testcases = testdata.NoSignal.infsup.roundTiesToAway; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10143,33 +9217,32 @@ 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/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 (isequaln (round (in1), out)); +23 tests, 23 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.precedes; + testcases = testdata.NoSignal.infsup.less; for testcase = [testcases]' assert (isequaln (... - precedes (testcase.in{1}, testcase.in{2}), ... + le (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.precedes; + testcases = testdata.NoSignal.infsup.less; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (precedes (in1, in2), out)); + assert (isequaln (le (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.precedes; + testcases = testdata.NoSignal.infsup.less; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -10182,69 +9255,32 @@ 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/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/inv.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/inv.m -***** # from the wiki -***** test - A = infsup ([1, 2, 3; 4, 0, 0; 0, 0, 1]); - A (2, 3) = "[0, 6]"; - B = inv (A); - assert (inf (B) == [0, .25, -1.5; .5, -.125, -1.5; 0, 0, 1]); - assert (sup (B) == [0, .25, 0; .5, -.125, -.75; 0, 0, 1]); -***** # from the documentation string -***** assert (inv (infsup ([2, 1, 1; 0, 1, 0; 1, 0, 0])) == [0, 0, 1; 0, 1, 0; 1, -1, -2]); -***** assert (inv (infsup ([1, 2, 3; 4, 0, 6; 0, 0, 1])) == [0, .25, -1.5; .5, -.125, -.75; 0, 0, 1]); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/@infsup/psi.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/psi.m -***** assert (isempty (psi (infsup (0)))); -***** assert (isempty (psi (infsup (-1)))); -***** assert (isempty (psi (infsup (-2)))); -***** assert (isempty (psi (infsup (-3)))); -***** assert (isentire (psi (infsup (-inf, -42.23)))); -***** assert (isentire (psi (infsup (0, inf)))); -***** assert (isentire (psi (infsup (-1, 0)))); -***** assert (isentire (psi (infsup (-2, -1)))); -***** assert (isentire (psi (infsup (-eps, eps)))); -***** assert (isentire (psi (infsup (-1-eps, -1+eps)))); -***** assert (isentire (psi (infsup (-4.1, -3.9)))); -***** # from the documentation string -***** assert (psi (infsup (1)) == "[-0x1.2788CFC6FB619p-1, -0x1.2788CFC6FB618p-1]"); -12 tests, 12 passed, 0 known failure, 0 skipped -[inst/@infsup/csc.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/csc.m + assert (isequaln (le (in1, in2), out)); +4 tests, 4 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 (csc (infsup (1)) == "[0x1.303AA9620B223, 0x1.303AA9620B224]"); +***** 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.csc; + testcases = testdata.NoSignal.infsup.pos; for testcase = [testcases]' assert (isequaln (... - csc (testcase.in{1}), ... + uplus (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.csc; + testcases = testdata.NoSignal.infsup.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (csc (in1), out)); + assert (isequaln (uplus (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.csc; + testcases = testdata.NoSignal.infsup.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10255,36 +9291,24 @@ 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/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))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (uplus (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.sech; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.pos; for testcase = [testcases]' assert (isequaln (... - sech (testcase.in{1}), ... + uplus (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.sech; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sech (in1), out)); + assert (isequaln (uplus (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sech; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.pos; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10295,43 +9319,59 @@ 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/mpower.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mpower.m + assert (isequaln (uplus (in1), out)); +7 tests, 7 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/nextout.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/nextout.m ***** # from the documentation string -***** assert (isequal (infsup (magic (3)) ^ 2, infsup (magic (3) ^ 2))); +***** test + x = nextout (infsup (1)); + assert (inf (x), 1 - eps / 2); + assert (sup (x), 1 + eps); ***** # 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/isempty.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/isempty.m -***** assert (isempty (infsup ())); -***** assert (not (isempty (infsup (1, 2)))); + 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/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 (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.isEmpty; + testcases = testdata.NoSignal.infsup.div; for testcase = [testcases]' assert (isequaln (... - isempty (testcase.in{1}), ... + rdivide (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isEmpty; + testcases = testdata.NoSignal.infsup.div; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (isempty (in1), out)); + assert (isequaln (rdivide (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isEmpty; + testcases = testdata.NoSignal.infsup.div; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10340,38 +9380,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 (isempty (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/tanh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tanh.m -***** # from the documentation string -***** assert (tanh (infsup (1)) == "[0x1.85EFAB514F394p-1, 0x1.85EFAB514F395p-1]"); -***** # correct use of signed zeros -***** test - x = tanh (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (rdivide (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.tanh; + testcases = testdata.NoSignal.infsup.recip; for testcase = [testcases]' assert (isequaln (... - tanh (testcase.in{1}), ... + rdivide (1, testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tanh; + testcases = testdata.NoSignal.infsup.recip; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tanh (in1), out)); + assert (isequaln (rdivide (1, in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanh; + testcases = testdata.NoSignal.infsupdec.recip; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10382,36 +9410,37 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (tanh (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/pow10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow10.m + assert (isequaln (rdivide (1, in1), out)); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsup/expm1.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/expm1.m ***** # from the documentation string - assert (pow10 (infsup (5)) == infsup (100000)); +***** assert (expm1 (infsup (eps)) == "[0x1p-52, 0x1.0000000000001p-52]"); ***** # correct use of signed zeros ***** test - x = pow10 (infsup (-inf, -realmax)); + x = expm1 (infsup (0)); assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.exp10; + testcases = testdata.NoSignal.infsup.expm1; for testcase = [testcases]' assert (isequaln (... - pow10 (testcase.in{1}), ... + expm1 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.exp10; + testcases = testdata.NoSignal.infsup.expm1; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pow10 (in1), out)); + assert (isequaln (expm1 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp10; + testcases = testdata.NoSignal.infsup.expm1; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10422,32 +9451,193 @@ 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/uplus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/uplus.m + assert (isequaln (expm1 (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/display.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/display.m +***** # Test for the display function are also largely done with the help of the +***** # doctest package. +***** xtest + assert (evalc ("display (infsup ())"), "[Empty]\n\n"); + assert (evalc ("display (infsupdec ())"), "[Empty]_trv\n\n"); +***** test + 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/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/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/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/erf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/erf.m ***** # from the documentation string -***** assert (+infsup (2, 3) == infsup (2, 3)); +***** assert (erf (infsup (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); +***** # correct use of signed zeros +***** test + x = erf (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/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/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/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.pos; + testcases = testdata.NoSignal.infsup.isSingleton; for testcase = [testcases]' assert (isequaln (... - uplus (testcase.in{1}), ... + issingleton (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pos; + testcases = testdata.NoSignal.infsup.isSingleton; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (uplus (in1), out)); + assert (isequaln (issingleton (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pos; + testcases = testdata.NoSignal.infsup.isSingleton; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10458,24 +9648,24 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (uplus (in1), out)); + assert (isequaln (issingleton (in1), out)); ***** test # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.pos; + testcases = testdata.NoSignal.infsupdec.isSingleton; for testcase = [testcases]' assert (isequaln (... - uplus (testcase.in{1}), ... + issingleton (testcase.in{1}), ... testcase.out)); endfor ***** test # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.pos; + testcases = testdata.NoSignal.infsupdec.isSingleton; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (uplus (in1), out)); + assert (isequaln (issingleton (in1), out)); ***** test # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pos; + testcases = testdata.NoSignal.infsup.isSingleton; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10486,33 +9676,41 @@ 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/erf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/erf.m -***** # from the documentation string -***** assert (erf (infsup (1)) == "[0x1.AF767A741088Ap-1, 0x1.AF767A741088Bp-1]"); -***** # correct use of signed zeros -***** test - x = erf (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/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]"); + assert (isequaln (issingleton (in1), out)); +13 tests, 13 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 = fma (infsup (0), 0, 0); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = fma (infsup (1), 0, 0); + x = roundb (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** test - x = fma (infsup (1), 1, -1); + x = roundb (infsup (-0.25, 0.25)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -10520,26 +9718,22 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.fma; + testcases = testdata.NoSignal.infsup.roundTiesToEven; for testcase = [testcases]' assert (isequaln (... - fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + roundb (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.fma; + testcases = testdata.NoSignal.infsup.roundTiesToEven; 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 (roundb (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.fma; + testcases = testdata.NoSignal.infsup.roundTiesToEven; 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; @@ -10548,69 +9742,34 @@ 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 (fma (in1, in2, in3), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/setxor.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/setxor.m -***** test - [z, z1, z2] = setxor (infsup (), infsup ()); - assert (isempty (z)); - assert (isempty (z1)); - assert (isempty (z2)); -***** test - [z, z1, z2] = setxor (infsup (-inf, inf), infsup ()); - assert (isentire (z)); - assert (isentire (z1)); - assert (isempty (z2)); -***** test - [z, z1, z2] = setxor (infsup (-inf, inf), infsup (2)); - assert (isentire (z)); - assert (z1 == infsup (-inf, 2)); - assert (z2 == infsup (2, inf)); -***** test - [z, z1, z2] = setxor (infsup (2, 3), infsup (2)); - assert (z == infsup (2, 3)); - assert (z1 == infsup ()); - assert (z2 == infsup (2, 3)); -***** test - [z, z1, z2] = setxor (infsup (2, 3), infsup (2, 2.5)); - assert (z == infsup (2.5, 3)); - assert (z1 == infsup ()); - assert (z2 == infsup (2.5, 3)); -***** # from the documentation string -***** test - [z, z1, z2] = setxor (infsup (1, 3), infsup (2, 4)); - assert (z == infsup (1, 4)); - assert (z1 == infsup (1, 2)); - assert (z2 == infsup (3, 4)); -6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/le.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/le.m -***** assert (le (infsup (1, 3), infsup (3))); + assert (isequaln (roundb (in1), out)); +25 tests, 25 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.less; + testcases = testdata.NoSignal.infsup.precedes; for testcase = [testcases]' assert (isequaln (... - le (testcase.in{1}, testcase.in{2}), ... + precedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.less; + testcases = testdata.NoSignal.infsup.precedes; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (le (in1, in2), out)); + assert (isequaln (precedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.less; + testcases = testdata.NoSignal.infsup.precedes; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -10623,122 +9782,41 @@ 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/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/dot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/dot.m -***** # matrix × matrix -***** assert (dot (infsup (magic (3)), magic (3)) == [89, 107, 89]); -***** assert (dot (infsup (magic (3)), magic (3), 1) == [89, 107, 89]); -***** assert (dot (infsup (magic (3)), magic (3), 2) == [101; 83; 101]); -***** # matrix × vector -***** assert (dot (infsup (magic (3)), [1, 2, 3]) == [28; 34; 28]); -***** assert (dot (infsup (magic (3)), [1, 2, 3], 1) == [15, 30, 45]); -***** assert (dot (infsup (magic (3)), [1, 2, 3], 2) == [28; 34; 28]); -***** assert (dot (infsup (magic (3)), [1; 2; 3]) == [26, 38, 26]); -***** assert (dot (infsup (magic (3)), [1; 2; 3], 1) == [26, 38, 26]); -***** assert (dot (infsup (magic (3)), [1; 2; 3], 2) == [15; 30; 45]); -***** # matrix × scalar -***** assert (dot (infsup (magic (3)), 42) == [630, 630, 630]); -***** assert (dot (infsup (magic (3)), 42, 1) == [630, 630, 630]); -***** assert (dot (infsup (magic (3)), 42, 2) == [630; 630; 630]); -***** # vector x vector -***** assert (dot (infsup([1, 2, 3]), [4, 5, 6]) == 32); -***** assert (dot (infsup([1, 2, 3]), [4, 5, 6], 1) == [4, 10, 18]); -***** assert (dot (infsup([1, 2, 3]), [4, 5, 6], 2) == 32); -***** assert (dot (infsup([1; 2; 3]), [4; 5; 6]) == 32); -***** assert (dot (infsup([1; 2; 3]), [4; 5; 6], 1) == 32); -***** assert (dot (infsup([1; 2; 3]), [4; 5; 6], 2) == [4; 10; 18]); -***** # vector × scalar -***** assert (dot (infsup ([1, 2, 3]), 42) == 252); -***** assert (dot (infsup ([1, 2, 3]), 42, 1) == [42, 84, 126]); -***** assert (dot (infsup ([1, 2, 3]), 42, 2) == 252); -***** assert (dot (infsup ([1; 2; 3]), 42) == 252); -***** assert (dot (infsup ([1; 2; 3]), 42, 1) == 252); -***** assert (dot (infsup ([1; 2; 3]), 42, 2) == [42; 84; 126]); -***** # N-dimensional arrays -***** test - x = infsup (reshape (1:24, 2, 3, 4)); - y = infsup (2.*ones (2, 3, 4)); - assert (dot (x, y, 3) == infsup ([80, 96, 112; 88, 104, 120])) -***** test - x = infsup (ones (2, 2, 2, 2)); - y = infsup (1); - assert (size (dot (x, y)), [1, 2, 2, 2]); - assert (size (dot (x, y, 1)), [1, 2, 2, 2]); - assert (size (dot (x, y, 2)), [2, 1, 2, 2]); - assert (size (dot (x, y, 3)), [2, 2, 1, 2]); - assert (size (dot (x, y, 4)), [2, 2, 2]); - assert (size (dot (x, y, 5)), [2, 2, 2, 2]); -***** # from the documentation string -***** assert (dot ([infsup(1), 2, 3], [infsup(2), 3, 4]) == 20); -***** assert (dot (infsup ([realmax; realmin; realmax]), [1; -1; -1], 1) == -realmin); -28 tests, 28 passed, 0 known failure, 0 skipped -[inst/@infsup/fsolve.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fsolve.m + assert (isequaln (precedes (in1, in2), out)); +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 - sqr = @(x) x .^ 2; - assert (subset (sqrt (infsup (2)), fsolve (sqr, infsup (0, 3), 2))); + 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/acosh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/acosh.m +***** # Empty interval +***** assert (acosh (infsup ()) == infsup ()); +***** # Singleton intervals +***** assert (acosh (infsup (0)) == infsup ()); +***** assert (acosh (infsup (1)) == infsup (0)); ***** test - 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/log10.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log10.m + x = infsup (1 : 3 : 100); + assert (min (subset (acosh (x), log (x + sqrt (x + 1) .* sqrt (x - 1))))); +***** # Bounded intervals +***** assert (acosh (infsup (0, 1)) == infsup (0)); +***** # Unbounded intervals +***** assert (acosh (infsup (-inf, 0)) == infsup ()); +***** assert (acosh (infsup (-inf, 1)) == infsup (0)); +***** assert (acosh (infsup (0, inf)) == infsup (0, inf)); +***** assert (acosh (infsup (1, inf)) == infsup (0, inf)); +***** assert (subset (acosh (infsup (2, inf)), infsup (1, inf))); ***** # from the documentation string -***** assert (log10 (infsup (2)) == "[0x1.34413509F79FEp-2, 0x1.34413509F79FFp-2]"); +***** assert (acosh (infsup (2)) == "[0x1.5124271980434, 0x1.5124271980435]"); ***** # correct use of signed zeros ***** test - x = log10 (infsup (1)); + x = acosh (infsup (1)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -10746,21 +9824,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsup.acosh; for testcase = [testcases]' assert (isequaln (... - log10 (testcase.in{1}), ... + acosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsup.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log10 (in1), out)); + assert (isequaln (acosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log10; + testcases = testdata.NoSignal.infsup.acosh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10771,38 +9849,71 @@ 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/atan2rev2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2rev2.m + assert (isequaln (acosh (in1), out)); +15 tests, 15 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/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 (atan2rev2 (infsup (1, 2), infsup ("pi") / 4) == "[0x1.FFFFFFFFFFFFEp-1, 0x1.0000000000001p1]"); -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 +***** 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/cancelplus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cancelplus.m ***** # from the documentation string -***** assert (sec (infsup (1)) == "[0x1.D9CF0F125CC29, 0x1.D9CF0F125CC2A]"); +***** 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.sec; + testcases = testdata.NoSignal.infsup.cancelPlus; for testcase = [testcases]' assert (isequaln (... - sec (testcase.in{1}), ... + cancelplus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sec; + testcases = testdata.NoSignal.infsup.cancelPlus; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (sec (in1), out)); + assert (isequaln (cancelplus (in1, in2), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sec; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.cancelPlus; + for testcase = [testcases]' + assert (isequaln (... + cancelplus (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor +***** test + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.cancelPlus; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); + out = vertcat (testcases.out); + assert (isequaln (cancelplus (in1, in2), out)); +***** test + # N-dimensional array vector evaluation + testcases = testdata.NoSignal.infsupdec.cancelPlus; + in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -10811,33 +9922,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 (sec (in1), 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 (cancelplus (in1, in2), out)); +6 tests, 6 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 (tanrev (infsup (0), infsup (2, 4)) == infsup ("pi")); +***** assert (gamma (infsup (1.5)) == "[0x1.C5BF891B4EF6Ap-1, 0x1.C5BF891B4EF6Bp-1]"); +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 +***** # from the documentation string +***** assert (cot (infsup (1)) == "[0x1.48C05D04E1CFDp-1, 0x1.48C05D04E1CFEp-1]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.tanRev; + testcases = testdata.NoSignal.infsup.cot; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}), ... + cot (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tanRev; + testcases = testdata.NoSignal.infsup.cot; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1), out)); + assert (isequaln (cot (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanRev; + testcases = testdata.NoSignal.infsup.cot; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10848,25 +9965,53 @@ 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 (cot (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/gammaln.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gammaln.m +***** assert (gammaln (infsup (-inf, inf)) == "[-0x1.F19B9BCC38A42p-4, +Inf]"); +***** # from the documentation string +***** assert (gammaln (infsup (1.5)) == "[-0x1.EEB95B094C192p-4, -0x1.EEB95B094C191p-4]"); +***** # correct use of signed zeros +***** test + x = gammaln (infsup (1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = gammaln (infsup (2)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/atan2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2.m +***** test "from the documentation string"; +***** assert (atan2 (infsup (1), infsup (-1)) == "[0x1.2D97C7F3321D2p1, 0x1.2D97C7F3321D3p1]"); +***** # correct use of signed zeros +***** test + x = atan2 (0, infsup (1)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.tanRevBin; + testcases = testdata.NoSignal.infsup.atan2; for testcase = [testcases]' assert (isequaln (... - tanrev (testcase.in{1}, testcase.in{2}), ... + atan2 (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.tanRevBin; + testcases = testdata.NoSignal.infsup.atan2; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (tanrev (in1, in2), out)); + assert (isequaln (atan2 (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.tanRevBin; + testcases = testdata.NoSignal.infsup.atan2; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -10879,38 +10024,35 @@ 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/expm1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/expm1.m -***** # from the documentation string -***** assert (expm1 (infsup (eps)) == "[0x1p-52, 0x1.0000000000001p-52]"); -***** # correct use of signed zeros -***** test - x = expm1 (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + assert (isequaln (atan2 (in1, in2), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/disjoint.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/disjoint.m +***** assert (disjoint (infsup (3, 4), infsup (5, 6))); +***** assert (not (disjoint (infsup (3, 4), infsup (4, 5)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.expm1; + testcases = testdata.NoSignal.infsup.disjoint; for testcase = [testcases]' assert (isequaln (... - expm1 (testcase.in{1}), ... + disjoint (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.expm1; + testcases = testdata.NoSignal.infsup.disjoint; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (expm1 (in1), out)); + assert (isequaln (disjoint (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.expm1; + 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; @@ -10919,42 +10061,71 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (expm1 (in1), out)); + assert (isequaln (disjoint (in1, in2), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/linspace.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/linspace.m -***** assert (isequal (linspace (infsup (0), infsup (10), 9), infsup (linspace (0, 10, 9)))); +[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 = 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/coshrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/coshrev.m -***** # from the documentation string -***** assert (coshrev (infsup (-2, 1)) == 0); + x = fix (infsup (0.5)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = fix (infsup (-0.5)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** test + x = fix (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.coshRev; + testcases = testdata.NoSignal.infsup.trunc; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}), ... + fix (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.coshRev; + testcases = testdata.NoSignal.infsup.trunc; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (coshrev (in1), out)); + assert (isequaln (fix (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.coshRev; + testcases = testdata.NoSignal.infsup.trunc; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -10965,25 +10136,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 (fix (in1), out)); +27 tests, 27 passed, 0 known failure, 0 skipped +[inst/@infsup/subset.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subset.m +***** assert (subset (infsup (1, 2), infsup (1, 3))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.coshRevBin; + testcases = testdata.NoSignal.infsup.subset; for testcase = [testcases]' assert (isequaln (... - coshrev (testcase.in{1}, testcase.in{2}), ... + subset (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.coshRevBin; + testcases = testdata.NoSignal.infsup.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (coshrev (in1, in2), out)); + assert (isequaln (subset (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.coshRevBin; + testcases = testdata.NoSignal.infsup.subset; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -10996,98 +10174,216 @@ 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/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)); + assert (isequaln (subset (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/cat.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cat.m +***** assert (size (cat (1, infsup ([]), infsup ([]))), [0 0]); +***** assert (cat (1, infsup (1), infsup (2)) == infsup (cat (1, 1, 2))); +***** assert (cat (2, infsup (1), infsup (2)) == infsup (cat (2, 1, 2))); +***** assert (cat (5, infsup (1), infsup (2)) == infsup (cat (5, 1, 2))); +***** assert (cat (1, infsup (zeros (2, 2, 2)), infsup (ones (2, 2, 2))) == infsup (cat (1, zeros (2, 2, 2), ones (2, 2, 2)))); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/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 - [s, n] = overlap (infsup (), infsup (0)); - assert (s, "firstEmpty"); - assert (n, uint16 (16384)); + x = infsup (magic (3), magic (3) + 1); + assert (x(1) == infsup (8, 9)); ***** test - [s, n] = overlap (infsup (0), infsup ()); - assert (s, "secondEmpty"); - assert (n, uint16 (8192)); + x = infsup (magic (3), magic (3) + 1); + assert (x(:, 2) == infsup ([1; 5; 9], [2; 6; 10])); +***** assert (infsup (3).inf, 3); ***** test - [s, n] = overlap (infsup (1, 2), infsup (3, 4)); - assert (s, "before"); - assert (n, uint16 (4096)); + 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/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/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/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 - [s, n] = overlap (infsup (1, 2), infsup (2, 3)); - assert (s, "meets"); - assert (n, uint16 (2048)); + # Scalar evaluation + testcases = testdata.NoSignal.infsup.isEntire; + for testcase = [testcases]' + assert (isequaln (... + isentire (testcase.in{1}), ... + testcase.out)); + endfor ***** test - [s, n] = overlap (infsup (1, 3), infsup (2, 4)); - assert (s, "overlaps"); - assert (n, uint16 (1024)); + # Vector evaluation + testcases = testdata.NoSignal.infsup.isEntire; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (isentire (in1), out)); ***** test - [s, n] = overlap (infsup (1, 2), infsup (1, 3)); - assert (s, "starts"); - assert (n, uint16 (512)); + # 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)); ***** test - [s, n] = overlap (infsup (2, 3), infsup (1, 4)); - assert (s, "containedBy"); - assert (n, uint16 (256)); + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isEntire; + for testcase = [testcases]' + assert (isequaln (... + isentire (testcase.in{1}), ... + testcase.out)); + endfor ***** test - [s, n] = overlap (infsup (2, 3), infsup (1, 3)); - assert (s, "finishes"); - assert (n, uint16 (128)); + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.isEntire; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (isentire (in1), out)); ***** test - [s, n] = overlap (infsup (1, 2), infsup (1, 2)); - assert (s, "equals"); - assert (n, uint16 (64)); + # 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/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 - [s, n] = overlap (infsup (1, 3), infsup (2, 3)); - assert (s, "finishedBy"); - assert (n, uint16 (32)); + # Scalar evaluation + testcases = testdata.NoSignal.infsup.tanRev; + for testcase = [testcases]' + assert (isequaln (... + tanrev (testcase.in{1}), ... + testcase.out)); + endfor ***** test - [s, n] = overlap (infsup (1, 4), infsup (2, 3)); - assert (s, "contains"); - assert (n, uint16 (16)); + # Vector evaluation + testcases = testdata.NoSignal.infsup.tanRev; + in1 = vertcat (vertcat (testcases.in){:, 1}); + out = vertcat (testcases.out); + assert (isequaln (tanrev (in1), out)); ***** test - [s, n] = overlap (infsup (1, 3), infsup (1, 2)); - assert (s, "startedBy"); - assert (n, uint16 (8)); + # 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 - [s, n] = overlap (infsup (2, 4), infsup (1, 3)); - assert (s, "overlappedBy"); - assert (n, uint16 (4)); + # Scalar evaluation + testcases = testdata.NoSignal.infsup.tanRevBin; + for testcase = [testcases]' + assert (isequaln (... + tanrev (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + endfor ***** test - [s, n] = overlap (infsup (2, 3), infsup (1, 2)); - assert (s, "metBy"); - assert (n, uint16 (2)); + # 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 - [s, n] = overlap (infsup (3, 4), infsup (1, 2)); - assert (s, "after"); - assert (n, uint16 (1)); + # 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/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.overlap; + testcases = testdata.NoSignal.infsup.min; for testcase = [testcases]' assert (isequaln (... - overlap (testcase.in{1}, testcase.in{2}), ... + min (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.overlap; + testcases = testdata.NoSignal.infsup.min; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - out = {testcases.out}'; - assert (isequaln (overlap (in1, in2), out)); + out = vertcat (testcases.out); + assert (isequaln (min (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.overlap; + testcases = testdata.NoSignal.infsup.min; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - out = {testcases.out}'; + out = vertcat (testcases.out); # Reshape data i = -1; do @@ -11097,32 +10393,42 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (overlap (in1, in2), out)); -19 tests, 19 passed, 0 known failure, 0 skipped -[inst/@infsup/sup.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sup.m + assert (isequaln (min (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/reshape.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/reshape.m +***** assert (reshape (infsup (1 : 6), 2, 3) == infsup (reshape (1 : 6, 2, 3))); +***** assert (reshape (infsup (1 : 24), 2, [], 4) == infsup (reshape (1 : 24, 2, 3, 4))); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/@infsup/tanh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/tanh.m ***** # from the documentation string -***** assert (sup (infsup (2.5, 3.5)), 3.5); +***** assert (tanh (infsup (1)) == "[0x1.85EFAB514F394p-1, 0x1.85EFAB514F395p-1]"); +***** # correct use of signed zeros +***** test + x = tanh (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sup; + testcases = testdata.NoSignal.infsup.tanh; for testcase = [testcases]' assert (isequaln (... - sup (testcase.in{1}), ... + tanh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sup; + testcases = testdata.NoSignal.infsup.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sup (in1), out)); + assert (isequaln (tanh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sup; + testcases = testdata.NoSignal.infsup.tanh; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11133,38 +10439,40 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (sup (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/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)))); + assert (isequaln (tanh (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/asin.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/asin.m +***** # Empty interval +***** assert (asin (infsup ()) == infsup ()); +***** # from the documentation string +***** assert (asin (infsup (.5)) == "[0x1.0C152382D7365p-1, 0x1.0C152382D7366p-1]"); +***** # correct use of signed zeros +***** test + x = asin (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.isMember; + testcases = testdata.NoSignal.infsup.asin; for testcase = [testcases]' assert (isequaln (... - ismember (testcase.in{1}, testcase.in{2}), ... + asin (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.isMember; + testcases = testdata.NoSignal.infsup.asin; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (ismember (in1, in2), out)); + assert (isequaln (asin (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.isMember; + 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; @@ -11173,27 +10481,45 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (ismember (in1, in2), out)); + assert (isequaln (asin (in1), out)); +6 tests, 6 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/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/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 - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.isMember; + # Scalar evaluation + testcases = testdata.NoSignal.infsup.interior; for testcase = [testcases]' assert (isequaln (... - ismember (testcase.in{1}, testcase.in{2}), ... + interior (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.isMember; + # Vector evaluation + testcases = testdata.NoSignal.infsup.interior; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (ismember (in1, in2), out)); + assert (isequaln (interior (in1, in2), out)); ***** test - # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.isMember; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.interior; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -11206,65 +10532,105 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (ismember (in1, in2), out)); -11 tests, 11 passed, 0 known failure, 0 skipped -[inst/@infsup/lu.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/lu.m + assert (isequaln (interior (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/ceil.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ceil.m +***** # Empty interval +***** assert (ceil (infsup ()) == infsup ()); +***** # Singleton intervals +***** assert (ceil (infsup (0)) == infsup (0)); +***** assert (ceil (infsup (0.5)) == infsup (1)); +***** assert (ceil (infsup (-0.5)) == infsup (0)); +***** # Bounded intervals +***** assert (ceil (infsup (-0.5, 0)) == infsup (0)); +***** assert (ceil (infsup (0, 0.5)) == infsup (0, 1)); +***** assert (ceil (infsup (0.25, 0.5)) == infsup (1)); +***** assert (ceil (infsup (-1, 0)) == infsup (-1, 0)); +***** assert (ceil (infsup (-1, 1)) == infsup (-1, 1)); +***** assert (ceil (infsup (-realmin, realmin)) == infsup (0, 1)); +***** assert (ceil (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); +***** # Unbounded intervals +***** assert (ceil (infsup (-realmin, inf)) == infsup (0, inf)); +***** assert (ceil (infsup (-realmax, inf)) == infsup (-realmax, inf)); +***** assert (ceil (infsup (-inf, realmin)) == infsup (-inf, 1)); +***** assert (ceil (infsup (-inf, realmax)) == infsup (-inf, realmax)); +***** assert (ceil (infsup (-inf, inf)) == infsup (-inf, inf)); +***** # 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 - [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"}))); + x = ceil (infsup (-0.5)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** 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/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/ge.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ge.m -***** assert (ge (infsup (2, 3), infsup (1, 3))); + x = ceil (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.ceil; + for testcase = [testcases]' + assert (isequaln (... + 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/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/ldivide.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ldivide.m +[inst/@infsup/wid.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/wid.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/mag.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mag.m -***** assert (mag (infsup (-3, 4)), 4); -***** assert (mag (infsup (-4, 3)), 4); +***** assert (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.mag; + testcases = testdata.NoSignal.infsup.wid; for testcase = [testcases]' assert (isequaln (... - mag (testcase.in{1}), ... + wid (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mag; + testcases = testdata.NoSignal.infsup.wid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mag (in1), out)); + assert (isequaln (wid (in1), out)); +***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mag; + testcases = testdata.NoSignal.infsup.wid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11275,24 +10641,24 @@ 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 (wid (in1), out)); ***** test # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.mag; + testcases = testdata.NoSignal.infsupdec.wid; for testcase = [testcases]' assert (isequaln (... - mag (testcase.in{1}), ... + wid (testcase.in{1}), ... testcase.out)); endfor ***** test # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.mag; + testcases = testdata.NoSignal.infsupdec.wid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mag (in1), out)); + assert (isequaln (wid (in1), out)); ***** test # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsupdec.mag; + testcases = testdata.NoSignal.infsup.wid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11303,37 +10669,42 @@ 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 (wid (in1), 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 +[inst/@infsup/mpower.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/mpower.m ***** # from the documentation string -***** assert (atanh (infsup (.5)) == "[0x1.193EA7AAD030Ap-1, 0x1.193EA7AAD030Bp-1]"); +***** assert (isequal (infsup (magic (3)) ^ 2, infsup (magic (3) ^ 2))); ***** # correct use of signed zeros ***** test - x = atanh (infsup (0)); - 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/sup.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sup.m +***** # from the documentation string +***** assert (sup (infsup (2.5, 3.5)), 3.5); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsup.sup; for testcase = [testcases]' assert (isequaln (... - atanh (testcase.in{1}), ... + sup (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsup.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (atanh (in1), out)); + assert (isequaln (sup (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atanh; + testcases = testdata.NoSignal.infsup.sup; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11344,40 +10715,37 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atanh (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/hypot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/hypot.m + assert (isequaln (sup (in1), out)); +4 tests, 4 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 (hypot (infsup (2, 3), infsup (1, 2)) == "[0x1.1E3779B97F4A7p1, 0x1.CD82B446159F4p1]"); -***** # correct use of signed zeros -***** test - x = hypot (infsup (0), infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (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.hypot; + testcases = testdata.NoSignal.infsup.powRev2; for testcase = [testcases]' assert (isequaln (... - hypot (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.hypot; + 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 (hypot (in1, in2), out)); + assert (isequaln (powrev2 (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.hypot; + 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; @@ -11387,50 +10755,52 @@ 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 (hypot (in1, in2), out)); + assert (isequaln (powrev2 (in1, in2, in3), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/ei.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ei.m +***** assert (isempty (ei (infsup (0)))); +***** assert (isempty (ei (infsup (-inf, -2)))); +***** assert (isentire (ei (infsup (0, inf)))); +***** # from the documentation string +***** assert (ei (infsup (1)) == "[0x1.E52670F350D08, 0x1.E52670F350D09]"); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/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/nthroot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/nthroot.m -***** assert (nthroot (infsup (25, 36), 2) == infsup (5, 6)); -***** # correct use of signed zeros -***** test - x = nthroot (infsup (0), 2); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = nthroot (infsup (0, inf), -2); - assert (signbit (inf (x))); -***** test - x = nthroot (infsup (0, inf), -3); - assert (signbit (inf (x))); -***** assert (nthroot (infsup (-1, 1), 2) == infsup (0, 1)); -***** assert (nthroot (infsup (-1, 1), 3) == infsup (-1, 1)); -***** assert (nthroot (infsup (-1, 1), -2) == infsup (1, inf)); -***** assert (nthroot (infsup (-1, 1), -3) == infsup (-inf, inf)); +[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 (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.rootn; + testcases = testdata.NoSignal.infsup.mid; for testcase = [testcases]' assert (isequaln (... - nthroot (testcase.in{1}, testcase.in{2}), ... + mid (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.rootn; + testcases = testdata.NoSignal.infsup.mid; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (nthroot (in1, in2), out)); + assert (isequaln (mid (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.rootn; + testcases = testdata.NoSignal.infsup.mid; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11438,49 +10808,26 @@ 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/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/inf.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/inf.m -***** # from the documentation string -***** assert (inf (infsup (2.5, 3.5)), 2.5); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (mid (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.inf; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.mid; for testcase = [testcases]' assert (isequaln (... - inf (testcase.in{1}), ... + mid (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsup.inf; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.mid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (inf (in1), out)); + assert (isequaln (mid (in1), out)); ***** test - # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.inf; + # Decorated N-dimensional array evaluation + testcases = testdata.NoSignal.infsupdec.mid; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11491,32 +10838,54 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (inf (in1), out)); + assert (isequaln (mid (in1), out)); +8 tests, 8 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/wid.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/wid.m +[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/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 (wid (infsup (2.5, 3.5)), 1); +***** 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.wid; + testcases = testdata.NoSignal.infsup.rad; for testcase = [testcases]' assert (isequaln (... - wid (testcase.in{1}), ... + rad (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.wid; + testcases = testdata.NoSignal.infsup.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (wid (in1), out)); + assert (isequaln (rad (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.wid; + testcases = testdata.NoSignal.infsup.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11527,24 +10896,24 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (wid (in1), out)); + assert (isequaln (rad (in1), out)); ***** test # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.wid; + testcases = testdata.NoSignal.infsupdec.rad; for testcase = [testcases]' assert (isequaln (... - wid (testcase.in{1}), ... + rad (testcase.in{1}), ... testcase.out)); endfor ***** test # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.wid; + testcases = testdata.NoSignal.infsupdec.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (wid (in1), out)); + assert (isequaln (rad (in1), out)); ***** test # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.wid; + testcases = testdata.NoSignal.infsup.rad; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11555,59 +10924,62 @@ 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/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/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))); + assert (isequaln (rad (in1), out)); +8 tests, 8 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/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/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/pow2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow2.m +[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 (pow2 (infsup (5)) == infsup (32)); -***** # correct use of signed zeros -***** test - x = pow2 (infsup (-inf, -realmax)); - assert (signbit (inf (x))); + assert (setdiff (infsup (1, 3), infsup (2, 4)) == infsup (1, 2)); +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/newdec.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/newdec.m +***** # from the documentation string +***** assert (isequal (newdec (infsup (2, 3)), infsupdec (2, 3))); +***** assert (isequal (newdec (infsupdec (2, 3)), infsupdec (2, 3))); +***** assert (isequal (newdec (infsupdec (1, "trv")), infsupdec (1, "trv"))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.exp2; + testcases = testdata.NoSignal.infsup.newDec; for testcase = [testcases]' assert (isequaln (... - pow2 (testcase.in{1}), ... + newdec (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.exp2; + testcases = testdata.NoSignal.infsup.newDec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (pow2 (in1), out)); + assert (isequaln (newdec (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.exp2; + testcases = testdata.NoSignal.infsup.newDec; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11618,8 +10990,17 @@ 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 + assert (isequaln (newdec (in1), out)); +6 tests, 6 passed, 0 known failure, 0 skipped +[inst/@infsup/idist.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/idist.m +***** # from the documentation string +***** assert (idist (infsup (0, 6), infsup (7, 20)), 1); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/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/rsqrt.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/rsqrt.m ***** # from the documentation string @@ -11629,38 +11010,31 @@ x = rsqrt (infsup (0, inf)); assert (signbit (inf (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 = atan2 (0, infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +[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.atan2; + testcases = testdata.NoSignal.infsup.coth; for testcase = [testcases]' assert (isequaln (... - atan2 (testcase.in{1}, testcase.in{2}), ... + coth (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.atan2; + testcases = testdata.NoSignal.infsup.coth; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (atan2 (in1, in2), out)); + assert (isequaln (coth (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atan2; + testcases = testdata.NoSignal.infsup.coth; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11669,43 +11043,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 (atan2 (in1, in2), out)); + assert (isequaln (coth (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/prod.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/prod.m +***** # from the documentation string +***** assert (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/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)); +[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 = roundb (infsup (0)); + x = erfc (infsup (realmax)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); +2 tests, 2 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 = roundb (infsup (-0.25, 0.25)); + x = log1p (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -11713,21 +11080,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.logp1; for testcase = [testcases]' assert (isequaln (... - roundb (testcase.in{1}), ... + log1p (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.logp1; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (roundb (in1), out)); + assert (isequaln (log1p (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToEven; + testcases = testdata.NoSignal.infsup.logp1; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -11738,39 +11105,44 @@ 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/atan2rev1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan2rev1.m + assert (isequaln (log1p (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 (atan2rev1 (infsup (1, 2), infsup ("pi") / 4) == "[0x1.FFFFFFFFFFFFFp-1, 0x1.0000000000001p1]"); +***** assert (ldivide (infsup (2, 3), infsup (1, 2)) == "[1/3, 1]"); 1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/pownrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pownrev.m -***** assert (pownrev (infsup (25, 36), infsup (0, inf), 2) == infsup (5, 6)); +[inst/@infsup/power.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/power.m +***** # from the documentation string +***** assert (infsup (-5, 6) .^ infsup (2, 3) == infsup (-125, 216)); +***** assert (infsup (-10, 0) .^ infsup (0, 1:8) == infsup ([-1e1, -1e1, -1e3, -1e3, -1e5, -1e5, -1e7, -1e7], [1e0, 1e2, 1e2, 1e4, 1e4, 1e6, 1e6, 1e8])); +***** # correct use of signed zeros +***** test + x = 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.pownRev; + testcases = testdata.NoSignal.infsup.sqr; for testcase = [testcases]' assert (isequaln (... - pownrev (testcase.in{1}, testcase.in{2}), ... + power (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pownRev; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (pownrev (in1, in2), out)); + assert (isequaln (power (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pownRev; + 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; @@ -11779,31 +11151,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 (pownrev (in1, in2), out)); + assert (isequaln (power (in1, 2), out)); +6 tests, 6 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))); +***** 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.pownRevBin; + testcases = testdata.NoSignal.infsup.sech; for testcase = [testcases]' assert (isequaln (... - pownrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + sech (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.pownRevBin; + testcases = testdata.NoSignal.infsup.sech; 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 (sech (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.pownRevBin; + testcases = testdata.NoSignal.infsup.sech; 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; @@ -11812,54 +11191,46 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (pownrev (in1, in2, in3), out)); -7 tests, 7 passed, 0 known failure, 0 skipped -[inst/@infsup/eq.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/eq.m -***** test "Empty interval"; - assert (eq (infsup (), infsup ()) == true); - assert (eq (infsup (), infsup (1)) == false); - assert (eq (infsup (0), infsup ()) == false); - assert (eq (infsup (-inf, inf), infsup ()) == false); -***** test "Singleton intervals"; - assert (eq (infsup (0), infsup (1)) == false); - assert (eq (infsup (0), infsup (0)) == true); -***** test "Bounded intervals"; - assert (eq (infsup (1, 2), infsup (3, 4)) == false); - assert (eq (infsup (1, 2), infsup (2, 3)) == false); - assert (eq (infsup (1, 2), infsup (1.5, 2.5)) == false); - assert (eq (infsup (1, 2), infsup (1, 2)) == true); -***** test "Unbounded intervals"; - assert (eq (infsup (0, inf), infsup (-inf, 0)) == false); - assert (eq (infsup (0, inf), infsup (0, inf)) == true); - assert (eq (infsup (-inf, 0), infsup (-inf, 0)) == true); - assert (eq (infsup (-inf, inf), infsup (42)) == false); - assert (eq (infsup (-inf, 0), infsup (-inf, inf)) == false); - assert (eq (infsup (-inf, inf), infsup (-inf, inf)) == true); + assert (isequaln (sech (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/gauss.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/gauss.m +***** # from the documentation string +***** assert (gauss (infsup ([1, 0; 0, 2]), [2, 0; 0, 4]) == [2, 0; 0, 2]); +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/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/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.infsup.equal; + testcases = testdata.NoSignal.infsup.cancelMinus; for testcase = [testcases]' assert (isequaln (... - eq (testcase.in{1}, testcase.in{2}), ... + cancelminus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.equal; + testcases = testdata.NoSignal.infsup.cancelMinus; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (eq (in1, in2), out)); + assert (isequaln (cancelminus (in1, in2), out)); ***** test - # N-dimensional array evaluations - testcases = testdata.NoSignal.infsup.equal; + # 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); @@ -11872,56 +11243,50 @@ 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/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/sumsq.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sumsq.m + assert (isequaln (cancelminus (in1, in2), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/fma.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fma.m ***** # from the documentation string -***** assert (sumsq ([infsup(1), pow2(-1074), -1]) == infsup (2, 2+eps*2)); -***** assert (sumsq (infsup ([])) == 0); +***** assert (fma (infsup (1+eps), infsup (7), infsup ("0.1")) == "[0x1.C666666666668p2, 0x1.C666666666669p2]"); ***** # correct use of signed zeros ***** test - x = sumsq (infsup (0)); + 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)))); -3 tests, 3 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/cos.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cos.m -***** # from the documentation string -***** assert (cos (infsup (1)) == "[0x1.14A280FB5068Bp-1, 0x1.14A280FB5068Cp-1]"); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cos; + testcases = testdata.NoSignal.infsup.fma; for testcase = [testcases]' assert (isequaln (... - cos (testcase.in{1}), ... + fma (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cos; + 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 (cos (in1), out)); + assert (isequaln (fma (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cos; + 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; @@ -11930,62 +11295,37 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); + in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cos (in1), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/postpad.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/postpad.m -***** assert (postpad (infsup (1:3), 4, 4) == infsup (1:4)); -***** assert (postpad (infsup (1:3), 2, 4) == infsup (1:2)); -***** assert (postpad (infsup (0), 10, 0, 3) == infsup (zeros (1, 1, 10))) -***** assert (postpad (infsup (zeros (1, 2, 2)), 3) == infsup (zeros (1, 3, 2))); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/acosh.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/acosh.m -***** # Empty interval -***** assert (acosh (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (acosh (infsup (0)) == infsup ()); -***** assert (acosh (infsup (1)) == infsup (0)); -***** test - x = infsup (1 : 3 : 100); - assert (min (subset (acosh (x), log (x + sqrt (x + 1) .* sqrt (x - 1))))); -***** # Bounded intervals -***** assert (acosh (infsup (0, 1)) == infsup (0)); -***** # Unbounded intervals -***** assert (acosh (infsup (-inf, 0)) == infsup ()); -***** assert (acosh (infsup (-inf, 1)) == infsup (0)); -***** assert (acosh (infsup (0, inf)) == infsup (0, inf)); -***** assert (acosh (infsup (1, inf)) == infsup (0, inf)); -***** assert (subset (acosh (infsup (2, inf)), infsup (1, inf))); -***** # from the documentation string -***** assert (acosh (infsup (2)) == "[0x1.5124271980434, 0x1.5124271980435]"); -***** # correct use of signed zeros -***** test - x = acosh (infsup (1)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); + assert (isequaln (fma (in1, in2, in3), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/pownrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pownrev.m +***** assert (pownrev (infsup (25, 36), infsup (0, inf), 2) == infsup (5, 6)); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.acosh; + testcases = testdata.NoSignal.infsup.pownRev; for testcase = [testcases]' assert (isequaln (... - acosh (testcase.in{1}), ... + pownrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.acosh; + testcases = testdata.NoSignal.infsup.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (acosh (in1), out)); + assert (isequaln (pownrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.acosh; + testcases = testdata.NoSignal.infsup.pownRev; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -11994,35 +11334,31 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (acosh (in1), out)); -15 tests, 15 passed, 0 known failure, 0 skipped -[inst/@infsup/interior.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/interior.m -***** assert (interior (infsup (1, 2), infsup (0, 3))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (pownrev (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.interior; + testcases = testdata.NoSignal.infsup.pownRevBin; for testcase = [testcases]' assert (isequaln (... - interior (testcase.in{1}, testcase.in{2}), ... + pownrev (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.interior; + testcases = testdata.NoSignal.infsup.pownRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (interior (in1, in2), out)); + assert (isequaln (pownrev (in1, in2, in3), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.interior; + testcases = testdata.NoSignal.infsup.pownRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); + in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12032,44 +11368,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 (interior (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/length.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/length.m -***** assert (length (infsup ([])), 0); -***** assert (length (infsup (0)), 1); -***** assert (length (infsup (zeros (3, 1))), 3); -***** assert (length (infsup (zeros (1, 4))), 4); -***** assert (length (infsup (zeros (3, 4))), 4); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/union.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/union.m + assert (isequaln (pownrev (in1, in2, in3), out)); +7 tests, 7 passed, 0 known failure, 0 skipped +[inst/@infsup/setxor.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/setxor.m +***** test + [z, z1, z2] = setxor (infsup (), infsup ()); + assert (isempty (z)); + assert (isempty (z1)); + assert (isempty (z2)); +***** test + [z, z1, z2] = setxor (infsup (-inf, inf), infsup ()); + assert (isentire (z)); + assert (isentire (z1)); + assert (isempty (z2)); +***** test + [z, z1, z2] = setxor (infsup (-inf, inf), infsup (2)); + assert (isentire (z)); + assert (z1 == infsup (-inf, 2)); + assert (z2 == infsup (2, inf)); +***** test + [z, z1, z2] = setxor (infsup (2, 3), infsup (2)); + assert (z == infsup (2, 3)); + assert (z1 == infsup ()); + assert (z2 == infsup (2, 3)); +***** test + [z, z1, z2] = setxor (infsup (2, 3), infsup (2, 2.5)); + assert (z == infsup (2.5, 3)); + assert (z1 == infsup ()); + assert (z2 == infsup (2.5, 3)); ***** # from the documentation string -***** assert (union (infsup (1, 3), infsup (2, 4)) == infsup (1, 4)); +***** 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/fminsearch.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fminsearch.m +***** test + sqr = @(x) x .^ 2; + [x, y] = fminsearch (sqr, infsup (-inf, inf)); + assert (y == 0); +***** demo + clf + hold on + draw = @(x) plot (x(1), x(2), [238 232 213]/255, [88 110 117]/255); + f = @(x) (x(1) - 2) .^ 2 - x(2) .^ 2; + fminsearch (f, infsup ("[1, 3] [0, 1]"), ... + optimset ('OutputFcn', draw)); + hold off +1 test, 1 passed, 0 known failure, 0 skipped +[inst/@infsup/inf.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/inf.m +***** # from the documentation string +***** assert (inf (infsup (2.5, 3.5)), 2.5); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.convexHull; + testcases = testdata.NoSignal.infsup.inf; for testcase = [testcases]' assert (isequaln (... - union (testcase.in{1}, testcase.in{2}), ... + inf (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.convexHull; + testcases = testdata.NoSignal.infsup.inf; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (union (in1, in2), out)); + assert (isequaln (inf (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.convexHull; + 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; @@ -12078,69 +11454,193 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (union (in1, in2), out)); + assert (isequaln (inf (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped [inst/@infsup/sqrt.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sqrt.m ***** # from the documentation string ***** assert (sqrt (infsup (-6, 4)) == infsup (0, 2)); 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 (dilog (infsup (1)) == "[0x1.A51A6625307D3, 0x1.A51A6625307D4]"); -2 tests, 2 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/cancelplus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cancelplus.m +[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/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/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/pow.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow.m ***** # from the documentation string -***** assert (cancelplus (infsup (2, 3), infsup (1, 1.5)) == infsup (3.5, 4)); +***** 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.cancelPlus; + testcases = testdata.NoSignal.infsup.pow; for testcase = [testcases]' assert (isequaln (... - cancelplus (testcase.in{1}, testcase.in{2}), ... + pow (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cancelPlus; + testcases = testdata.NoSignal.infsup.pow; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cancelplus (in1, in2), out)); + assert (isequaln (pow (in1, in2), out)); ***** test - # Decorated scalar evaluation - testcases = testdata.NoSignal.infsupdec.cancelPlus; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.pow; + 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 (pow (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/sum.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sum.m +***** # from the documentation string +***** assert (sum ([infsup(1), pow2(-1074), -1]) == infsup (pow2 (-1074))); +***** assert (sum (infsup ([])) == 0); +***** # correct use of signed zeros +***** test + x = sum (infsup (0)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** # N-dimensional arrays +***** assert (sum (infsup (ones (1, 1, 10))) == infsup (10)); +***** assert (sum (infsup (ones (1, 1, 10))) == infsup (10)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/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/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 (... - cancelplus (testcase.in{1}, testcase.in{2}), ... + overlap (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Decorated vector evaluation - testcases = testdata.NoSignal.infsupdec.cancelPlus; + # Vector evaluation + testcases = testdata.NoSignal.infsup.overlap; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (cancelplus (in1, in2), out)); + out = {testcases.out}'; + assert (isequaln (overlap (in1, in2), out)); ***** test - # N-dimensional array vector evaluation - testcases = testdata.NoSignal.infsupdec.cancelPlus; + # N-dimensional array evaluation + 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 @@ -12150,38 +11650,54 @@ 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)); + assert (isequaln (overlap (in1, in2), out)); +19 tests, 19 passed, 0 known failure, 0 skipped +[inst/@infsup/polyval.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/polyval.m +***** assert (polyval (infsup (42), 0) == 42); +***** assert (polyval (infsup ([42 42]), 0) == 42); +***** assert (polyval (infsup ([42 42]), 1) == 84); +***** assert (polyval (infsup ([42 42]), -1) == 0); +***** assert (polyval (infsup ([-42 42 42]), .5) == -42*0.5^2 + 42*0.5 + 42); +***** assert (polyval (infsup (vec (pascal (3))), 0.1) == "[0X6.502E9A7231A08P+0, 0X6.502E9A7231A0CP+0]"); 6 tests, 6 passed, 0 known failure, 0 skipped -[inst/@infsup/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/subset.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/subset.m -***** assert (subset (infsup (1, 2), infsup (1, 3))); +[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/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 + 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.subset; + testcases = testdata.NoSignal.infsup.sub; for testcase = [testcases]' assert (isequaln (... - subset (testcase.in{1}, testcase.in{2}), ... + minus (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.subset; + testcases = testdata.NoSignal.infsup.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (subset (in1, in2), out)); + assert (isequaln (minus (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.subset; + testcases = testdata.NoSignal.infsup.sub; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -12194,37 +11710,32 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (subset (in1, in2), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/cosrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cosrev.m + assert (isequaln (minus (in1, in2), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/coshrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/coshrev.m ***** # from the documentation string -***** assert (cosrev (0, infsup (6, 9)) == "[0x1.F6A7A2955385Ep2, 0x1.F6A7A2955386p2]"); -***** # correct use of signed zeros -***** test - x = cosrev (infsup (1), infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); +***** assert (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.cosRev; + testcases = testdata.NoSignal.infsup.coshRev; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}), ... + coshrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cosRev; + testcases = testdata.NoSignal.infsup.coshRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1), out)); + assert (isequaln (coshrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosRev; + testcases = testdata.NoSignal.infsup.coshRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12235,25 +11746,25 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cosrev (in1), out)); + assert (isequaln (coshrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.cosRevBin; + testcases = testdata.NoSignal.infsup.coshRevBin; for testcase = [testcases]' assert (isequaln (... - cosrev (testcase.in{1}, testcase.in{2}), ... + coshrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.cosRevBin; + testcases = testdata.NoSignal.infsup.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (cosrev (in1, in2), out)); + assert (isequaln (coshrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.cosRevBin; + testcases = testdata.NoSignal.infsup.coshRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -12266,40 +11777,48 @@ in1 = reshape ([in1; in1(1:i)], testsize); in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (cosrev (in1, in2), out)); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/floor.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/floor.m + assert (isequaln (coshrev (in1, in2), out)); +7 tests, 7 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 (floor (infsup ()) == infsup ()); +***** 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 (floor (infsup (0)) == infsup (0)); -***** assert (floor (infsup (0.5)) == infsup (0)); -***** assert (floor (infsup (-0.5)) == infsup (-1)); +***** assert (intersect (infsup (0), infsup (1)) == infsup ()); +***** assert (intersect (infsup (0), infsup (0)) == infsup (0)); ***** # 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)); +***** 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 (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 (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 (floor (infsup (2.5, 3.5)) == infsup (2, 3)); -***** assert (floor (infsup (-0.5, 5)) == infsup (-1, 5)); +***** assert (intersect (infsup (1, 3), infsup (2, 4)) == infsup (2, 3)); ***** # correct use of signed zeros ***** test - x = floor (infsup (0.5)); + x = intersect (infsup (0), infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** test - x = floor (infsup (0)); + 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 @@ -12307,22 +11826,24 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsup.intersection; for testcase = [testcases]' assert (isequaln (... - floor (testcase.in{1}), ... + intersect (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.floor; + testcases = testdata.NoSignal.infsup.intersection; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (floor (in1), out)); + assert (isequaln (intersect (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.floor; + 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; @@ -12331,9 +11852,10 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); + in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (floor (in1), out)); -23 tests, 23 passed, 0 known failure, 0 skipped + assert (isequaln (intersect (in1, in2), out)); +25 tests, 25 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 @@ -12486,52 +12008,38 @@ 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/sum.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sum.m -***** # from the documentation string -***** assert (sum ([infsup(1), pow2(-1074), -1]) == infsup (pow2 (-1074))); -***** assert (sum (infsup ([])) == 0); -***** # correct use of signed zeros -***** test - x = sum (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** # N-dimensional arrays -***** assert (sum (infsup (ones (1, 1, 10))) == infsup (10)); -***** assert (sum (infsup (ones (1, 1, 10))) == infsup (10)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/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/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); +[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.mig; + testcases = testdata.NoSignal.infsup.isCommonInterval; for testcase = [testcases]' assert (isequaln (... - mig (testcase.in{1}), ... + iscommoninterval (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mig; + testcases = testdata.NoSignal.infsup.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mig (in1), out)); + assert (isequaln (iscommoninterval (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mig; + testcases = testdata.NoSignal.infsup.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12542,24 +12050,24 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mig (in1), out)); + assert (isequaln (iscommoninterval (in1), out)); ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsupdec.mig; + # Decorated scalar evaluation + testcases = testdata.NoSignal.infsupdec.isCommonInterval; for testcase = [testcases]' assert (isequaln (... - mig (testcase.in{1}), ... + iscommoninterval (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation - testcases = testdata.NoSignal.infsupdec.mig; + # Decorated vector evaluation + testcases = testdata.NoSignal.infsupdec.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (mig (in1), out)); + assert (isequaln (iscommoninterval (in1), out)); ***** test # Decorated N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mig; + testcases = testdata.NoSignal.infsup.isCommonInterval; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12570,211 +12078,117 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (mig (in1), out)); -8 tests, 8 passed, 0 known failure, 0 skipped -[inst/@infsup/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/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/expm.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/expm.m -***** # from the paper + assert (isequaln (iscommoninterval (in1), out)); +16 tests, 16 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 ([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/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/fminsearch.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/fminsearch.m + 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 - 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/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")); + 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 - # Scalar evaluation - testcases = testdata.NoSignal.infsup.powRev2; - for testcase = [testcases]' - assert (isequaln (... - powrev2 (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... - testcase.out)); + 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 - # Vector evaluation - 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 (powrev2 (in1, in2, in3), 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.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; - 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 (powrev2 (in1, in2, in3), out)); -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/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")); + 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 - # Scalar evaluation - testcases = testdata.NoSignal.infsup.cosh; - for testcase = [testcases]' - assert (isequaln (... - cosh (testcase.in{1}), ... - testcase.out)); - endfor + 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 - # Vector evaluation - testcases = testdata.NoSignal.infsup.cosh; - in1 = vertcat (vertcat (testcases.in){:, 1}); - out = vertcat (testcases.out); - assert (isequaln (cosh (in1), out)); + 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 - # 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/plot.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plot.m -***** # this test is rather pointless + 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 - clf - plot (empty ()); - close -warning: using the gnuplot graphics toolkit is discouraged - -The gnuplot graphics toolkit is not actively maintained and has a number -of limitations that are unlikely to be fixed. Communication with gnuplot -uses a one-directional pipe and limited information is passed back to the -Octave interpreter so most changes made interactively in the plot window -will not be reflected in the graphics properties managed by Octave. For -example, if the plot window is closed with a mouse click, Octave will not -be notified and will not update its internal list of open figure windows. -The qt toolkit is recommended instead. -***** demo - clf - hold on - plot (infsup (0), infsup (0)); - plot (infsup (1, 2), infsup (0)); - plot (infsup (0), infsup (1, 2)); - plot (infsup (1, 2), infsup (1, 2)); - axis ([-.5, 2.5, -.5, 2.5]); - hold off -***** demo - clf - plot (infsup (-rand (50, 1), +rand (50, 1))); -***** demo - clf - hold on - axis off - range = infsup (0, 9); - x = linspace (inf (range), sup (range), 250); - X = mince (range, 9); - f = @ (x) 0.5 * sin (x) .* x .^ 2; - y = f (x); - Y = f (X); - plot (range, f (range), [42 161 152]/255); - plot (X, Y, [238 232 213]/255, [88 110 117]/255); - plot (x, y, '-', 'color', [220 50 47]/255, 'linewidth', 2); - hold off -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/round.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/round.m + 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/abs.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/abs.m ***** # Empty interval -***** assert (round (infsup ()) == infsup ()); +***** assert (abs (infsup ()) == infsup ()); ***** # Singleton intervals -***** assert (round (infsup (0)) == infsup (0)); -***** assert (round (infsup (0.5)) == infsup (1)); -***** assert (round (infsup (0.25)) == infsup (0)); -***** assert (round (infsup (0.75)) == infsup (1)); -***** assert (round (infsup (-0.5)) == infsup (-1)); +***** assert (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 (round (infsup (-0.5, 0)) == infsup (-1, 0)); -***** assert (round (infsup (0, 0.5)) == infsup (0, 1)); -***** assert (round (infsup (0.25, 0.5)) == infsup (0, 1)); -***** assert (round (infsup (-1, 0)) == infsup (-1, 0)); -***** assert (round (infsup (-1, 1)) == infsup (-1, 1)); -***** assert (round (infsup (-realmin, realmin)) == infsup (0)); -***** assert (round (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); +***** assert (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 (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 (abs (infsup (0, inf)) == infsup (0, inf)); +***** assert (abs (infsup (-inf, inf)) == infsup (0, inf)); +***** assert (abs (infsup (-inf, 0)) == infsup (0, inf)); +***** assert (abs (infsup (1, inf)) == infsup (1, inf)); +***** assert (abs (infsup (-1, inf)) == infsup (0, inf)); +***** assert (abs (infsup (-inf, -1)) == infsup (1, inf)); +***** assert (abs (infsup (-inf, 1)) == infsup (0, inf)); +***** # from the documentation string +***** assert (abs (infsup (2.5, 3.5)) == infsup (2.5, 3.5)); +***** assert (abs (infsup (-0.5, 5.5)) == infsup (0, 5.5)); ***** # correct use of signed zeros +***** assert (signbit (inf (abs (infsup (-1, 0))))); ***** test - x = round (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = round (infsup (-0.25, 0.25)); + x = abs (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -12782,21 +12196,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.abs; for testcase = [testcases]' assert (isequaln (... - round (testcase.in{1}), ... + abs (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (round (in1), out)); + assert (isequaln (abs (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.roundTiesToAway; + testcases = testdata.NoSignal.infsup.abs; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -12807,35 +12221,34 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (round (in1), out)); -23 tests, 23 passed, 0 known failure, 0 skipped -[inst/@infsup/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 (abs (in1), out)); +27 tests, 27 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.strictPrecedes; + testcases = testdata.NoSignal.infsup.sqr; for testcase = [testcases]' assert (isequaln (... - strictprecedes (testcase.in{1}, testcase.in{2}), ... + pown (testcase.in{1}, 2), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.strictPrecedes; + testcases = testdata.NoSignal.infsup.sqr; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (strictprecedes (in1, in2), out)); + assert (isequaln (pown (in1, 2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.strictPrecedes; + 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; @@ -12844,75 +12257,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 (strictprecedes (in1, in2), out)); -5 tests, 5 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/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/absrev.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/absrev.m -***** # Empty interval -***** assert (absrev (infsup ()) == infsup ()); -***** assert (absrev (infsup (0, 1), infsup ()) == infsup ()); -***** assert (absrev (infsup (0, 1), infsup (7, 9)) == infsup ()); -***** assert (absrev (infsup (), infsup (0, 1)) == infsup ()); -***** assert (absrev (infsup (-2, -1)) == infsup ()); -***** # Singleton intervals -***** assert (absrev (infsup (1)) == infsup (-1, 1)); -***** assert (absrev (infsup (0)) == infsup (0)); -***** assert (absrev (infsup (-1)) == infsup ()); -***** assert (absrev (infsup (realmax)) == infsup (-realmax, realmax)); -***** assert (absrev (infsup (realmin)) == infsup (-realmin, realmin)); -***** assert (absrev (infsup (-realmin)) == infsup ()); -***** assert (absrev (infsup (-realmax)) == infsup ()); -***** # Bound intervals -***** assert (absrev (infsup (1, 2)) == infsup (-2, 2)); -***** assert (absrev (infsup (1, 2), infsup (0, 2)) == infsup (1, 2)); -***** assert (absrev (infsup (0, 1), infsup (-0.5, 2)) == infsup (-0.5, 1)); -***** assert (absrev (infsup (-1, 1)) == infsup (-1, 1)); -***** assert (absrev (infsup (-1, 0)) == infsup (0)); -***** # Unbound intervals -***** assert (absrev (infsup (0, inf)) == infsup (-inf, inf)); -***** assert (absrev (infsup (-inf, inf)) == infsup (-inf, inf)); -***** assert (absrev (infsup (-inf, 0)) == infsup (0)); -***** assert (absrev (infsup (1, inf), infsup (-inf, 0)) == infsup (-inf, -1)); -***** assert (absrev (infsup (-1, inf)) == infsup (-inf, inf)); -***** assert (absrev (infsup (-inf, -1)) == infsup ()); -***** assert (absrev (infsup (-inf, 1)) == infsup (-1, 1)); -***** # from the documentation string -***** assert (absrev (infsup (-2, 1)) == infsup (-1, 1)); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (pown (in1, 2), out)); ***** test - # Scalar evaluation with one argument - testcases = testdata.NoSignal.infsup.absRev; + # Scalar evaluation + testcases = testdata.NoSignal.infsup.pown; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}), ... + pown (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test - # Vector evaluation with one argument - testcases = testdata.NoSignal.infsup.absRev; + # Vector evaluation + testcases = testdata.NoSignal.infsup.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1), out)); + assert (isequaln (pown (in1, in2), out)); ***** test - # N-dimensional array evaluation with one argument - testcases = testdata.NoSignal.infsup.absRev; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.pown; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12921,28 +12287,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 (absrev (in1), out)); + assert (isequaln (pown (in1, in2), out)); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/@infsup/csch.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/csch.m +***** # from the documentation string +***** assert (csch (infsup (1)) == "[0x1.B3AB8A78B90Cp-1, 0x1.B3AB8A78B90C1p-1]"); +***** # correct use of signed zeros ***** test - # Scalar evaluation with two arguments - testcases = testdata.NoSignal.infsup.absRevBin; + x = csch (infsup (0, inf)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); +***** shared testdata + # Load compiled test data (from src/test/*.itl) + testdata = load (file_in_loadpath ("test/itl.mat")); +***** test + # Scalar evaluation + testcases = testdata.NoSignal.infsup.csch; for testcase = [testcases]' assert (isequaln (... - absrev (testcase.in{1}, testcase.in{2}), ... + csch (testcase.in{1}), ... testcase.out)); endfor ***** test - # Vector evaluation with two arguments - testcases = testdata.NoSignal.infsup.absRevBin; + # Vector evaluation + testcases = testdata.NoSignal.infsup.csch; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (absrev (in1, in2), out)); + assert (isequaln (csch (in1), out)); ***** test - # N-dimensional array evaluation with two arguments - testcases = testdata.NoSignal.infsup.absRevBin; + # N-dimensional array evaluation + testcases = testdata.NoSignal.infsup.csch; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -12951,51 +12329,36 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (absrev (in1, in2), out)); -31 tests, 31 passed, 0 known failure, 0 skipped -[inst/@infsup/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)))); + assert (isequaln (csch (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/realsqrt.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/realsqrt.m -***** # from the documentation string -***** assert (realsqrt (infsup (-6, 4)) == infsup (0, 2)); -***** # correct use of signed zeros -***** test - x = realsqrt (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = realsqrt (infsup (0, 2)); - assert (signbit (inf (x))); +[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.sqrt; + testcases = testdata.NoSignal.infsup.strictPrecedes; for testcase = [testcases]' assert (isequaln (... - realsqrt (testcase.in{1}), ... + strictprecedes (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sqrt; + testcases = testdata.NoSignal.infsup.strictPrecedes; in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (realsqrt (in1), out)); + assert (isequaln (strictprecedes (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sqrt; + 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; @@ -13004,9 +12367,86 @@ 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)); -6 tests, 6 passed, 0 known failure, 0 skipped + 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/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/lt.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/lt.m ***** assert (not (lt (infsup (1, 3), infsup (3)))); @@ -13046,102 +12486,40 @@ out = reshape ([out; out(1:i)], testsize); assert (isequaln (lt (in1, in2), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/plot3.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/plot3.m -***** # this test is rather pointless -***** test - clf - plot3 (empty (), empty (), empty ()); - close -***** 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/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)); +[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 (fix (infsup (2.5, 3.5)) == infsup (2, 3)); -***** assert (fix (infsup (-0.5, 5)) == infsup (0, 5)); +***** 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/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 = 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)); + x = pow10 (infsup (-inf, -realmax)); assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.trunc; + testcases = testdata.NoSignal.infsup.exp10; for testcase = [testcases]' assert (isequaln (... - fix (testcase.in{1}), ... + pow10 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.trunc; + testcases = testdata.NoSignal.infsup.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (fix (in1), out)); + assert (isequaln (pow10 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.trunc; + testcases = testdata.NoSignal.infsup.exp10; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13152,44 +12530,33 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (fix (in1), out)); -27 tests, 27 passed, 0 known failure, 0 skipped -[inst/@infsup/idist.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/idist.m -***** # from the documentation string -***** assert (idist (infsup (0, 6), infsup (7, 20)), 1); -1 test, 1 passed, 0 known failure, 0 skipped -[inst/@infsup/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/times.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/times.m + assert (isequaln (pow10 (in1), out)); +4 tests, 4 passed, 0 known failure, 0 skipped +[inst/@infsup/cosh.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cosh.m ***** # from the documentation string -***** assert (infsup (2, 3) .* infsup (1, 2) == infsup (2, 6)); +***** 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.mul; + testcases = testdata.NoSignal.infsup.cosh; for testcase = [testcases]' assert (isequaln (... - times (testcase.in{1}, testcase.in{2}), ... + cosh (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.mul; + testcases = testdata.NoSignal.infsup.cosh; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (times (in1, in2), out)); + assert (isequaln (cosh (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.mul; + testcases = testdata.NoSignal.infsup.cosh; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -13198,42 +12565,20 @@ 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 (cosh (in1), out)); 4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/erfc.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/erfc.m -***** # from the documentation string -***** assert (erfc (infsup (1)) == "[0x1.4226162FBDDD4p-3, 0x1.4226162FBDDD5p-3]"); -***** # correct use of signed zeros -***** test - x = erfc (infsup (realmax)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -2 tests, 2 passed, 0 known failure, 0 skipped -[inst/@infsup/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/atan.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/atan.m +[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/uminus.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/uminus.m ***** # from the documentation string -***** assert (atan (infsup (1)) == "[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-1]"); +***** assert (-infsup (2, 3) == infsup (-3, -2)); ***** # correct use of signed zeros ***** test - x = atan (infsup (0)); + x = uminus (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -13241,21 +12586,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.neg; for testcase = [testcases]' assert (isequaln (... - atan (testcase.in{1}), ... + uminus (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (atan (in1), out)); + assert (isequaln (uminus (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.atan; + testcases = testdata.NoSignal.infsup.neg; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13266,37 +12611,51 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (atan (in1), out)); + assert (isequaln (uminus (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/powrev1.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/powrev1.m +[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/hdist.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/hdist.m ***** # from the documentation string -***** assert (powrev1 (infsup (2, 5), infsup (3, 6)) == "[0x1.3EE8390D43955, 0x1.3988E1409212Fp1]"); +***** assert (hdist (infsup (1, 6), infsup (2, 8)), 2); +1 test, 1 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 (exp (infsup (1)) == infsup ("e")); +***** # correct use of signed zeros +***** test + x = exp (infsup (-realmax)); + assert (signbit (inf (x))); + assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.powRev1; + testcases = testdata.NoSignal.infsup.exp; for testcase = [testcases]' assert (isequaln (... - powrev1 (testcase.in{1}, testcase.in{2}, testcase.in{3}), ... + exp (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.powRev1; + testcases = testdata.NoSignal.infsup.exp; in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - in3 = vertcat (vertcat (testcases.in){:, 3}); out = vertcat (testcases.out); - assert (isequaln (powrev1 (in1, in2, in3), out)); + assert (isequaln (exp (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.powRev1; + testcases = testdata.NoSignal.infsup.exp; 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; @@ -13305,41 +12664,529 @@ testsize = factor (numel (in1) + i); until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); - in2 = reshape ([in2; in2(1:i)], testsize); - in3 = reshape ([in3; in3(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (powrev1 (in1, in2, in3), out)); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/@infsup/minus.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/minus.m + assert (isequaln (exp (in1), out)); +5 tests, 5 passed, 0 known failure, 0 skipped +[inst/@infsup/dot.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/dot.m +***** # matrix × matrix +***** assert (dot (infsup (magic (3)), magic (3)) == [89, 107, 89]); +***** assert (dot (infsup (magic (3)), magic (3), 1) == [89, 107, 89]); +***** assert (dot (infsup (magic (3)), magic (3), 2) == [101; 83; 101]); +***** # matrix × vector +***** assert (dot (infsup (magic (3)), [1, 2, 3]) == [28; 34; 28]); +***** assert (dot (infsup (magic (3)), [1, 2, 3], 1) == [15, 30, 45]); +***** assert (dot (infsup (magic (3)), [1, 2, 3], 2) == [28; 34; 28]); +***** assert (dot (infsup (magic (3)), [1; 2; 3]) == [26, 38, 26]); +***** assert (dot (infsup (magic (3)), [1; 2; 3], 1) == [26, 38, 26]); +***** assert (dot (infsup (magic (3)), [1; 2; 3], 2) == [15; 30; 45]); +***** # matrix × scalar +***** assert (dot (infsup (magic (3)), 42) == [630, 630, 630]); +***** assert (dot (infsup (magic (3)), 42, 1) == [630, 630, 630]); +***** assert (dot (infsup (magic (3)), 42, 2) == [630; 630; 630]); +***** # vector x vector +***** assert (dot (infsup([1, 2, 3]), [4, 5, 6]) == 32); +***** assert (dot (infsup([1, 2, 3]), [4, 5, 6], 1) == [4, 10, 18]); +***** assert (dot (infsup([1, 2, 3]), [4, 5, 6], 2) == 32); +***** assert (dot (infsup([1; 2; 3]), [4; 5; 6]) == 32); +***** assert (dot (infsup([1; 2; 3]), [4; 5; 6], 1) == 32); +***** assert (dot (infsup([1; 2; 3]), [4; 5; 6], 2) == [4; 10; 18]); +***** # vector × scalar +***** assert (dot (infsup ([1, 2, 3]), 42) == 252); +***** assert (dot (infsup ([1, 2, 3]), 42, 1) == [42, 84, 126]); +***** assert (dot (infsup ([1, 2, 3]), 42, 2) == 252); +***** assert (dot (infsup ([1; 2; 3]), 42) == 252); +***** assert (dot (infsup ([1; 2; 3]), 42, 1) == 252); +***** assert (dot (infsup ([1; 2; 3]), 42, 2) == [42; 84; 126]); +***** # N-dimensional arrays +***** test + x = infsup (reshape (1:24, 2, 3, 4)); + y = infsup (2.*ones (2, 3, 4)); + assert (dot (x, y, 3) == infsup ([80, 96, 112; 88, 104, 120])) +***** test + x = infsup (ones (2, 2, 2, 2)); + y = infsup (1); + assert (size (dot (x, y)), [1, 2, 2, 2]); + assert (size (dot (x, y, 1)), [1, 2, 2, 2]); + assert (size (dot (x, y, 2)), [2, 1, 2, 2]); + assert (size (dot (x, y, 3)), [2, 2, 1, 2]); + assert (size (dot (x, y, 4)), [2, 2, 2]); + assert (size (dot (x, y, 5)), [2, 2, 2, 2]); ***** # from the documentation string -***** assert (infsup (2, 3) - infsup (1, 2) == infsup (0, 2)); -***** # correct use of signed zeros +***** 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/infsup.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/infsup.m +***** # Empty intervals ***** test - x = minus (infsup (0), infsup (0)); + x = infsup (); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("[]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("[ ]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("[\t]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("[empty]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("[EMPTY]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("[ empty ]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** test + x = infsup ("\t[\t Empty\t]\t"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** # Entire interval +***** test + x = infsup ("[,]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[entire]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[ENTIRE]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[ entire ]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup (" [Entire \t] "); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[-inf,+inf]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[-infinity, +infinity]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[-INF, +INFinitY]"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** # double boundaries +***** test + x = infsup (0); + assert (inf (x), 0); + assert (sup (x), 0); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); +***** test + x = infsup (2, 3); + assert (inf (x), 2); + assert (sup (x), 3); +***** test + x = infsup (-inf, 0.1); + assert (inf (x), -inf); + assert (sup (x), 0.1); +***** test + x = infsup (-inf, +inf); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** # NaN values +***** warning id=interval:UndefinedOperation + x = infsup (nan); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup (nan, 2); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup (3, nan); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** # illegal numeric boundaries +***** warning id=interval:UndefinedOperation + x = infsup (+inf, -inf); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup (+inf, +inf); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup (-inf, -inf); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup (3, 2); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup (3, -inf); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** # double matrix +***** test + x = infsup (magic (4)); + assert (inf (x), magic (4)); + assert (sup (x), magic (4)); +***** test + x = infsup (magic (3), magic (3) + 1); + assert (inf (x), magic (3)); + assert (sup (x), magic (3) + 1); +***** warning id=interval:UndefinedOperation + x = infsup (nan (3)); + assert (inf (x), +inf (3)); + assert (sup (x), -inf (3)); +***** test + x = infsup (-inf (3), +inf (3)); + assert (inf (x), -inf (3)); + assert (sup (x), +inf (3)); +***** # decimal boundaries +***** test + x = infsup ("0.1"); + assert (inf (x), 0.1 - eps / 16); + assert (sup (x), 0.1); +***** test + x = infsup ("0.1e1"); + assert (inf (x), 1); + assert (sup (x), 1); +***** # hexadecimal boundaries +***** test + x = infsup ("0xff"); + assert (inf (x), 255); + assert (sup (x), 255); +***** test + x = infsup ("0xff.1"); + assert (inf (x), 255.0625); + assert (sup (x), 255.0625); +***** test + x = infsup ("0xff.1p-1"); + assert (inf (x), 127.53125); + assert (sup (x), 127.53125); +***** # named constants +***** test + x = infsup ("pi"); + assert (inf (x), pi); + assert (sup (x), pi + 2 * eps); +***** test + x = infsup ("e"); + assert (inf (x), e); + assert (sup (x), e + eps); +***** # uncertain form +***** test + x = infsup ("32?"); + assert (inf (x), 31.5); + assert (sup (x), 32.5); +***** test + x = infsup ("32?8"); + assert (inf (x), 24); + assert (sup (x), 40); +***** test + x = infsup ("32?u"); + assert (inf (x), 32); + assert (sup (x), 32.5); +***** test + x = infsup ("32?d"); + assert (inf (x), 31.5); + assert (sup (x), 32); +***** test + x = infsup ("32??"); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("32??d"); + assert (inf (x), -inf); + assert (sup (x), 32); +***** test + x = infsup ("32??u"); + assert (inf (x), 32); + assert (sup (x), +inf); +***** test + x = infsup ("32?e5"); + assert (inf (x), 3150000); + assert (sup (x), 3250000); +***** # rational form +***** test + x = infsup ("6/9"); + assert (inf (x), 2 / 3); + assert (sup (x), 2 / 3 + eps / 2); +***** test + x = infsup ("6e1/9"); + assert (inf (x), 20 / 3 - eps * 2); + assert (sup (x), 20 / 3); +***** test + x = infsup ("6/9e1"); + assert (inf (x), 2 / 30); + assert (sup (x), 2 / 30 + eps / 16); +***** test + x = infsup ("-6/9"); + assert (inf (x), -(2 / 3 + eps / 2)); + assert (sup (x), -2 / 3); +***** test + x = infsup ("6/-9"); + assert (inf (x), -(2 / 3 + eps / 2)); + assert (sup (x), -2 / 3); +***** test + x = infsup ("-6/-9"); + assert (inf (x), 2 / 3); + assert (sup (x), 2 / 3 + eps / 2); +***** test + x = infsup ("6.6/9.9"); + assert (inf (x), 2 / 3); + assert (sup (x), 2 / 3 + eps / 2); +***** # inf-sup interval literal +***** test + x = infsup ("[2, 3]"); + assert (inf (x), 2); + assert (sup (x), 3); +***** test + x = infsup ("[0.1]"); + assert (inf (x), 0.1 - eps / 16); + assert (sup (x), 0.1); +***** test + x = infsup ("[0xff, 0xff.1]"); + assert (inf (x), 255); + assert (sup (x), 255.0625); +***** test + x = infsup ("[e, pi]"); + assert (inf (x), e); + assert (sup (x), pi + 2 * eps); +***** test + x = infsup ("[6/9, 6e1/9]"); + assert (inf (x), 2 / 3); + assert (sup (x), 20 / 3); +***** # corner cases +***** test + x = infsup (","); + assert (inf (x), -inf); + assert (sup (x), +inf); +***** test + x = infsup ("[, 3]"); + assert (inf (x), -inf); + assert (sup (x), 3); +***** test + x = infsup ("", "3"); + assert (inf (x), -inf); + assert (sup (x), 3); +***** test + x = infsup ("[2, ]"); + assert (inf (x), 2); + assert (sup (x), inf); +***** test + x = infsup ("2", ""); + assert (inf (x), 2); + assert (sup (x), inf); +***** # decimal vector +***** test + x = infsup (["0.1"; "0.2"; "0.3"]); + assert (inf (x), [0.1 - eps / 16; 0.2 - eps / 8; 0.3]); + assert (sup (x), [0.1; 0.2; 0.3 + eps / 8]); +***** test + x = infsup ("0.1; 0.2; 0.3"); + assert (inf (x), [0.1 - eps / 16; 0.2 - eps / 8; 0.3]); + assert (sup (x), [0.1; 0.2; 0.3 + eps / 8]); +***** test + x = infsup ("0.1\n0.2\n0.3"); + assert (inf (x), [0.1 - eps / 16; 0.2 - eps / 8; 0.3]); + assert (sup (x), [0.1; 0.2; 0.3 + eps / 8]); +***** # cell array with mixed boundaries +***** test + x = infsup ({"0.1", 42; "e", "3.2/8"}, {"0xffp2", "42e1"; "pi", 2}); + assert (inf (x), [0.1 - eps / 16, 42; e, 0.4 - eps / 4]); + assert (sup (x), [1020, 420; pi + 2 * eps, 2]); +***** test + x = infsup ({"[2, 3]", "3/4", "[Entire]", "42?3", 1, "0xf"}); + assert (inf (x), [2, 0.75, -inf, 39, 1, 15]); + assert (sup (x), [3, 0.75, +inf, 45, 1, 15]); +***** # broadcasting +***** test + x = infsup (magic (3), 10); + assert (inf (x), magic (3)); + assert (sup (x), 10 .* ones (3)); +***** test + x = infsup (zeros (1, 20), ones (20, 1)); + assert (inf (x), zeros (20, 20)); + assert (sup (x), ones (20, 20)); +***** # nai +***** warning id=interval:UndefinedOperation + x = infsup ("[nai]"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup ("Ausgeschnitzel"); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** # interval literals vs. two arguments +***** warning id=interval:UndefinedOperation + x = infsup ("[empty]", 42); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** warning id=interval:UndefinedOperation + x = infsup ("0?", 42); + assert (inf (x), +inf); + assert (sup (x), -inf); +***** # extraction of single errors +***** warning id=interval:UndefinedOperation + x = infsup ("0 1 2 [xxx] 3 4"); + assert (inf (x), [0 1 2 +inf 3 4]); + assert (sup (x), [0 1 2 -inf 3 4]); +***** warning id=interval:UndefinedOperation + x = infsup ({1 2; 3 "[xxx]"}); + assert (inf (x), [1 2; 3 +inf]); + assert (sup (x), [1 2; 3 -inf]); +***** # complex values +***** warning id=interval:InvalidOperand + x = infsup ([1 2 3+i 4+0i]); + assert (inf (x), [1 2 +inf 4]); + assert (sup (x), [1 2 -inf 4]); +***** # inaccurate conversion +***** warning id=interval:PossiblyUndefinedOperation + x = infsup ("1.000000000000000000002", "1.000000000000000000001"); + assert (inf (x), 1); + assert (sup (x), 1 + eps); +***** test + n = uint64(2 ^ 53); + x = infsup (n, n + 1); + assert (inf (x), double (n)); + assert (sup (x), double (n + 2)); +***** test + n = uint64(2 ^ 53); + x = infsup ({n}, n + 1); + assert (inf (x), double (n)); + assert (sup (x), double (n + 2)); +***** test + n = uint64(2 ^ 53); + x = infsup (n + 1, n + 1); + assert (inf (x), double (n)); + assert (sup (x), double (n + 2)); +***** test + n = uint64(2 ^ 54); + x = infsup (n, n + 1); + assert (inf (x), double (n)); + assert (sup (x), double (n + 4)); +***** warning id=interval:PossiblyUndefinedOperation + n = uint64(2 ^ 54); + x = infsup (n + 1, n + 2); + assert (inf (x), double (n)); + assert (sup (x), double (n + 4)); +***** warning id=interval:PossiblyUndefinedOperation + x = infsup ("pi", "3.141592653589793"); + assert (inf (x), pi); + assert (sup (x), pi); +***** warning id=interval:PossiblyUndefinedOperation + x = infsup ("pi", "3.1415926535897932"); + assert (inf (x), pi); + assert (sup (x), pi + 2 * eps); +***** # isexact flag +***** test + [~, isexact] = infsup (); + assert (isexact); +***** test + [~, isexact] = infsup (0); + assert (isexact); +***** test + [~, isexact] = infsup ("1 2 3"); + assert (isexact, true); +***** test + [~, isexact] = infsup ("1 2 3.1"); + assert (isexact, false); +***** warning + [~, isexact] = infsup ("[nai]"); + assert (not (isexact)); +***** # overflow flag +***** test + [~, ~, overflow] = infsup (); + assert (not (overflow)); +***** test + [~, ~, overflow] = infsup (0); + assert (not (overflow)); +***** test + [~, ~, overflow] = infsup ([1 2 3]); + assert (overflow, false (1, 3)); +***** warning + [~, ~, overflow] = infsup ("[nai]"); + assert (not (overflow)); +***** test + [~, ~, overflow] = infsup ("1e3000"); + assert (overflow); +***** test + [~, ~, overflow] = infsup ("[1, inf]"); + assert (not (overflow)); +***** # isnai flag +***** test + [~, ~, ~, isnai] = infsup (); + assert (not (isnai)); +***** test + [~, ~, ~, isnai] = infsup (0); + assert (not (isnai)); +***** test + [~, ~, ~, isnai] = infsup ([1 2 3]); + assert (isnai, false (1, 3)); +***** warning + [~, ~, ~, isnai] = infsup ("[nai]"); + assert (isnai); +***** warning + [~, ~, ~, isnai] = infsup ("xxx"); + assert (isnai); +***** warning + [~, ~, ~, isnai] = infsup ("1 2 xxx 4"); + assert (isnai, [false, false, true, false]); +***** warning + [~, ~, ~, isnai] = infsup ("[-inf, inf] [inf, inf]"); + assert (isnai, [false, true]); +***** # N-dimensional arrays +***** test + x = infsup (zeros (2, 2, 2)); + assert (inf (x), zeros (2, 2, 2)); + assert (sup (x), zeros (2, 2, 2)); +***** test + x = infsup (zeros (2, 2, 2), ones (2, 2, 2)); + assert (inf (x), zeros (2, 2, 2)); + assert (sup (x), ones (2, 2, 2)); +***** test + x = infsup (zeros (2, 1, 2, 1, 2, 1), ones (1, 3, 1, 3, 1, 3)); + assert (inf (x), zeros (2, 3, 2, 3, 2, 3)); + assert (sup (x), ones (2, 3, 2, 3, 2, 3)); +***** test + c1 = reshape ({1, 2, 3, 4, 5, 6, 7, 8}, 2, 2, 2); + c2 = reshape ({2, 3, 4, 5, 6, 7, 8, 9}, 2, 2, 2); + x = infsup (c1, c2); + assert (inf (x), reshape (1:8, 2, 2, 2)); + assert (sup (x), reshape (2:9, 2, 2, 2)); ***** 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.("b-numsToInterval"); for testcase = [testcases]' assert (isequaln (... - minus (testcase.in{1}, testcase.in{2}), ... + infsup (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sub; + testcases = testdata.NoSignal.infsup.("b-numsToInterval"); in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (minus (in1, in2), out)); + assert (isequaln (infsup (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sub; + testcases = testdata.NoSignal.infsup.("b-numsToInterval"); in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -13352,63 +13199,26 @@ 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/ceil.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/ceil.m -***** # Empty interval -***** assert (ceil (infsup ()) == infsup ()); -***** # Singleton intervals -***** assert (ceil (infsup (0)) == infsup (0)); -***** assert (ceil (infsup (0.5)) == infsup (1)); -***** assert (ceil (infsup (-0.5)) == infsup (0)); -***** # Bounded intervals -***** assert (ceil (infsup (-0.5, 0)) == infsup (0)); -***** assert (ceil (infsup (0, 0.5)) == infsup (0, 1)); -***** assert (ceil (infsup (0.25, 0.5)) == infsup (1)); -***** assert (ceil (infsup (-1, 0)) == infsup (-1, 0)); -***** assert (ceil (infsup (-1, 1)) == infsup (-1, 1)); -***** assert (ceil (infsup (-realmin, realmin)) == infsup (0, 1)); -***** assert (ceil (infsup (-realmax, realmax)) == infsup (-realmax, realmax)); -***** # Unbounded intervals -***** assert (ceil (infsup (-realmin, inf)) == infsup (0, inf)); -***** assert (ceil (infsup (-realmax, inf)) == infsup (-realmax, inf)); -***** assert (ceil (infsup (-inf, realmin)) == infsup (-inf, 1)); -***** assert (ceil (infsup (-inf, realmax)) == infsup (-inf, realmax)); -***** assert (ceil (infsup (-inf, inf)) == infsup (-inf, inf)); -***** # from the documentation string -***** assert (ceil (infsup (2.5, 3.5)) == infsup (3, 4)); -***** assert (ceil (infsup (-.5, 5)) == infsup (0, 5)); -***** # correct use of signed zeros -***** test - x = ceil (infsup (-0.5)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** test - x = ceil (infsup (0)); - assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); -***** shared testdata - # Load compiled test data (from src/test/*.itl) - testdata = load (file_in_loadpath ("test/itl.mat")); + assert (isequaln (infsup (in1, in2), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.ceil; + testcases = testdata.NoSignal.infsup.("b-textToInterval"); for testcase = [testcases]' assert (isequaln (... - ceil (testcase.in{1}), ... + infsup (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.ceil; - in1 = vertcat (vertcat (testcases.in){:, 1}); + testcases = testdata.NoSignal.infsup.("b-textToInterval"); + in1 = vertcat (testcases.in); out = vertcat (testcases.out); - assert (isequaln (ceil (in1), out)); + assert (isequaln (infsup (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.ceil; + testcases = testdata.NoSignal.infsup.("b-numsToInterval"); in1 = vertcat (vertcat (testcases.in){:, 1}); + in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); # Reshape data i = -1; @@ -13417,34 +13227,44 @@ 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)); -23 tests, 23 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/sign.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/sign.m + assert (isequaln (infsup (in1, in2), out)); +***** warning + testcases = testdata.PossiblyUndefinedOperation.infsup.("b-textToInterval"); + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + infsup (testcase.in{1}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:PossiblyUndefinedOperation"); + endfor +***** warning + testcases = testdata.UndefinedOperation.infsup.("b-textToInterval"); + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + infsup (testcase.in{1}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); + endfor +***** warning + testcases = testdata.UndefinedOperation.infsup.("b-numsToInterval"); + for testcase = [testcases]' + lastwarn ("", ""); + assert (isequaln (... + infsup (testcase.in{1}, testcase.in{2}), ... + testcase.out)); + assert (nthargout (2, @lastwarn), "interval:UndefinedOperation"); + endfor +117 tests, 117 passed, 0 known failure, 0 skipped +[inst/@infsup/cosrev.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/cosrev.m ***** # from the documentation string -***** assert (sign (infsup (2, 3)) == infsup (1)); -***** assert (sign (infsup (0, 5)) == infsup (0, 1)); -***** assert (sign (infsup (-17)) == infsup (-1)); +***** assert (cosrev (0, infsup (6, 9)) == "[0x1.F6A7A2955385Ep2, 0x1.F6A7A2955386p2]"); ***** # correct use of signed zeros ***** test - x = sign (infsup (0)); + x = cosrev (infsup (1), infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -13452,21 +13272,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.sign; + testcases = testdata.NoSignal.infsup.cosRev; for testcase = [testcases]' assert (isequaln (... - sign (testcase.in{1}), ... + cosrev (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.sign; + testcases = testdata.NoSignal.infsup.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (sign (in1), out)); + assert (isequaln (cosrev (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.sign; + testcases = testdata.NoSignal.infsup.cosRev; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13477,48 +13297,25 @@ 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/@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/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")); + assert (isequaln (cosrev (in1), out)); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.disjoint; + testcases = testdata.NoSignal.infsup.cosRevBin; for testcase = [testcases]' assert (isequaln (... - disjoint (testcase.in{1}, testcase.in{2}), ... + cosrev (testcase.in{1}, testcase.in{2}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.disjoint; + testcases = testdata.NoSignal.infsup.cosRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); - assert (isequaln (disjoint (in1, in2), out)); + assert (isequaln (cosrev (in1, in2), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.disjoint; + testcases = testdata.NoSignal.infsup.cosRevBin; in1 = vertcat (vertcat (testcases.in){:, 1}); in2 = vertcat (vertcat (testcases.in){:, 2}); out = vertcat (testcases.out); @@ -13531,15 +13328,15 @@ 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/log2.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/log2.m + assert (isequaln (cosrev (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 ***** # from the documentation string -***** assert (log2 (infsup (2)) == 1); +***** assert (atan (infsup (1)) == "[0x1.921FB54442D18p-1, 0x1.921FB54442D19p-1]"); ***** # correct use of signed zeros ***** test - x = log2 (infsup (1)); + x = atan (infsup (0)); assert (signbit (inf (x))); assert (not (signbit (sup (x)))); ***** shared testdata @@ -13547,21 +13344,21 @@ testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsup.atan; for testcase = [testcases]' assert (isequaln (... - log2 (testcase.in{1}), ... + atan (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsup.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (log2 (in1), out)); + assert (isequaln (atan (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.log2; + testcases = testdata.NoSignal.infsup.atan; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13572,37 +13369,36 @@ 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 (atan (in1), out)); 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/csch.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/csch.m +[inst/@infsup/pow2.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow2.m ***** # from the documentation string -***** assert (csch (infsup (1)) == "[0x1.B3AB8A78B90Cp-1, 0x1.B3AB8A78B90C1p-1]"); + assert (pow2 (infsup (5)) == infsup (32)); ***** # correct use of signed zeros ***** test - x = csch (infsup (0, inf)); + x = pow2 (infsup (-inf, -realmax)); assert (signbit (inf (x))); - assert (not (signbit (sup (x)))); ***** shared testdata # Load compiled test data (from src/test/*.itl) testdata = load (file_in_loadpath ("test/itl.mat")); ***** test # Scalar evaluation - testcases = testdata.NoSignal.infsup.csch; + testcases = testdata.NoSignal.infsup.exp2; for testcase = [testcases]' assert (isequaln (... - csch (testcase.in{1}), ... + pow2 (testcase.in{1}), ... testcase.out)); endfor ***** test # Vector evaluation - testcases = testdata.NoSignal.infsup.csch; + testcases = testdata.NoSignal.infsup.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); - assert (isequaln (csch (in1), out)); + assert (isequaln (pow2 (in1), out)); ***** test # N-dimensional array evaluation - testcases = testdata.NoSignal.infsup.csch; + testcases = testdata.NoSignal.infsup.exp2; in1 = vertcat (vertcat (testcases.in){:, 1}); out = vertcat (testcases.out); # Reshape data @@ -13613,82 +13409,72 @@ until (numel (testsize) > 2) in1 = reshape ([in1; in1(1:i)], testsize); out = reshape ([out; out(1:i)], testsize); - assert (isequaln (csch (in1), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/@infsup/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/pow.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/@infsup/pow.m + assert (isequaln (pow2 (in1), out)); +4 tests, 4 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 (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")); +***** assert (dilog (infsup (1)) == "[0x1.A51A6625307D3, 0x1.A51A6625307D4]"); +2 tests, 2 passed, 0 known failure, 0 skipped +[inst/verlinineqnn.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verlinineqnn.m ***** test - # Scalar evaluation - testcases = testdata.NoSignal.infsup.pow; - for testcase = [testcases]' - assert (isequaln (... - pow (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 - testcases = testdata.NoSignal.infsup.pow; - in1 = vertcat (vertcat (testcases.in){:, 1}); - in2 = vertcat (vertcat (testcases.in){:, 2}); - out = vertcat (testcases.out); - assert (isequaln (pow (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 - testcases = testdata.NoSignal.infsup.pow; - 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 (pow (in1, in2), out)); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/vereigback.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/vereigback.m + 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/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 - [lambda, X, ep] = vereigback (eye (2)); - assert (lambda, [1; 1]); - assert (X, eye (2)); - assert (ep, zeros (2, 1)); + [fval, x] = c (infsup (0), infsup ("[1, 3]")); + assert (ismember (0, fval) && 0 != fval); + assert (x == infsup ("[1, 2]")); ***** 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)); + [fval, x] = c (infsup (0), infsup ("[1, 2]")); + assert (0 == fval); + assert (x == infsup ("[1, 2]")); ***** test - [lambda, X, ep] = vereigback ([2 0 0; 0 3 4; 0 4 9]); - assert (lambda, [1; 2; 11]); - assert (ep, zeros (3, 1)); + [fval, x] = c (infsup (0), infsup ("[entire]")); + assert (ismember (0, fval) && 0 != fval); + assert (x == infsup ("[-2, 2]")); ***** test - [lambda, X, ep] = vereigback ([1 2 3; 0 1 2; 1 1 1]); - assert (max (ep) < 1e-14); + [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/verintlinineqs.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verintlinineqs.m +***** test + A = [-2, -3; -2, -1]; + b = [-1500; -1000]; + [x, As] = verintlinineqs (A, b); + assert (x, [375; 250], 1e-9); + assert (all (x >= [375; 250])); + assert (all (all (isempty (As)))); +1 test, 1 passed, 0 known failure, 0 skipped [inst/verinvnonneg.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/verinvnonneg.m ***** assert (verinvnonneg (eye (1)), 1) @@ -13710,33 +13496,268 @@ ***** assert (verinvnonneg (magic (7)), 0) ***** assert (verinvnonneg (infsup (-inf, inf)), -1) 18 tests, 18 passed, 0 known failure, 0 skipped -[inst/interval_bitpack.m] ->>>>> /build/reproducible-path/octave-interval-3.2.1/inst/interval_bitpack.m -***** test "bare"; - littleendian = bitunpack (uint16 (1))(1); - b = zeros (1, 128); - if (littleendian) - b([52, 63, 117, 127]) = 1; - else - b([7, 12, 71, 77]) = 1; - endif - decoded = interval_bitpack (logical (b)); - assert (eq (decoded, infsup (3, 4))); -***** test "decorated"; - littleendian = bitunpack (uint16 (1))(1); - b = zeros (1, 136); - if (littleendian) - b([52, 63, 117, 127, 133]) = 1; - else - b([7, 12, 71, 77, 133]) = 1; - endif - decoded = interval_bitpack (logical (b)); - assert (eq (decoded, infsupdec (3, 4))); -2 tests, 2 passed, 0 known failure, 0 skipped [inst/__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/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/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/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/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/exacttointerval.m] +>>>>> /build/reproducible-path/octave-interval-3.2.1/inst/exacttointerval.m +***** assert (isempty (exacttointerval ("[Empty]"))); +***** assert (isentire (exacttointerval ("[Entire]"))); +***** test "common interval"; + y = exacttointerval ("[0, 1]"); + assert (inf (y), 0); + assert (sup (y), 1); +***** test "point interval"; + y = exacttointerval ("[42]"); + assert (inf (y), 42); + assert (sup (y), 42); +***** test "unbound interval"; + y = exacttointerval ("[-4, Infinity]"); + assert (inf (y), -4); + assert (sup (y), inf); +***** error exacttointerval ("[0, 0.1]"); +***** error exacttointerval ("[1, 0]"); +***** test "N-dimensional array"; + i = infsup (reshape (1:24, 2, 3, 4)); + assert (exacttointerval (intervaltoexact (i)) == i); +8 tests, 8 passed, 0 known failure, 0 skipped +[inst/ctc_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/__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/entire.m] >>>>> /build/reproducible-path/octave-interval-3.2.1/inst/entire.m ***** assert (inf (entire ()), -inf); @@ -13752,7 +13773,99 @@ ***** 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/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 Checking C++ files ... +[src/mpfr_to_string_d.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_to_string_d.cc +***** test; + [s, isexact] = mpfr_to_string_d (-inf, "decimal", .1); + assert (s, {"0.1"}); + assert (isexact, false); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", inf), {"inf"}); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", -inf), {"-inf"}); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", nan), {"nan"}); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", 0), {"0x0.0000000000000p+0"}); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", 2), {"0x1.0000000000000p+1"}); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", -1), {"-0x1.0000000000000p+0"}); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", pow2 (-1022)), {"0x1.0000000000000p-1022"}); +***** assert (mpfr_to_string_d (0, "exact hexadecimal", pow2 (-1074)), {"0x0.0000000000001p-1022"}); +9 tests, 9 passed, 0 known failure, 0 skipped +[src/__setround__.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/__setround__.cc +***** xtest + __setround__ (+inf); + assert (1 + realmin > 1, true); + assert (1 - realmin == 1, true); + __setround__ (0.5); +***** xtest + __setround__ (-inf); + assert (1 + realmin == 1, true); + assert (1 - realmin < 1, true); + __setround__ (0.5); +***** test + __setround__ (0.5); + assert (1 + realmin == 1, true); + assert (1 - realmin == 1, true); +***** shared + __setround__ (0.5); +3 tests, 3 passed, 0 known failure, 0 skipped +[src/mpfr_linspace_d.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_linspace_d.cc +***** assert (mpfr_linspace_d (-inf, 1, 10, 10), 1 : 10); +***** assert (mpfr_linspace_d (inf, 1, 10, 8) - mpfr_linspace_d (-inf, 1, 10, 8), [0 2 2 4 4 4 8 0] .* eps); +2 tests, 2 passed, 0 known failure, 0 skipped +[src/mpfr_matrix_mul_d.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_matrix_mul_d.cc +***** test; + [l, u] = mpfr_matrix_mul_d (magic (3), magic (3)', magic (3) + 1, magic (3)' + 1); + assert (l, [101, 71, 53; 71, 83, 71; 53, 71, 101]); + assert (u, [134, 104, 86; 104, 116, 104; 86, 104, 134]); +***** xtest; + if (((exist ("__octave_config_info__") && ... + __octave_config_info__.ENABLE_OPENMP) || ... + (not (exist ("__octave_config_info__")) && ... + octave_config_info ("features").OPENMP)) ... + && nproc ("overridable") > 1) + ## OpenMP is enabled and may use more than one thread. + ## We should observe speed-ups by that. + A = vec (magic (2000)); + tic; + mpfr_matrix_mul_d (A', A, A', A); + time_per_element = toc; + A = [A A]; + tic; + mpfr_matrix_mul_d (A', A, A', A); + time_per_element_parallel = toc / numel (ans); + + ## Ideally, the runtime would be cut in half (at least), + ## however, there is an overhead, so let's be pessimistic and + ## assume that the parallel execution is at least 20% faster. + assert (time_per_element > 1.2 * time_per_element_parallel) + endif +2 tests, 2 passed, 0 known failure, 0 skipped +[src/crlibm_function.cc] +>>>>> /build/reproducible-path/octave-interval-3.2.1/src/crlibm_function.cc +***** test + for f = {"acos", "asin", "atan", "cos", "cosh", "exp", "expm1", "log", "log10", "log1p", "log2", "sin", "sinh", "tan"} + for rnd = {+inf, -inf, 0, 0.5} + assert (crlibm_function (f{:}, rnd{:}, 0.5), mpfr_function_d (f{:}, rnd{:}, 0.5)); + endfor + endfor +1 test, 1 passed, 0 known failure, 0 skipped [src/mpfr_vector_dot_d.cc] >>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_vector_dot_d.cc ***** test; @@ -13816,21 +13929,6 @@ out = vertcat (testcases.out); assert (isequaln (mpfr_vector_dot_d (0.5, in1, in1, 2), out)); 8 tests, 8 passed, 0 known failure, 0 skipped -[src/mpfr_to_string_d.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_to_string_d.cc -***** test; - [s, isexact] = mpfr_to_string_d (-inf, "decimal", .1); - assert (s, {"0.1"}); - assert (isexact, false); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", inf), {"inf"}); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", -inf), {"-inf"}); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", nan), {"nan"}); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", 0), {"0x0.0000000000000p+0"}); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", 2), {"0x1.0000000000000p+1"}); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", -1), {"-0x1.0000000000000p+0"}); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", pow2 (-1022)), {"0x1.0000000000000p-1022"}); -***** assert (mpfr_to_string_d (0, "exact hexadecimal", pow2 (-1074)), {"0x0.0000000000001p-1022"}); -9 tests, 9 passed, 0 known failure, 0 skipped [src/mpfr_matrix_sqr_d.cc] >>>>> /build/reproducible-path/octave-interval-3.2.1/src/mpfr_matrix_sqr_d.cc ***** test @@ -13839,6 +13937,58 @@ 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/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_vector_sum_d.cc ***** assert (mpfr_vector_sum_d (0, [eps, realmax, realmax, -realmax, -realmax], 2), eps) @@ -13903,111 +14053,6 @@ 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/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/__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_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_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); @@ -14083,15 +14128,6 @@ ***** test verify ("tan", 0.5, testdata.tan_rn); ***** test verify ("tan", 0, testdata.tan_rz); 60 tests, 60 passed, 0 known failure, 0 skipped -[src/crlibm_function.cc] ->>>>> /build/reproducible-path/octave-interval-3.2.1/src/crlibm_function.cc -***** test - for f = {"acos", "asin", "atan", "cos", "cosh", "exp", "expm1", "log", "log10", "log1p", "log2", "sin", "sinh", "tan"} - for rnd = {+inf, -inf, 0, 0.5} - assert (crlibm_function (f{:}, rnd{:}, 0.5), mpfr_function_d (f{:}, rnd{:}, 0.5)); - endfor - endfor -1 test, 1 passed, 0 known failure, 0 skipped Run tests in debian/check.m Checking supplementary TST files ... >>>>> processing crlibm.tst @@ -14134,12 +14170,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/13907/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/13907/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/99956 and its subdirectories -I: Current time: Fri May 23 09:45:30 -12 2025 -I: pbuilder-time-stamp: 1748036730 +I: removing directory /srv/workspace/pbuilder/13907 and its subdirectories +I: Current time: Sun Apr 21 06:11:04 +14 2024 +I: pbuilder-time-stamp: 1713629464