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

◆ multi_degree()

bool LocalRing::multi_degree ( const ring_elem f,
monomial d ) const
virtual

Reimplemented from Ring.

Definition at line 411 of file localring.cpp.

412{
413 const local_elem *f = a.get_local_elem();
414 bool tophom = mRing->multi_degree(f->numer, d);
416 bool bottomhom = mRing->multi_degree(f->denom, e);
417 degree_monoid()->divide(d, e, d);
418 degree_monoid()->remove(e);
419 return tophom && bottomhom;
420}
const PolyRing * mRing
Definition localring.hpp:69
monomial make_one() const
Definition monoid.cpp:455
void remove(monomial d) const
Definition monoid.cpp:462
void divide(const_monomial m, const_monomial n, monomial result) const
Definition monoid.hpp:331
const Monoid * degree_monoid() const
Definition ring.cpp:13
#define monomial
Definition gb-toric.cpp:11
ring_elem numer
Definition localring.hpp:48
ring_elem denom
Definition localring.hpp:49
const local_elem * get_local_elem() const
Definition ringelem.hpp:136

References Ring::degree_monoid(), local_elem::denom, Monoid::divide(), ring_elem::get_local_elem(), Monoid::make_one(), monomial, mRing, local_elem::numer, and Monoid::remove().