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

◆ var()

ring_elem PolyRing::var ( int v) const
virtual

Implements PolynomialRing.

Definition at line 299 of file poly.cpp.

300{
302 for (int i = 0; i < nvars_; i++) EXP1[i] = 0;
303 if (v >= 0 && v < nvars_)
304 EXP1[v] = 1;
305 else
306 {
307 std::cerr << "internal error: PolyRing::var(int v) with v = " << v
308 << " nvars = " << nvars_ << std::endl;
309 std::cerr << "aborting" << std::endl;
310 abort();
311 return ZERO_RINGELEM;
312 }
313 Nterm *result = new_term();
314 result->coeff = K_->from_long(1);
315 M_->from_expvector(EXP1, result->monom);
316 return result;
317}
exponents::Exponents exponents_t
Nterm * new_term() const
Definition poly.cpp:146
const Ring * K_
Definition polyring.hpp:123
const Monoid * M_
Definition polyring.hpp:124
VALGRIND_MAKE_MEM_DEFINED & result(result)
#define ALLOCATE_EXPONENTS(byte_len)
Definition monoid.hpp:62
#define ZERO_RINGELEM
Definition ring.hpp:677

References ALLOCATE_EXPONENTS, PolynomialRing::exp_size, PolynomialRing::K_, PolynomialRing::M_, new_term(), PolynomialRing::nvars_, result(), and ZERO_RINGELEM.

Referenced by fromSmallIntegerCoefficients(), and lead_term().