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

◆ TEST() [6/6]

TEST ( NewF4MonomialLookupTable ,
monomialOperations  )

Definition at line 148 of file NewF4Test.cpp.

153{
154 MemoryBlock B;
155 newf4::MonomialView ab({5,0,1,1,1}, B);
156 newf4::MonomialView ac({5,0,1,2,1}, B);
157 newf4::MonomialView abc({7,0,1,1,1,2,1}, B);
158 newf4::MonomialView a2bc({7,0,2,1,1,2,1}, B);
159 newf4::MonomialView b({3,1,1}, B);
163
164 std::cout << lcm.size() << std::endl;
165 for (auto i = lcm.begin(); i != lcm.end(); ++i)
166 {
167 std::cout << i.var() << " ";
168 std::cout << i.power() << " ";
169 }
170 std::cout << std::endl;
171
172 std::cout << product.size() << std::endl;
173 for (auto i = product.begin(); i != product.end(); ++i)
174 {
175 std::cout << i.var() << " ";
176 std::cout << i.power() << " ";
177 }
178 std::cout << std::endl;
179
180 std::cout << quotient.size() << std::endl;
181 for (auto i = quotient.begin(); i != quotient.end(); ++i)
182 {
183 std::cout << i.var() << " ";
184 std::cout << i.power() << " ";
185 }
186 std::cout << std::endl;
187
188 EXPECT_TRUE(newf4::MonomialView::monomialDivides(lcm,abc));
189 EXPECT_TRUE(newf4::MonomialView::monomialDivides(abc,lcm));
190 EXPECT_TRUE(newf4::MonomialView::monomialDivides(product,a2bc));
Thin RAII wrapper around memtailor::Arena providing bump-pointer array allocation with optional mutex...
static MonomialView quotient(const MonomialView &left, const MonomialView &right, MemoryBlock &block)
auto begin() const -> MonomialIterator< true >
auto end() const -> MonomialIterator< true >
static MonomialView lcm(const MonomialView &left, const MonomialView &right, MemoryBlock &block)
static MonomialView product(const MonomialView &left, const MonomialView &right, MemoryBlock &block)
size_t size() const
static bool monomialDivides(const MonomialView &divisor, const MonomialView &divisee)

References newf4::MonomialView::monomialDivides().