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

◆ TEST() [9/10]

TEST ( ResMonoidSparse ,
encodeDecode  )

Definition at line 91 of file ResTest.cpp.

92{
94 std::vector<int>{1, 1, 1, 1},
95 std::vector<int>{},
97
98 // Loop through a number of exponent vectors, encode, then decode.
99
100 for (int i = 0; i < M.n_vars(); i++)
101 for (int j = i; j < M.n_vars(); j++)
102 {
103 int exp[]{0, 0, 0, 0};
104 int mon[]{0, 0, 0, 0, 0, 0, 0, 0};
105 component_index comp;
106 int exp2[]{0, 0, 0, 0};
107 int mon2[]{0, 0, 0, 0, 0, 0, 0, 0};
108
109 exp[i]++;
110 exp[j]++;
111 // first encode
112 M.from_expvector(exp, 3, mon);
113 // now decode
114 M.to_expvector(mon, exp2, comp);
115 EXPECT_EQ(3, comp);
116 for (int k = 0; k < M.n_vars(); k++) EXPECT_EQ(exp[k], exp2[k]);
117 // now re-encode
118 M.from_expvector(exp2, 3, mon2);
119 EXPECT_TRUE(M.is_equal(mon, mon2));
120 // now display
121 std::cout << "i=" << i << " j=" << j << " mon = ";
122 M.dump(std::cout, mon);
123 std::cout << std::endl;
124 }
125}
Sparse / varpower-format ResMonoid implementation: monomials laid out as length-prefixed lists of (va...
const mpreal exp2(const mpreal &x, mp_rnd_t r=mpreal::get_default_rnd())
Definition mpreal.h:2299
const mpreal exp(const mpreal &x, mp_rnd_t r=mpreal::get_default_rnd())
Definition mpreal.h:2298
myword component_index

References GRevLex.