--- Begin Message ---
Source: octave-sparsersb
Version: 1.0.6-1
User: [email protected]
Usertags: needs-update
Dear Octave maintainers,
Recently octave-sparsersb started to fail (but some versions of 1.0.6-1
passed) its autopgktest on ci.debian.net¹. I copied the error below.
Unfortunately, whatever caused the regression, it seems it already
migrated to testing, as references also started to fail there.
Could you please investigate and either fix the autopkgtest or reassign
to the offending package?
Paul
¹ https://ci.debian.net/packages/o/octave-sparsersb/unstable/amd64/
https://ci.debian.net/data/autopkgtest/unstable/amd64/o/octave-sparsersb/568398/log.gz
autopkgtest [11:51:26]: test command1: [-----------------------
Checking package...
Checking m files ...
Checking C++ files ...
[sparsersb.cc]
>>>>> /tmp/autopkgtest-lxc.byt8xejv/downtmp/build.uz2/src/src/sparsersb.cc
***** test
#help sparsersb
s=sparsersb([2]), assert(s==2), assert(s!=1)
!!!!! test failed
'sparsersb' undefined near line 4 column 4
***** test
s=sparsersb([1,2],[1,1],[11,21],2,2 ), assert(nnz(s)==2)
!!!!! test failed
'sparsersb' undefined near line 3 column 4
***** test
s=sparsersb([1,2],[1,1],[11,21],2,2,-1 ), assert(nnz(s)==2)
!!!!! test failed
'sparsersb' undefined near line 3 column 4
***** test
s=sparsersb([1,2],[1,1],[11,21] ), assert(nnz(s)==2)
!!!!! test failed
'sparsersb' undefined near line 3 column 4
***** test
s=sparsersb(10,10 ), assert(nnz(s)==0)
!!!!! test failed
'sparsersb' undefined near line 3 column 4
***** test
s=sparsersb([1,1],[1,1],[11,21] ), assert(nnz(s)==1),
assert(s(1,1)==32)
!!!!! test failed
'sparsersb' undefined near line 3 column 4
***** test
s=sparsersb([1,1],[1,1],[11,21],2,2,"unique"), assert(nnz(s)==1),
assert(s(1,1)==21)
!!!!! test failed
'sparsersb' undefined near line 3 column 4
***** test
sparsersb("set","RSB_IO_WANT_VERBOSE_TUNING","1")
!!!!! test failed
'sparsersb' undefined near line 3 column 2
***** test
# sparsersb("get","RSB_IO_WANT_VERBOSE_TUNING","1") # FIXME
***** test
sparsersb(sparsersb([11,0;21,22]),"RSB_MIF_TOTAL_SIZE__TO__SIZE_T")
!!!!! test failed
'sparsersb' undefined near line 3 column 12
***** test
sparsersb(sparsersb([11,0;21,22]),"save","sparsersb_temporary_matrix_file.mtx")
!!!!! test failed
'sparsersb' undefined near line 3 column 12
***** test
[S, NROWS, NCOLS, NNZ, REPINFO, FIELD, SYMMETRY] =
sparsersb("sparsersb_temporary_matrix_file.mtx" );
assert(NROWS==2);assert(NCOLS==2);assert(NNZ==3);assert(FIELD=="real"
);assert(SYMMETRY=='U');
!!!!! test failed
'sparsersb' undefined near line 3 column 46
***** test
[S, NROWS, NCOLS, NNZ, REPINFO, FIELD, SYMMETRY] =
sparsersb("sparsersb_temporary_matrix_file.mtx", "Z");
assert(NROWS==2);assert(NCOLS==2);assert(NNZ==3);assert(FIELD=="complex");assert(SYMMETRY=='U');
!!!!! test failed
'sparsersb' undefined near line 3 column 46
***** test
rrm=sparsersb(sprand(1000,1000,0.001)); sparsersb(rrm,"render",
"sparsersb_temporary_render.eps" ,1024,1024);
# sparsersb(rrm,"renderb", "sparsersb_temporary_renderb.eps");
sparsersb(rrm,"renders", "sparsersb_temporary_renders.eps"); # FIXME
!!!!! test failed
'sparsersb' undefined near line 3 column 6
***** test
sparsersb(sparsersb(sprand(100,100,0.4)),"autotune","n",20,4,1,1,1)
!!!!! test failed
'sparsersb' undefined near line 3 column 12
***** demo
# You can use 'sparsersb' just like 'sparse' in the most of cases:
R=(rand(3)>.6)
# R =
#
# 0 0 0
# 0 0 0
# 1 0 1
#
A_octave=sparse(R)
# A_octave =
#
# Compressed Column Sparse (rows = 3, cols = 3, nnz = 2 [22%])
#
# (3, 1) -> 1
# (3, 3) -> 1
#
A_librsb=sparsersb(R)
# A_librsb =
#
# Recursive Sparse Blocks (rows = 3, cols = 3, nnz = 2, symm = U [22%])
#
# (3, 1) -> 1
# (3, 3) -> 1
#
# test sparsersb
# ...
# help sparsersb
***** demo
# The interface of 'sparsersb' is almost like the one of 'sparse'.
sparsersb([2]); # 1x1 matrix
sparsersb([1,2],[1,1],[11,21] ); # 2x1 matrix
sparsersb([1,2],[1,1],[11,21],2,2); # 2x2 matrix
sparsersb([1,2,2 ],[1,1,2 ],[11,21, 22],2,2); # 2x2 lower
triangular
sparsersb([1,2,2,2],[1,1,2,2],[11,21,11,11],2,2); # 2x2 lower
triangular, last element ignored
sparsersb([1,2,2,2],[1,1,2,2],[11,21,11,11],2,2,"unique"); # 2x2 lower
triangular, last element ignored
sparsersb([1,2,2,2],[1,1,2,2],[11,21,11,11],2,2,"sum"); # 2x2 lower
triangular, last two elements summed
# But it has a extensions, like symmetric and hermitian matrices.
sparsersb([1,2,2 ],[1,1,2 ],[11,21 , 22],2,2,"general"); # 2x2
lower tringular
sparsersb([1,2,2 ],[1,1,2 ],[11,21 , 22],2,2,"symmetric"); # 2x2
symmetric (only lower triangle stored)
sparsersb([1,2,2 ],[1,1,2 ],[11,21i, 22],2,2,"hermitian"); # 2x2
hermitian (only lower triangle stored)
***** demo
# Any 'sparse' or 'dense' matrix can be converted to 'sparsersb'.
d=sparsersb( [1,2;3,4] );
s=sparsersb(sparse([1,2;3,4]));
# Many matrix operators are active, e.g.: +,*,-,/,\ among others...
s+d;
s*d;
s-d;
s/d;
s\[1;1];
# ...
***** demo
# On large matrices 'sparsersb' is supposed to be faster than 'sparse'
in sparse matrix-vector multiplication:
M=10000;N=10000;P=100 / M;
s=sparse(sprand(M,N,P));
r=sparsersb(s);
x=ones(M,1);
assert(nnz(s)==nnz(r))
printf("Here, a %.2e x %.2e matrix with %.2e nonzeroes.\n",M,N,nnz(s))
tic();
sc=0;
while(toc()<3)
s*x;
sc=sc+1;
endwhile
st=toc()/sc;
printf("Each multiplication with 'sparse' took %.1es.\n",st);
tic();
rc=0;
while(toc()<3)
r*x;
rc=rc+1;
endwhile
rt=toc()/rc;
printf("Each multiplication with 'sparsersb' took %.3es, this is %.4g%%
of the time taken by 'sparse'.\n",rt,100*rt/st);
# 'sparsersb' has an 'empirical online auto-tuning' function
nsb=str2num(sparsersb(r,"get","RSB_MIF_LEAVES_COUNT__TO__RSB_BLK_INDEX_T"));
# after 'autotuning' for a specific operation, this will perform faster
tic;
r=sparsersb(r,"autotune","n",1);
toc;
nnb=str2num(sparsersb(r,"get","RSB_MIF_LEAVES_COUNT__TO__RSB_BLK_INDEX_T"));
printf ("Autotuning took %.2es (%d -> %d RSB blocks).\n", toc, nsb, nnb);
tic();
rc=0;
while(toc()<3)
r*x;
rc=rc+1;
endwhile
rt=toc()/rc;
printf("Each 'optimized' multiplication with 'sparsersb' took %.3es,
this is %.4g%% of the time taken by 'sparse'.\n",rt,100*rt/st);
***** demo
# 'sparsersb' can render matrices into Encapsulated Postscript files:
rm = sparsersb(sprand(100000,100000,.0001));
sparsersb(rm,'render','sptest.eps')
15 tests, 1 passed, 0 known failure, 0 skipped
Run tests in debian/check.m
make: Entering directory
'/tmp/autopkgtest-lxc.byt8xejv/downtmp/build.uz2/src/src'
make: -p: Command not found
LFLAGS=" " CXXFLAGS=" " -D'RSB_SPARSERSB_LABEL=sparsersb' -o
sparsersb.oct sparsersb.cc
/bin/sh: 1: -DRSB_SPARSERSB_LABEL=sparsersb: not found
make: *** [Makefile:22: sparsersb.oct] Error 127
make: Leaving directory
'/tmp/autopkgtest-lxc.byt8xejv/downtmp/build.uz2/src/src'
Summary: 16 tests, 2 passed, 0 known failures, 0 skipped
Some tests failed. Giving up...
autopkgtest [11:51:27]: test command1: -----------------------]
signature.asc
Description: OpenPGP digital signature
--- End Message ---