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

◆ intvector_to_binomial()

void binomial_ring::intvector_to_binomial ( vec f,
binomial & result ) const

Definition at line 356 of file gb-toric.cpp.

358{
359 for (int i = 0; i < nslots; i++)
360 {
361 result.lead[i] = 0;
362 result.tail[i] = 0;
363 }
364
365 for (; f != nullptr; f = f->next)
366 {
367 std::pair<bool, long> res = globalZZ->coerceToLongInteger(f->coeff);
368 assert(res.first);
369 int e = static_cast<int>(res.second);
370
371 if (e > 0)
372 result.lead[f->comp] = e;
373 else if (e < 0)
374 result.tail[f->comp] = -e;
375 }
376
377 set_weights(result.lead);
378 set_weights(result.tail);
380}
virtual std::pair< bool, long > coerceToLongInteger(ring_elem a) const
Definition ZZ.cpp:64
void set_weights(monomial0 m) const
Definition gb-toric.cpp:73
bool normalize(binomial &f) const
Definition gb-toric.cpp:382
RingZZ * globalZZ
Definition relem.cpp:13
VALGRIND_MAKE_MEM_DEFINED & result(result)

References globalZZ, normalize(), nslots, result(), and set_weights().