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

◆ rawWeightRange()

gmp_ZZpairOrNull rawWeightRange ( M2_arrayint wts,
const RingElement * a )

Definition at line 472 of file ringelement.cpp.

479{
480 try
481 {
482 int lo, hi;
484 if (error()) return nullptr;
485 gmp_ZZpair p = new gmp_ZZpair_struct;
486 p->a = newitem(__mpz_struct);
487 p->b = newitem(__mpz_struct);
488 mpz_init_set_si(const_cast<mpz_ptr>(p->a), static_cast<long>(lo));
489 mpz_init_set_si(const_cast<mpz_ptr>(p->b), static_cast<long>(hi));
490 mpz_reallocate_limbs(const_cast<mpz_ptr>(p->a));
491 mpz_reallocate_limbs(const_cast<mpz_ptr>(p->b));
492 return p;
493 } catch (const exc::engine_error& e)
494 {
495 ERROR(e.what());
496 return nullptr;
497 }
498}
void degree_weights(const std::vector< int > &wts, int &lo, int &hi) const
Definition relem.cpp:227
int error()
Definition error.c:48
void mpz_reallocate_limbs(mpz_ptr _z)
Definition gmp-util.h:46
int p
const int ERROR
Definition m2-mem.cpp:55
struct gmp_ZZpair_struct * gmp_ZZpair
Definition m2-types.h:210
#define newitem(T)
Definition newdelete.hpp:86
std::vector< T > M2_arrayint_to_stdvector(M2_arrayint arr)
Definition util.hpp:96

References RingElement::degree_weights(), ERROR, error(), M2_arrayint_to_stdvector(), mpz_reallocate_limbs(), newitem, and p.