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

◆ negate()

ring_elem SchurRing2::negate ( const ring_elem f) const
virtual

Implements Ring.

Definition at line 496 of file schur2.cpp.

497{
498 if (is_zero(f)) return f;
499 const schur_poly *f1 = f.get_schur_poly();
500 schur_poly *result = new schur_poly;
501
502 for (VECTOR(ring_elem)::const_iterator i = f1->coeffs.begin();
503 i != f1->coeffs.end();
504 ++i)
505 result->coeffs.push_back(coefficientRing->negate(*i));
506
507 result->monoms.insert(
508 result->monoms.end(), f1->monoms.begin(), f1->monoms.end());
509 return ring_elem(result);
510}
virtual bool is_zero(const ring_elem f) const
Definition schur2.cpp:247
const Ring * coefficientRing
Definition schur2.hpp:154
iterator begin() const
Definition schur2.hpp:128
iterator end() const
Definition schur2.hpp:132
VALGRIND_MAKE_MEM_DEFINED & result(result)
#define VECTOR(T)
Definition newdelete.hpp:78
const schur_poly * get_schur_poly() const
Definition ringelem.hpp:137

References schur_poly::begin(), coefficientRing, schur_poly::end(), ring_elem::get_schur_poly(), is_zero(), result(), and VECTOR.

Referenced by subtract().