--- /tmp/linbox-1.7.0-18aigeoel/debian/liblinbox-doc_1.7.0-1_all.deb +++ liblinbox-doc_1.7.0-1_all.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2021-12-16 21:18:23.000000 debian-binary │ --rw-r--r-- 0 0 0 43496 2021-12-16 21:18:23.000000 control.tar.xz │ --rw-r--r-- 0 0 0 69854980 2021-12-16 21:18:23.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 43484 2021-12-16 21:18:23.000000 control.tar.xz │ +-rw-r--r-- 0 0 0 69855240 2021-12-16 21:18:23.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── file list │ │ │ @@ -79,15 +79,15 @@ │ │ │ -rw-r--r-- 0 root (0) root (0) 213413 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/blas-matrix_8h__incl.png │ │ │ -rw-r--r-- 0 root (0) root (0) 12117 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/blas-subvector_8h.html │ │ │ -rw-r--r-- 0 root (0) root (0) 279333 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/blas-subvector_8h__dep__incl.png │ │ │ -rw-r--r-- 0 root (0) root (0) 4408 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/blas-subvector_8h__incl.png │ │ │ -rw-r--r-- 0 root (0) root (0) 14807 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/blas-vector_8h.html │ │ │ -rw-r--r-- 0 root (0) root (0) 245600 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/blas-vector_8h__dep__incl.png │ │ │ -rw-r--r-- 0 root (0) root (0) 143164 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/blas-vector_8h__incl.png │ │ │ --rw-r--r-- 0 root (0) root (0) 26229 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/bug.html │ │ │ +-rw-r--r-- 0 root (0) root (0) 26399 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/bug.html │ │ │ -rw-r--r-- 0 root (0) root (0) 6651 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/butterfly_8h.html │ │ │ -rw-r--r-- 0 root (0) root (0) 2944 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/butterfly_8h__dep__incl.png │ │ │ -rw-r--r-- 0 root (0) root (0) 4190 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/butterfly_8h__incl.png │ │ │ -rw-r--r-- 0 root (0) root (0) 7853 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/butterfly_8inl.html │ │ │ -rw-r--r-- 0 root (0) root (0) 4857 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/butterfly_8inl__dep__incl.png │ │ │ -rw-r--r-- 0 root (0) root (0) 2573 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/butterfly_8inl__incl.png │ │ │ -rw-r--r-- 0 root (0) root (0) 8152 2021-12-16 21:18:23.000000 ./usr/share/doc/liblinbox-dev/charpoly_8_c.html │ │ ├── ./usr/share/doc/liblinbox-dev/bug.html │ │ │ @@ -39,118 +39,88 @@ │ │ │ │ │ │
│ │ │
│ │ │
Bug List
│ │ │
│ │ │
│ │ │
│ │ │ -
Global bench_rank (int carac)
│ │ │ -
no gz reader ?
│ │ │
Global BlackboxContainerBase< Field, Blackbox >::BlackboxContainerBase (const Blackbox *BB, const Field &F, size_t Size)
│ │ │
no need for F
│ │ │
Global BlackboxContainerBase< Field, Blackbox >::BlackboxContainerBase (const Blackbox *BB, const Field &F)
│ │ │
no need for F
│ │ │
Class BlasMatrix< _Field, _Storage >
│ │ │
necessitates the inclusion of those things after of before. We should not include directly this but just the matrices and they automatically need their domain (for now)
│ │ │
Global BlasMatrix< _Field, _Storage >::operator[] (size_t i)
│ │ │
Rows and Cols should be BlasVectors
│ │ │
Class BlasMatrix< _Field, _Storage >::rebind< _Tp1, _Rep2 >
│ │ │
other rep
│ │ │
Global BlasMatrixDomain< Field_ >::areEqual (const Matrix1 &A, const Matrix2 &B) const
│ │ │
use refs
│ │ │
Global BlasMatrixDomain< Field_ >::isIdentity (const Matrix1 &A) const
│ │ │ -

use refs

│ │ │ -

use refs

│ │ │ +

use refs

│ │ │ +

use refs

│ │ │
│ │ │
Global BlasMatrixDomain< Field_ >::isIdentityGeneralized (const Matrix1 &A) const
│ │ │ -

use refs

│ │ │ -

use refs

│ │ │ +

use refs

│ │ │ +

use refs

│ │ │
│ │ │
Global BlasMatrixDomain< Field_ >::isZero (const Matrix1 &A) const
│ │ │
use refs
│ │ │
Global BlasMatrixDomain< Field_ >::setZero (Matrix &I) const
│ │ │
use fflas-ffpack
│ │ │
Global CRABuilderEarlyMultip< Domain_Type >::dot (DomainElement &z, const Domain &D, const Vect1 &v1, const Vect2 &v2)
│ │ │
why a dot product here ?
│ │ │
Global CRABuilderEarlyMultip< Domain_Type >::dot (Integer &z, const Integer &D, const Vect1 &v1, const Vect2 &v2)
│ │ │
why a dot product here ?
│ │ │ -
Global distinct (I1 a, I1 b, Lp &c)
│ │ │ -

this already exists elsewhere

│ │ │ -

this already exists elsewhere

│ │ │ -
│ │ │
Global field_subtests::testRingTrivia (const Field &F, const char *name)
│ │ │
BlockRing does not know about 0 and 1 !
│ │ │
Global FieldArchetype::constructor (FieldAbstract *trait, Field_qcq *field_ptr)
│ │ │
leaks here (new not deleted)
│ │ │
Global generate_precRatMat (string &filename, RMatrix &M, DVector &den, Integer &denPrec)
│ │ │
non reentrant strtok
│ │ │ -
Class indexDomain
│ │ │ -
does not belong here
│ │ │
Class IndexedCategory< BlasMatrix< Field, _Rep > >
│ │ │
this is trait, not a Category
│ │ │ -
Namespace LinBox
│ │ │ -

it is dangerous to include matrices defs that include hom for their rebind...

│ │ │ -

those are not just traits:

│ │ │ -
│ │ │
Global LinBox::CheckRank (const Field &F, const typename Field ::Element *A, const size_t &m, const size_t &n, const size_t &lda, const size_t &alledged_rank)
│ │ │
not used
│ │ │
Global LinBox::isPositiveDefinite (const Blackbox &A, const RingCategories::IntegerTag &tag, const Method::Auto &M)
│ │ │ -

should try a modular minpoly and decide on the degree of that...

│ │ │ -

this crude size check can be refined

│ │ │ -
│ │ │ +
should try a modular minpoly and decide on the degree of that...
│ │ │
Global LinBox::isPositiveDefinite (const Blackbox &A, const RingCategories::IntegerTag &tag, const Method::DenseElimination &M)
│ │ │
why map (same field)? This is a copy.
│ │ │ +
Global LinBox::isPositiveDefinite (const Blackbox &A, const RingCategories::IntegerTag &tag, const Method::Auto &M)
│ │ │ +
this crude size check can be refined
│ │ │
Global LinBox::Protected::Identity (const Field &F, typename Field::Element *Id, const size_t ldI, const size_t lig1, const size_t col1, const size_t lig2, const size_t col2)
│ │ │
long et size_t ne cohabitent pas bien.
│ │ │
Global LinBox::Protected::random_rankupdate (Field &F, const Randiter &R, BlasMatrix< Field > &A, int &rank, const RingCategories::IntegerTag &tag)
│ │ │ -

const !

│ │ │ -

do perms ?

│ │ │ +

do perms ?

│ │ │ +

const !

│ │ │
│ │ │
Global LinBox::randomAns (const Ring &R, Matrix &Mat, size_t n, size_t epr)
│ │ │
use BlasVector.
│ │ │
Global LinBox::RandomMatrixWithDet (const Field &F, typename Field ::Element *A, const size_t &m, const size_t &lda, const typename Field ::Element &det)
│ │ │
not used
│ │ │ -
Global LinBox::rank (size_t &res, const Blackbox &A, const RingCategories::ModularTag &tag, const Method::Wiedemann &M)
│ │ │ -
This is too much for solutions. It belongs in algorithms
│ │ │ -
Global LinBox::rank (size_t &r, const Blackbox &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
│ │ │ -
choose (benchmark) better cuttoff (size, nbnz, sparse rep)
│ │ │
Global LinBox::rankInPlace (size_t &r, Blackbox &A)
│ │ │
there is no Elimination() method there.
│ │ │
Namespace LinBox::SparseFileFormat
│ │ │
use the enum!!!!
│ │ │ -
Global LinBox::VectorWrapper::constRefSpecialized (Vector &v, size_t i, VectorCategories::SparseSequenceVectorTag)
│ │ │ -
who is zero ?
│ │ │
Global LinBox::VectorWrapper::constRefSpecialized (Vector &v, size_t i, VectorCategories::SparseParallelVectorTag)
│ │ │
who is zero ?
│ │ │ +
Global LinBox::VectorWrapper::constRefSpecialized (Vector &v, size_t i, VectorCategories::SparseSequenceVectorTag)
│ │ │ +
who is zero ?
│ │ │
Global LinBox::VectorWrapper::refSpecialized (Vector &v, size_t i, VectorCategories::SparseSequenceVectorTag)
│ │ │
who is zero ?
│ │ │
Global LinBox::VectorWrapper::refSpecialized (Vector &v, size_t i, VectorCategories::SparseParallelVectorTag)
│ │ │
who is zero ?
│ │ │ -
Global main (int argc, char **argv)
│ │ │ -

testRandomIterator fails

│ │ │ -

should be tried on NTZ_LL too

│ │ │ -
│ │ │ -
Global main (int ac, char **av)
│ │ │ -
: this one completely fails :
│ │ │ -
Global main (int argc, char **argv)
│ │ │ -
testRandomIterator fails
│ │ │ -
Global main (int argc, char *argv[])
│ │ │ -
q or not q ?
│ │ │ -
Global main (int argc, char **argv)
│ │ │ -
should be tried on NTZ_LL too
│ │ │
File matrix/random-matrix.h
│ │ │
this belongs to algorithms...
│ │ │
Global MatrixDomain< Field_ >::Rep_
│ │ │
should be BlasVector
│ │ │
Class MatrixDomain< GF2 >
│ │ │
this is half done and makes MatrixDomain on GF2 hardly usable.
│ │ │
Global MatrixDomain< GF2 >::mulColSpecialized (Vector1 &w, const Matrix &A, const Vector2 &v, VectorCategories::DenseZeroOneVectorTag, VectorCategories::DenseZeroOneVectorTag) const
│ │ │
what's happening here ?
│ │ │ -
File modular.h
│ │ │ -
move Element& init(const Element&) to FFPACK. use using more..
│ │ │
Global MoorePenrose< Blackbox >::MoorePenrose (const MoorePenrose &A)
│ │ │
Value of pointer '_matB1', which points to allocated memory, is copied in copy constructor instead of allocating new memory.
│ │ │
Global OpenCLMatrixDomain< Field_ >::areEqual (const Matrix1 &A, const Matrix2 &B)
│ │ │
use refs
│ │ │
Global OpenCLMatrixDomain< Field_ >::isIdentity (const Matrix1 &A)
│ │ │

use refs

│ │ │

use refs

│ │ │ @@ -161,16 +131,14 @@ │ │ │
│ │ │
Global OpenCLMatrixDomain< Field_ >::isZero (const Matrix1 &A)
│ │ │
use refs
│ │ │
Class PLUQMatrix< Field >
│ │ │
Should really be tempalted by Matrix and be a (sub)domain
│ │ │
Global PLUQMatrix< Field >::PLUQMatrix (BlasMatrix< Field, _Rep > &A, BlasPermutation< size_t > &P, BlasPermutation< size_t > &Q)
│ │ │
in place ?
│ │ │ -
Global printPolynomial (const Field &F, const Polynomial &v)
│ │ │ -
this should be elsewhere
│ │ │
File rational-reconstruction.h
│ │ │
there seems to be a confusion between Ring _r, [iI]nteger... Besides we have to check that Ring/Integer/NTL_ZZ are the 'same'.
│ │ │
Global ScalarMatrix< Field_ >::ScalarMatrix ()
│ │ │
this should not be allowed (unknown field)
│ │ │
Global SparseMatrix< _Field, SparseMatrixFormat::COO >::SparseMatrix (const _Field &F, VectStream &stream)
│ │ │
may be 0...
│ │ │
Global SparseMatrix< _Field, SparseMatrixFormat::COO::implicit >::apply (Vector &y, const Vector &x, const Element &a) const
│ │ │ @@ -181,52 +149,83 @@ │ │ │
if too big, create transpose.
│ │ │
Global SparseMatrix< Field_, SparseMatrixFormat::TPL >::write (std::ostream &out) const
│ │ │
we should not support too many formats
│ │ │
Global SparseMatrixGeneric< _Field, _Row, Trait >::size () const
│ │ │
should it be elements or non zero elements ?
│ │ │
Global SparseMatrixWriteHelper< Matrix >::write (const Matrix &A, std::ostream &os, Tag::FileFormat format)
│ │ │
this is reall the "generic" one
│ │ │ +
File test-commentator.C
│ │ │ +
this test does not even test if anything is outputted (and it passes even though)
│ │ │ +
File test-matrix-stream.C
│ │ │ +
this tests reveals memory leaks
│ │ │ +
File test-matrix-utils.h
│ │ │ +
put in matrix/random-matrix.h
│ │ │ +
File test-smith-form.C
│ │ │ +
should work for NTL Integers too
│ │ │ +
Global test_full_multip_matrix (std::ostream &report, size_t PrimeSize, size_t Size, std::pair< size_t, size_t > dims)
│ │ │ +
it is not possible to allocate some memory and use submatrices ?
│ │ │ +
Global Toeplitz< typename _PRing::CoeffField, _PRing >::write (std::ostream &os=std::cout) const
│ │ │ +
this is not MM format at all
│ │ │ +
Class Transpose< Blackbox >
│ │ │ +
no write here. test-blackbox.h requires it
│ │ │ +
Class ZOQuad< _Field >
│ │ │ +
needs read for test-blackbox.h
│ │ │ +
Global bench_rank (int carac)
│ │ │ +
no gz reader ?
│ │ │ +
Global distinct (I1 a, I1 b, Lp &c)
│ │ │ +

this already exists elsewhere

│ │ │ +

this already exists elsewhere

│ │ │ +
│ │ │ +
Class indexDomain
│ │ │ +
does not belong here
│ │ │ +
Namespace LinBox
│ │ │ +

it is dangerous to include matrices defs that include hom for their rebind...

│ │ │ +

those are not just traits:

│ │ │ +
│ │ │ +
Global LinBox::rank (size_t &r, const Blackbox &A, const RingCategories::ModularTag &tag, const Method::Auto &m)
│ │ │ +
choose (benchmark) better cuttoff (size, nbnz, sparse rep)
│ │ │ +
Global LinBox::rank (size_t &res, const Blackbox &A, const RingCategories::ModularTag &tag, const Method::Wiedemann &M)
│ │ │ +
This is too much for solutions. It belongs in algorithms
│ │ │ +
Global main (int argc, char **argv)
│ │ │ +
should be tried on NTZ_LL too
│ │ │ +
Global main (int argc, char *argv[])
│ │ │ +
q or not q ?
│ │ │ +
Global main (int argc, char **argv)
│ │ │ +

testRandomIterator fails

│ │ │ +

testRandomIterator fails

│ │ │ +

should be tried on NTZ_LL too

│ │ │ +
│ │ │ +
Global main (int ac, char **av)
│ │ │ +
: this one completely fails :
│ │ │ +
File modular.h
│ │ │ +
move Element& init(const Element&) to FFPACK. use using more..
│ │ │ +
Global printPolynomial (const Field &F, const Polynomial &v)
│ │ │ +
this should be elsewhere
│ │ │
File test-charpoly.C
│ │ │

occasionnnaly there is a "SIGFPE, Arithmetic exception." in CRA

│ │ │

testRandomCharpoly is not always tested !!

│ │ │
│ │ │ -
File test-commentator.C
│ │ │ -
this test does not even test if anything is outputted (and it passes even though)
│ │ │
File test-ffpack.C
│ │ │
this file does not compile or the test fails for some fields.
│ │ │
File test-ftrmm.C
│ │ │

ftrmm fails on non-double transposed versions.

│ │ │

is fgemm correct on null A and B ?

│ │ │
│ │ │ -
File test-matrix-stream.C
│ │ │ -
this tests reveals memory leaks
│ │ │ -
File test-matrix-utils.h
│ │ │ -
put in matrix/random-matrix.h
│ │ │ -
File test-smith-form.C
│ │ │ -
should work for NTL Integers too
│ │ │
Global test_fgemm (std::ostream &report, const Field &F)
│ │ │

needs p prime.

│ │ │

if beta != 0 but A and B are 0 (or don't exist) then C != beta C

│ │ │
│ │ │
Global test_ftrmm (std::ostream &report, const Field &F)
│ │ │ -

same code as above ?

│ │ │ -

same code as above ?

│ │ │ +

same code as above ?

│ │ │ +

same code as above ?

│ │ │

same code as above ?

│ │ │

same code as above ?

│ │ │ -

same code as above ?

│ │ │ -

same code as above ?

│ │ │ +

same code as above ?

│ │ │ +

same code as above ?

│ │ │
│ │ │ -
Global test_full_multip_matrix (std::ostream &report, size_t PrimeSize, size_t Size, std::pair< size_t, size_t > dims)
│ │ │ -
it is not possible to allocate some memory and use submatrices ?
│ │ │ -
Global Toeplitz< typename _PRing::CoeffField, _PRing >::write (std::ostream &os=std::cout) const
│ │ │ -
this is not MM format at all
│ │ │ -
Class Transpose< Blackbox >
│ │ │ -
no write here. test-blackbox.h requires it
│ │ │ -
Class ZOQuad< _Field >
│ │ │ -
needs read for test-blackbox.h
│ │ │
│ │ │
│ │ │
│ │ │ │ │ │ │ │ ├── ./usr/share/doc/liblinbox-dev/test.html │ │ │ @@ -211,44 +211,44 @@ │ │ │
no doc.
│ │ │
File test-smith-form-local.C
│ │ │

no doc.

│ │ │

no doc.

│ │ │
│ │ │
File test-smith-form.C
│ │ │
no doc. !
│ │ │ -
File test-solve.C
│ │ │ -

no doc.

│ │ │ -

no doc.

│ │ │ -
│ │ │ -
File test-sparse.C
│ │ │ -
no doc.
│ │ │
File test-subiterator.C
│ │ │
no doc.
│ │ │
File test-submatrix.C
│ │ │
no doc.
│ │ │
File test-subvector.C
│ │ │
no doc.
│ │ │ -
File test-sum.C
│ │ │ -
no doc.
│ │ │
File test-toeplitz-det.C
│ │ │
no doc.
│ │ │
File test-toom-cook.C
│ │ │
toom-cook multiplication routine
│ │ │ -
File test-trace.C
│ │ │ -
no doc.
│ │ │
File test-transpose.C
│ │ │
no doc.
│ │ │
File test-triplesbb-omp.C
│ │ │
no doc.
│ │ │
File test-triplesbb.C
│ │ │
no doc.
│ │ │ -
File test-tutorial.C
│ │ │ -
no doc.
│ │ │
File test-vector-domain.C
│ │ │
no doc.
│ │ │ +
File test-solve.C
│ │ │ +

no doc.

│ │ │ +

no doc.

│ │ │ +
│ │ │ +
File test-sparse.C
│ │ │ +
no doc.
│ │ │ +
File test-sum.C
│ │ │ +
no doc.
│ │ │ +
File test-trace.C
│ │ │ +
no doc.
│ │ │ +
File test-tutorial.C
│ │ │ +
no doc.
│ │ │
File test-zero-one.C
│ │ │
no doc.
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │