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

◆ is_equal() [2/2]

bool M2::ARingTower::is_equal ( int level,
const ARingPolynomial f,
const ARingPolynomial g ) const
private

Definition at line 309 of file aring-tower.cpp.

310{
311 if (f == nullptr)
312 {
313 if (g == nullptr) return true;
314 return false;
315 }
316 if (g == nullptr || f->deg != g->deg) return false;
317 if (level == 0)
318 {
319 BaseCoefficientType *fp = f->coeffs;
320 BaseCoefficientType *gp = g->coeffs;
321 for (int i = 0; i <= f->deg; i++)
322 if (fp[i] != gp[i]) return false;
323 return true;
324 }
325 // level > 0
326 ARingPolynomial *fp = f->polys;
327 ARingPolynomial *gp = g->polys;
328 for (int i = 0; i <= f->deg; i++)
329 if (!is_equal(level - 1, fp[i], gp[i])) return false;
330 return true;
331}
bool is_equal(ElementType f, ElementType g) const
BaseRingType::ElementType BaseCoefficientType
struct ARingPolynomialStruct * ARingPolynomial
ARingPolynomial * polys

References M2::ARingPolynomialStruct::coeffs, M2::ARingPolynomialStruct::deg, is_equal(), and M2::ARingPolynomialStruct::polys.