Diff of the two buildlogs: -- --- b1/build.log 2024-04-05 13:10:56.744695311 +0000 +++ b2/build.log 2024-04-05 13:12:38.444369006 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu May 8 07:32:44 -12 2025 -I: pbuilder-time-stamp: 1746732764 +I: Current time: Sat Apr 6 03:10:58 +14 2024 +I: pbuilder-time-stamp: 1712322658 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -27,54 +27,86 @@ dpkg-source: info: unpacking octave-splines_1.3.5-2.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/104704/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/24430/tmp/hooks/D01_modify_environment starting +debug: Running on ionos2-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 5 13:11 /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/24430/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/24430/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=7 ' + 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='8a261bb385114f2494fa563619c1960a' - 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='104704' - PS1='# ' - PS2='> ' + INVOCATION_ID=59af367d8cc3427a9087643ff8bc83af + 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=24430 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.q9sOLzGi/pbuilderrc_vERh --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.q9sOLzGi/b1 --logfile b1/build.log octave-splines_1.3.5-2.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.q9sOLzGi/pbuilderrc_uv7G --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.q9sOLzGi/b2 --logfile b2/build.log octave-splines_1.3.5-2.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-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 6 17:46 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/104704/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Apr 4 11:25 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/24430/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -620,7 +652,7 @@ Get: 506 http://deb.debian.org/debian trixie/main i386 gfortran i386 4:13.2.0-7 [1432 B] Get: 507 http://deb.debian.org/debian trixie/main i386 octave-dev i386 8.4.0-1+b1 [960 kB] Get: 508 http://deb.debian.org/debian trixie/main i386 dh-octave all 1.8.0 [22.7 kB] -Fetched 212 MB in 11s (19.5 MB/s) +Fetched 212 MB in 6s (36.5 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package netbase. (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 ... 19876 files and directories currently installed.) @@ -2705,7 +2737,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/octave-splines-1.3.5/ && 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-splines_1.3.5-2_source.changes +I: user script /srv/workspace/pbuilder/24430/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/24430/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/octave-splines-1.3.5/ && 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-splines_1.3.5-2_source.changes dpkg-buildpackage: info: source package octave-splines dpkg-buildpackage: info: source version 1.3.5-2 dpkg-buildpackage: info: source distribution unstable @@ -2742,50 +2778,18 @@ Checking package... Run the unit tests... Checking m files ... -[inst/tps_val.m] ->>>>> /build/reproducible-path/octave-splines-1.3.5/inst/tps_val.m -***** shared x,y,c,xi - x = ([1:10 10.5 11.3])'; y = sin(x); - c = tpaps(x,y,1); -***** assert (tpaps(x,y,1,x), tps_val(x,c,x), 100*eps); - x = ((1 ./ (1:100))' - 0.5) * ([0.2 0.6]); - y = x(:, 1) .^ 2 + x(:, 2) .^ 2; - c = tpaps(x,y,1); -***** assert (tpaps(x,y,1,x), tps_val(x,c,x), 100*eps); -***** assert (tps_val(x,c,x,true), tps_val(x,c,x,false), 100*eps); -3 tests, 3 passed, 0 known failure, 0 skipped -[inst/bin_values.m] ->>>>> /build/reproducible-path/octave-splines-1.3.5/inst/bin_values.m -***** shared x, y, x_bin, y_bin, w_bin, n_bin +[inst/dedup.m] +>>>>> /build/reproducible-path/octave-splines-1.3.5/inst/dedup.m +***** shared x, y, w x = [1; 2; 2; 3; 4]; y = [0 0; 1 1; 2 1; 3 4; 5 NaN]; - [x_bin y_bin w_bin n_bin] = bin_values(x, y); -***** assert (x_bin, [1; 7/3]); -***** assert (y_bin, [0 0; 2 2]); -***** assert (!any(isfinite(w_bin(1, :)))); -***** assert (w_bin(2, :), [3 1]); -***** assert (n_bin, [1; 3]); -5 tests, 5 passed, 0 known failure, 0 skipped -[inst/csaps.m] ->>>>> /build/reproducible-path/octave-splines-1.3.5/inst/csaps.m -***** shared x,y,xi,yi,p,sigma2,unc_yi,df - x = ([1:10 10.5 11.3])'; y = sin(x); xi = linspace(min(x), max(x), 30)'; -***** assert (csaps(x,y,1,x), y, 10*eps); -***** assert (csaps(x,y,1,x'), y', 10*eps); -***** assert (csaps(x',y',1,x'), y', 10*eps); -***** assert (csaps(x',y',1,x), y, 10*eps); -***** assert (csaps(x,[y 2*y],1,x)', [y 2*y], 10*eps); - [yi,p,sigma2,unc_yi,df] = csaps(x,y,1,xi); -***** assert (yi, ppval(csape(x, y, "variational"), xi), eps); -***** assert (p, 1); -***** assert (unc_yi, zeros(size(xi))); -***** assert (sigma2, 0); -***** assert (df, numel(x)); - [yi,p,~,~,df] = csaps(x,y,0,xi); -***** assert (yi, polyval(polyfit(x, y, 1), xi), 10*eps); -***** assert (p, 0); -***** assert (df, 2, 100*eps); -13 tests, 13 passed, 0 known failure, 0 skipped + w = [1; 0.1; 1; 0.5; 1]; +***** assert (nthargout(1:3, @dedup, x, y, ones(size(x))), nthargout(1:3, @dedup, x, y)) + [x y w] = dedup(x, y, w); +***** assert (x, [1; 2; 3]); +***** assert (y, [0 0; 21/11 1; 3 4], 10*eps); +***** assert (w, [1; 1.1; 0.5]); +4 tests, 4 passed, 0 known failure, 0 skipped [inst/csaps_sel.m] >>>>> /build/reproducible-path/octave-splines-1.3.5/inst/csaps_sel.m ***** shared x,y,ret,p,sigma2,unc_y @@ -2809,18 +2813,79 @@ legend ('Given data', 'Spline fit') title ('Spline smoothing with synthetic data sampled from sine wave with noise') 5 tests, 5 passed, 0 known failure, 0 skipped -[inst/dedup.m] ->>>>> /build/reproducible-path/octave-splines-1.3.5/inst/dedup.m -***** shared x, y, w - x = [1; 2; 2; 3; 4]; - y = [0 0; 1 1; 2 1; 3 4; 5 NaN]; - w = [1; 0.1; 1; 0.5; 1]; -***** assert (nthargout(1:3, @dedup, x, y, ones(size(x))), nthargout(1:3, @dedup, x, y)) - [x y w] = dedup(x, y, w); -***** assert (x, [1; 2; 3]); -***** assert (y, [0 0; 21/11 1; 3 4], 10*eps); -***** assert (w, [1; 1.1; 0.5]); -4 tests, 4 passed, 0 known failure, 0 skipped +[inst/regularization.m] +>>>>> /build/reproducible-path/octave-splines-1.3.5/inst/regularization.m +***** demo + N = 100; interval = [0,10]; + x = [3.2,4,5,5.2,5.6]'; y = x; + + clear F1 F2 + %% regularize towards slope 0.1, no smoothing + F1.lambda = 1e-2; F1.g = @(x)0.1*ones(size(x)); + [grid,u1] = regularization([x,y],interval,N,F1); + %% regularize towards slope 0.1, with some smoothing + F2.lambda = 1*1e-3; + [grid,u2] = regularization([x,y],interval,N,F1,F2); + + figure(1) + plot(grid,u1,'b',grid,u2,'g',x,y,'*r') + xlabel('x'); ylabel('solution'); + legend('regular1','regular2','data','location','northwest') +***** demo + N = 1000; interval = [0,pi]; + x = linspace( pi/4,3*pi/4,15)'; y = sin(x)+ 0.03*randn(size(x)); + + clear F1 F2 + %% regularize by smoothing only + F1.lambda = 0; F2.lambda = 1e-3; + [grid,u1] = regularization([x,y],interval,N,F1,F2); + %% regularize by smoothing and aim for slope 0 + F1.lambda = 1*1e-2; + [grid,u2] = regularization([x,y],interval,N,F1,F2); + + figure(1) + plot(grid,u1,'b',grid,u2,'g',x,y,'*r') + xlabel('x'); ylabel('solution'); + legend('regular1','regular2','data','location','northwest') +***** demo + interval = [0,1]; + N = 400; + x = rand(200,1); + %% generate the data on four line segments, add some noise + y = 2 - 2*x + (x>0.25) - 2*(x>0.5).*(x<0.65)+ 0.1*randn(length(x),1); + clear F1 + %% apply regularization with three different parameters + F1.lambda = 1e-3; [grid,u1] = regularization([x,y],interval,N,F1); + F1.lambda = 1e-1; [grid,u2] = regularization([x,y],interval,N,F1); + F1.lambda = 3e+0; [grid,u3] = regularization([x,y],interval,N,F1); + + figure(1); plot(grid,u1,'b',grid,u2,'g',grid,u3,'m',x,y,'+r') + xlabel('x'); ylabel('solution') + legend('\lambda_1=0.001','\lambda_1=0.1','\lambda_1=3','data') +***** demo + %% generate a smoothing spline, see also csaps() in the package splines + N = 1000; interval = [0,10.3]; + x = [0 3 4 6 10]'; y = [0 1 0 1 0]'; + clear F2 + F2.lambda = 1e-2; + %% apply regularization, the result is a smoothing spline + [grid,u] = regularization([x,y],interval,N,0,F2); + + figure(1); + plot(grid,u,'b',x,y,'*r') + legend('spline','data') + xlabel('x'); ylabel('solution') +***** test + data = [0,0;1,1;2,2]; + F1.lambda = 0.0; F2.lambda = 0.1; + [grid,u] = regularization(data,[0,1],10,F1,F2); + assert(norm(grid-u),0,1e-12) +***** test + x = linspace(-1,1,11); + F1.lambda = 0.01;F2.g = @(x) 2*ones(size(x)); F2.lambda = 0.01; + [grid,u] = regularization([x;x.^2]',[-2,2],20,F1,F2); + assert(u(11),7.330959483903200e-03,1e-8) +2 tests, 2 passed, 0 known failure, 0 skipped [inst/csape.m] >>>>> /build/reproducible-path/octave-splines-1.3.5/inst/csape.m ***** shared x,x2,y,cond,pp,pp1,pp2,h,valc,xi,yi @@ -2932,94 +2997,6 @@ ***** assert (ppval(ppder(pp), x(1)), ppval(ppder(pp), x(end)), 10*eps); ***** assert (ppval(ppder(pp, 2), x(1)), ppval(ppder(pp, 2), x(end)), 10*eps); 85 tests, 85 passed, 0 known failure, 0 skipped -[inst/tps_val_der.m] ->>>>> /build/reproducible-path/octave-splines-1.3.5/inst/tps_val_der.m -***** shared a,b,x,y,x1,x2,y1,c,dy,dy0 - a = 2; b = -3; x = ([1:2:10 10.5 11.3])'; y = a*x; - c = tpaps(x,y,1); -***** assert (a*ones(size(x)), tps_val_der(x,c,x), 1E3*eps); - [x1 x2] = meshgrid(x, x); - y1 = a*x1+b*x2; - c = tpaps([x1(:) x2(:)],y1(:),0.5); - dy = tps_val_der([x1(:) x2(:)],c,[x1(:) x2(:)]); - dy0 = tps_val_der([x1(:) x2(:)],c,[x1(:) x2(:)],false); -***** assert (a*ones(size(x1(:))), dy(:, 1), 1E3*eps); -***** assert (b*ones(size(x2(:))), dy(:, 2), 1E3*eps); -***** assert (dy0, dy, 1E3*eps); -4 tests, 4 passed, 0 known failure, 0 skipped -[inst/regularization.m] ->>>>> /build/reproducible-path/octave-splines-1.3.5/inst/regularization.m -***** demo - N = 100; interval = [0,10]; - x = [3.2,4,5,5.2,5.6]'; y = x; - - clear F1 F2 - %% regularize towards slope 0.1, no smoothing - F1.lambda = 1e-2; F1.g = @(x)0.1*ones(size(x)); - [grid,u1] = regularization([x,y],interval,N,F1); - %% regularize towards slope 0.1, with some smoothing - F2.lambda = 1*1e-3; - [grid,u2] = regularization([x,y],interval,N,F1,F2); - - figure(1) - plot(grid,u1,'b',grid,u2,'g',x,y,'*r') - xlabel('x'); ylabel('solution'); - legend('regular1','regular2','data','location','northwest') -***** demo - N = 1000; interval = [0,pi]; - x = linspace( pi/4,3*pi/4,15)'; y = sin(x)+ 0.03*randn(size(x)); - - clear F1 F2 - %% regularize by smoothing only - F1.lambda = 0; F2.lambda = 1e-3; - [grid,u1] = regularization([x,y],interval,N,F1,F2); - %% regularize by smoothing and aim for slope 0 - F1.lambda = 1*1e-2; - [grid,u2] = regularization([x,y],interval,N,F1,F2); - - figure(1) - plot(grid,u1,'b',grid,u2,'g',x,y,'*r') - xlabel('x'); ylabel('solution'); - legend('regular1','regular2','data','location','northwest') -***** demo - interval = [0,1]; - N = 400; - x = rand(200,1); - %% generate the data on four line segments, add some noise - y = 2 - 2*x + (x>0.25) - 2*(x>0.5).*(x<0.65)+ 0.1*randn(length(x),1); - clear F1 - %% apply regularization with three different parameters - F1.lambda = 1e-3; [grid,u1] = regularization([x,y],interval,N,F1); - F1.lambda = 1e-1; [grid,u2] = regularization([x,y],interval,N,F1); - F1.lambda = 3e+0; [grid,u3] = regularization([x,y],interval,N,F1); - - figure(1); plot(grid,u1,'b',grid,u2,'g',grid,u3,'m',x,y,'+r') - xlabel('x'); ylabel('solution') - legend('\lambda_1=0.001','\lambda_1=0.1','\lambda_1=3','data') -***** demo - %% generate a smoothing spline, see also csaps() in the package splines - N = 1000; interval = [0,10.3]; - x = [0 3 4 6 10]'; y = [0 1 0 1 0]'; - clear F2 - F2.lambda = 1e-2; - %% apply regularization, the result is a smoothing spline - [grid,u] = regularization([x,y],interval,N,0,F2); - - figure(1); - plot(grid,u,'b',x,y,'*r') - legend('spline','data') - xlabel('x'); ylabel('solution') -***** test - data = [0,0;1,1;2,2]; - F1.lambda = 0.0; F2.lambda = 0.1; - [grid,u] = regularization(data,[0,1],10,F1,F2); - assert(norm(grid-u),0,1e-12) -***** test - x = linspace(-1,1,11); - F1.lambda = 0.01;F2.g = @(x) 2*ones(size(x)); F2.lambda = 0.01; - [grid,u] = regularization([x;x.^2]',[-2,2],20,F1,F2); - assert(u(11),7.330959483903200e-03,1e-8) -2 tests, 2 passed, 0 known failure, 0 skipped [inst/regularization2D.m] >>>>> /build/reproducible-path/octave-splines-1.3.5/inst/regularization2D.m ***** demo @@ -3066,6 +3043,30 @@ -3.356775648311422e-02]; assert(norm(value_at_data-u_valid(:,3)),0,1e-12) 2 tests, 2 passed, 0 known failure, 0 skipped +[inst/tps_val.m] +>>>>> /build/reproducible-path/octave-splines-1.3.5/inst/tps_val.m +***** shared x,y,c,xi + x = ([1:10 10.5 11.3])'; y = sin(x); + c = tpaps(x,y,1); +***** assert (tpaps(x,y,1,x), tps_val(x,c,x), 100*eps); + x = ((1 ./ (1:100))' - 0.5) * ([0.2 0.6]); + y = x(:, 1) .^ 2 + x(:, 2) .^ 2; + c = tpaps(x,y,1); +***** assert (tpaps(x,y,1,x), tps_val(x,c,x), 100*eps); +***** assert (tps_val(x,c,x,true), tps_val(x,c,x,false), 100*eps); +3 tests, 3 passed, 0 known failure, 0 skipped +[inst/bin_values.m] +>>>>> /build/reproducible-path/octave-splines-1.3.5/inst/bin_values.m +***** shared x, y, x_bin, y_bin, w_bin, n_bin + x = [1; 2; 2; 3; 4]; + y = [0 0; 1 1; 2 1; 3 4; 5 NaN]; + [x_bin y_bin w_bin n_bin] = bin_values(x, y); +***** assert (x_bin, [1; 7/3]); +***** assert (y_bin, [0 0; 2 2]); +***** assert (!any(isfinite(w_bin(1, :)))); +***** assert (w_bin(2, :), [3 1]); +***** assert (n_bin, [1; 3]); +5 tests, 5 passed, 0 known failure, 0 skipped [inst/tpaps.m] >>>>> /build/reproducible-path/octave-splines-1.3.5/inst/tpaps.m ***** shared x,y @@ -3075,6 +3076,41 @@ y = x(:, 1) .^ 2 + x(:, 2) .^ 2; ***** assert (tpaps(x,y,1,x), y, 1E-10); 2 tests, 2 passed, 0 known failure, 0 skipped +[inst/csaps.m] +>>>>> /build/reproducible-path/octave-splines-1.3.5/inst/csaps.m +***** shared x,y,xi,yi,p,sigma2,unc_yi,df + x = ([1:10 10.5 11.3])'; y = sin(x); xi = linspace(min(x), max(x), 30)'; +***** assert (csaps(x,y,1,x), y, 10*eps); +***** assert (csaps(x,y,1,x'), y', 10*eps); +***** assert (csaps(x',y',1,x'), y', 10*eps); +***** assert (csaps(x',y',1,x), y, 10*eps); +***** assert (csaps(x,[y 2*y],1,x)', [y 2*y], 10*eps); + [yi,p,sigma2,unc_yi,df] = csaps(x,y,1,xi); +***** assert (yi, ppval(csape(x, y, "variational"), xi), eps); +***** assert (p, 1); +***** assert (unc_yi, zeros(size(xi))); +***** assert (sigma2, 0); +***** assert (df, numel(x)); + [yi,p,~,~,df] = csaps(x,y,0,xi); +***** assert (yi, polyval(polyfit(x, y, 1), xi), 10*eps); +***** assert (p, 0); +***** assert (df, 2, 100*eps); +13 tests, 13 passed, 0 known failure, 0 skipped +[inst/tps_val_der.m] +>>>>> /build/reproducible-path/octave-splines-1.3.5/inst/tps_val_der.m +***** shared a,b,x,y,x1,x2,y1,c,dy,dy0 + a = 2; b = -3; x = ([1:2:10 10.5 11.3])'; y = a*x; + c = tpaps(x,y,1); +***** assert (a*ones(size(x)), tps_val_der(x,c,x), 1E3*eps); + [x1 x2] = meshgrid(x, x); + y1 = a*x1+b*x2; + c = tpaps([x1(:) x2(:)],y1(:),0.5); + dy = tps_val_der([x1(:) x2(:)],c,[x1(:) x2(:)]); + dy0 = tps_val_der([x1(:) x2(:)],c,[x1(:) x2(:)],false); +***** assert (a*ones(size(x1(:))), dy(:, 1), 1E3*eps); +***** assert (b*ones(size(x2(:))), dy(:, 2), 1E3*eps); +***** assert (dy0, dy, 1E3*eps); +4 tests, 4 passed, 0 known failure, 0 skipped Checking C++ files ... Done running the unit tests. Summary: 125 tests, 125 passed, 0 known failures, 0 skipped @@ -3103,12 +3139,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/24430/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/24430/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/104704 and its subdirectories -I: Current time: Thu May 8 07:33:55 -12 2025 -I: pbuilder-time-stamp: 1746732835 +I: removing directory /srv/workspace/pbuilder/24430 and its subdirectories +I: Current time: Sat Apr 6 03:12:37 +14 2024 +I: pbuilder-time-stamp: 1712322757