blob: d3e6b77a28e90dfba3e91f9b4fa0ae61f53e927f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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)
|