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

◆ is_equal()

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

Implements Ring.

Definition at line 253 of file schur2.cpp.

254{
255 const schur_poly *f1 = f.get_schur_poly();
256 const schur_poly *g1 = g.get_schur_poly();
257 if (f1->size() != g1->size()) return false;
258 if (f1->monoms.size() != g1->monoms.size()) return false;
259
260 VECTOR(schur_word)::const_iterator m_f = f1->monoms.begin();
261 VECTOR(schur_word)::const_iterator m_g = g1->monoms.begin();
262 for (; m_f != f1->monoms.end(); ++m_f, ++m_g)
263 if (*m_f != *m_g) return false;
264
265 VECTOR(ring_elem)::const_iterator c_f = f1->coeffs.begin();
266 VECTOR(ring_elem)::const_iterator c_g = g1->coeffs.begin();
267 for (; c_f != f1->coeffs.end(); ++c_f, ++c_g)
268 if (!coefficientRing->is_equal(*c_f, *c_g)) return false;
269
270 return true;
271}
const Ring * coefficientRing
Definition schur2.hpp:154
iterator end() const
Definition schur2.hpp:132
size_t size() const
Definition schur2.hpp:94
#define VECTOR(T)
Definition newdelete.hpp:78
TermIterator< Nterm > begin(Nterm *ptr)
Definition ringelem.cpp:4
int schur_word
Definition schur2.hpp:43
const schur_poly * get_schur_poly() const
Definition ringelem.hpp:137

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