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

◆ divide_row()

void Ring::divide_row ( vec & v,
int r,
const ring_elem a ) const

Definition at line 512 of file ring-vecs.cpp.

513{
514 vecterm head;
515 head.next = v;
516 for (vec p = &head; p->next != nullptr; p = p->next)
517 if (p->next->comp < r)
518 break;
519 else if (p->next->comp == r)
520 {
521 ring_elem c =
522 this->divide(p->next->coeff, a); // exact or quotient?? MES MES
523 p->next->coeff = c;
524 if (this->is_zero(p->next->coeff))
525 {
526 vec tmp = p->next;
527 p->next = tmp->next;
528 remove_vec_node(tmp);
529 }
530 break;
531 }
532}
virtual ring_elem divide(const ring_elem f, const ring_elem g) const =0
void remove_vec_node(vec n) const
Definition ring-vecs.cpp:55
virtual bool is_zero(const ring_elem f) const =0
int p

References divide(), is_zero(), vec::next, p, and remove_vec_node().