diff options
Diffstat (limited to 'sci-mathematics/singular/files/singular-4.0.2-ntl8-compat.patch')
-rw-r--r-- | sci-mathematics/singular/files/singular-4.0.2-ntl8-compat.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/sci-mathematics/singular/files/singular-4.0.2-ntl8-compat.patch b/sci-mathematics/singular/files/singular-4.0.2-ntl8-compat.patch new file mode 100644 index 000000000000..d3e6b77a28e9 --- /dev/null +++ b/sci-mathematics/singular/files/singular-4.0.2-ntl8-compat.patch @@ -0,0 +1,38 @@ +diff --git a/factory/NTLconvert.cc b/factory/NTLconvert.cc +index 41ce9b2..e32093d 100644 +--- a/factory/NTLconvert.cc ++++ b/factory/NTLconvert.cc +@@ -30,6 +30,7 @@ + #include <NTL/GF2EXFactoring.h> + #include <NTL/tools.h> + #include <NTL/mat_ZZ.h> ++#include <NTL/version.h> + #include "int_int.h" + #include <limits.h> + #include "NTLconvert.h" +@@ -500,8 +501,14 @@ convertZZ2CF (const ZZ & a) + return CanonicalForm(coeff_long); + } + else +- { +- long sizeofrep= ((long *) a.rep) [1]; ++ { ++ const long * rep = ++#if NTL_MAJOR_VERSION <= 6 ++ static_cast<long *>( a.rep ); ++#else ++ static_cast<long *>( a.rep.rep ); // what about NTL7? ++#endif ++ long sizeofrep= rep[1]; + bool lessZero= false; + if (sizeofrep < 0) + { +@@ -519,7 +526,7 @@ convertZZ2CF (const ZZ & a) + cf_stringtemp_l= sizeofrep*sizeof(mp_limb_t)*2; + cf_stringtemp= (unsigned char*) Alloc (cf_stringtemp_l); + } +- int cc= mpn_get_str (cf_stringtemp, 16, (mp_limb_t *) (((long *) (a.rep)) + 2), sizeofrep); ++ int cc= mpn_get_str (cf_stringtemp, 16, (mp_limb_t *) ((rep) + 2), sizeofrep); + + char* cf_stringtemp2; + if (lessZero) |