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

◆ mpz_reallocate_limbs()

void mpz_reallocate_limbs ( mpz_ptr _z)
inline

Multiprecision arithmetic allocation utility routines

Definition at line 46 of file gmp-util.h.

47{
48 int _s = _z->_mp_size;
49 int _as = (_s>0)?_s:-_s;
50 mp_limb_t *_p = (mp_limb_t*) getmem_atomic(_as*sizeof(mp_limb_t));
51 memcpy(_p,_z->_mp_d,_as*sizeof(mp_limb_t));
52 mpz_clear(_z);
53 _z->_mp_d = _p;
54 _z->_mp_size = _s;
55 _z->_mp_alloc = _as;
56}
char * getmem_atomic(size_t n)
Definition m2-mem.cpp:135

References getmem_atomic().

Referenced by RingZZ::add(), RingZZ::copy(), RingZZ::divide(), M2::RingQQ::fraction(), RingZZ::from_int(), RingZZ::from_long(), RingZZ::gcd(), RingZZ::gcd_extended(), IM2_RingElement_to_Integer(), M2::RingQQ::lower_associate_divisor(), RingZZ::lower_associate_divisor(), M2::RingQQ::lower_content(), RingZZ::lower_content(), moveTo_gmpQQ(), RingZZ::mult(), RingZZ::negate(), RingZZ::power(), RingZZ::random(), rawFourierMotzkin(), rawHilbertBasis(), rawRandomInteger(), rawWeightRange(), rawZZfactor(), RingZZ::remainderAndQuotient(), RingZZ::subtract(), to_gmp_ZZ(), M2::ARingQQFlint::to_ring_elem(), M2::ARingQQGMP::to_ring_elem(), M2::ARingZZ::to_ring_elem(), and M2::ARingZZGMP::to_ring_elem().