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

◆ is_equal()

bool FractionField::is_equal ( const ring_elem f,
const ring_elem g ) const
virtual

Implements Ring.

Definition at line 371 of file frac.cpp.

372{
373 frac_elem *f = FRAC_VAL(a);
374 frac_elem *g = FRAC_VAL(b);
375 if (R_->is_equal(f->denom, g->denom))
376 {
377 return R_->is_equal(f->numer, g->numer);
378 }
379 else
380 {
381 ring_elem h = subtract(a, b);
382 bool result = is_zero(h);
383 remove(h);
384 return result;
385 }
386}
virtual ring_elem subtract(const ring_elem f, const ring_elem g) const
Definition frac.cpp:491
virtual bool is_zero(const ring_elem f) const
Definition frac.cpp:366
const PolyRingFlat * R_
Definition frac.hpp:63
virtual void remove(ring_elem &f) const
Definition frac.cpp:406
#define FRAC_VAL(f)
Definition frac.cpp:14
VALGRIND_MAKE_MEM_DEFINED & result(result)
ring_elem numer
Definition frac.hpp:43
ring_elem denom
Definition frac.hpp:44

References frac_elem::denom, FRAC_VAL, is_zero(), frac_elem::numer, R_, remove(), result(), and subtract().