Package: linbox / 1.6.3-1

Metadata

Package Version Patches format
linbox 1.6.3-1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
example.patch | (download)

examples/Readme-make.in | 2 1 + 1 - 0 !
examples/fields/modular-int.C | 4 2 + 2 - 0 !
2 files changed, 3 insertions(+), 3 deletions(-)

---
soname.patch | (download)

linbox/Makefile.am | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
fix doc path.patch | (download)

doc/mainpage.doxy | 8 5 + 3 - 0 !
1 file changed, 5 insertions(+), 3 deletions(-)

---
fix RR RecCounter.patch | (download)

linbox/algorithms/rational-reconstruction-base.h | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 set reccounter=0 if rbound_==0 to avoid cast of -inf.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733917

Test test-det on i386 or amd64 successfully pass after a few iterations, on
mips this test has an enormous number of iterations and build of the linbox
package on buildd breaks after 300 minutes of inactivity.

The reason for this behavior is that in:

  linbox/algorithms/rational-reconstruction-base.h

the way to calculate RecCounter is:

  RecCounter = (size_t)((double)log((double)rbound_)/log(2.));//2^RecCounter < rbound_ <=2^(RecCounter+1)

When rbound_ is equal to zero the result of log function is -inf (double[8
bytes]).

When we cast -inf to size_t (unsigned int[4 bytes]) on i386 and amd64, the
result is zero.

In the same situation on mips architecture, cast is done through TRUNC.W.D
instruction.

For this instruction, if the source value is Infinity, NaN, or rounds to an
integer outside the range -2^31 to 2^31-1, the result cannot be represented
correctly and an IEEE Invalid Operation condition exists. The result depends on
the FP exception model currently active and the default result is 2^31-1
(2147483647).


pkgconfig.patch | (download)

linbox.pc.in | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 do not put the cflags used to build linbox into the pkg-config file
 @DEFAULT_CFLAGS@ results in something like
 -O2   -Wall -g -DNDEBUG -U_LB_DEBUG
 Also remove obsoloete @LINBOXSAGE_LIBS@.