Macaulay2 Engine
Loading...
Searching...
No Matches

◆ convertToFactory() [2/2]

CanonicalForm convertToFactory ( mpz_srcptr p)
static

Definition at line 312 of file factory.cpp.

313{
314 struct enter_factory foo;
315 int size = p->_mp_size;
316 int sign = size < 0 ? -1 : 1;
317 if (size < 0) size = -size;
318 if (!base_set)
319 {
320 base_set = 1;
321 base = 1;
322 for (int i = 0; i < mp_bits_per_limb; i++) base *= 2;
323 }
324 CanonicalForm m = 0;
325 for (int i = size - 1; i >= 0; i--)
326 {
327 mp_limb_t digit = p->_mp_d[i];
328 for (int j = mp_bits_per_limb; j > 0;)
329 {
330 int k = j - 16;
331 if (k < 0) k = 0;
332 int n = j - k;
333 int subbase = 1 << n;
334 m = subbase * m + (static_cast<int>(digit >> k) & (subbase - 1));
335 j = k;
336 }
337 }
338 m = m * sign;
339 return m;
340}
static CanonicalForm base
Definition factory.cpp:289
static int base_set
Definition factory.cpp:288
int p

References base, base_set, and p.

Referenced by convertToCFList(), convertToFactory(), rawCharSeries(), rawExtendedGCDRingElement(), rawFactorBase(), rawGCDRingElement(), rawIdealReorder(), rawPseudoRemainder(), and set_GF_minimal_poly().