Gröbner basis project
Codebase for research into Gröbner basis computation
monomial_ordering.cpp
1 #ifndef __MONOMIAL_ORDERING_CPP_
2 #define __MONOMIAL_ORDERING_CPP_
3 
4 /*****************************************************************************\
5 * This file is part of DynGB. *
6 * *
7 * DynGB is free software: you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation, either version 2 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * Foobar is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with DynGB. If not, see <http://www.gnu.org/licenses/>. *
19 \*****************************************************************************/
20 
21 #include "monomial_ordering.hpp"
22 
23 /*
24  set_data, first_larger_or_equal, first_larger_or_equal_than_multiple
25  defined in monomial.cpp to avoid a compiler error
26 */
27 
29 
31  const Monomial & t, const Monomial & u
32 ) const {
33  return not first_larger(t, u);
34 }
35 
37  const Monomial &t, const Monomial & u, const Monomial & v
38 ) const {
39  return not first_larger_or_equal_than_multiple(t, u, v);
40 }
41 
43  const Monomial & t, const Monomial & u, const Monomial & v
44 ) const {
45  return not first_larger_than_multiple(t, u, v);
46 }
47 
48 #endif
bool first_smaller_or_equal_than_multiple(const Monomial &, const Monomial &, const Monomial &) const
virtual ~Monomial_Ordering()
needs virtual destructor for polymorphic delete
bool first_smaller_or_equal(const Monomial &, const Monomial &) const
Implementation of monomials.
Definition: monomial.hpp:69
bool first_larger_or_equal_than_multiple(const Monomial &, const Monomial &, const Monomial &) const
Definition: monomial.cpp:477
bool first_smaller_than_multiple(const Monomial &, const Monomial &, const Monomial &) const
virtual bool first_larger(const Monomial &, const Monomial &) const =0
virtual bool first_larger_than_multiple(const Monomial &, const Monomial &, const Monomial &) const =0
returns true iff the first Monomial is larger than the specified multiple of the second ...