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

◆ text_out()

void MonomialIdeal::text_out ( buffer & o) const

Definition at line 639 of file monideal.cpp.

640{
641 const PolynomialRing *P = get_ring()->cast_to_PolynomialRing();
642 assert(P != nullptr);
643 const Monoid *M = P->getMonoid();
644 if (size() == 0)
645 {
646 o << "0";
647 return;
648 }
649 if (is_one())
650 {
651 if (size() != 1)
652 std::cout << "bad news: count is not 1, but ideal is 1..." << std::endl;
653 o << "1";
654 return;
655 }
656 monomial m = M->make_one();
657 for (Bag& j : *this)
658 {
659 const_varpower n = j.monom().data();
660 M->from_varpower(n, m);
661 M->elem_text_out(o, m);
662 if (M2_gbTrace > 0) o << '(' << j.basis_elem() << ")";
663 o << ' ';
664 }
665 M->remove(m);
666}
varpower::ConstExponents const_varpower
void elem_text_out(buffer &o, const_monomial m, bool p_one=true) const
Definition monoid.cpp:575
void from_varpower(const_varpower vp, monomial result) const
Definition monoid.cpp:728
monomial make_one() const
Definition monoid.cpp:455
void remove(monomial d) const
Definition monoid.cpp:462
int size() const
Definition monideal.hpp:186
bool is_one() const
Definition monideal.cpp:977
const PolynomialRing * get_ring() const
Definition monideal.hpp:190
virtual const Monoid * getMonoid() const
Definition polyring.hpp:282
virtual const PolynomialRing * cast_to_PolynomialRing() const
Definition polyring.hpp:304
int basis_elem() const
Definition int-bag.hpp:66
gc_vector< int > & monom()
Definition int-bag.hpp:60
#define monomial
Definition gb-toric.cpp:11
int_bag Bag
Definition int-bag.hpp:70
int M2_gbTrace
Definition m2-types.cpp:52

References int_bag::basis_elem(), PolynomialRing::cast_to_PolynomialRing(), Monoid::elem_text_out(), Monoid::from_varpower(), get_ring(), PolynomialRing::getMonoid(), is_one(), M2_gbTrace, Monoid::make_one(), int_bag::monom(), monomial, Monoid::remove(), and size().

Referenced by dmonideal(), and IM2_MonomialIdeal_to_string().