8TEST(Polynomial, Shifted)
12 const size_t SIZE = 10;
13 auto poly = Polynomial::random(SIZE, 1);
16 auto poly_shifted = poly.shifted();
18 EXPECT_EQ(poly_shifted.size(), poly.size());
21 for (
size_t i = 0; i < poly_shifted.size() - 1; ++i) {
22 EXPECT_EQ(poly_shifted.get(i), poly.get(i + 1));
27 for (
size_t i = 0; i < poly_shifted.size() - 1; ++i) {
28 EXPECT_EQ(poly_shifted.get(i), poly.get(i + 1));
37 const size_t SIZE = 10;
38 const size_t VIRTUAL_SIZE = 20;
39 const size_t START_IDX = 2;
40 const size_t END_IDX = SIZE + START_IDX;
41 auto poly = Polynomial::random(SIZE, VIRTUAL_SIZE, START_IDX);
44 auto poly_reversed = poly.reverse();
46 EXPECT_EQ(poly_reversed.size(), poly.size());
47 EXPECT_EQ(poly_reversed.virtual_size(), poly.end_index());
50 for (
size_t i = 0; i < END_IDX; ++i) {
51 EXPECT_EQ(poly_reversed.get(END_IDX - 1 - i), poly.get(i));
55 FF initial_value = poly.at(3);
57 EXPECT_EQ(poly_reversed.at(END_IDX - 4), initial_value);
65 const size_t SIZE = 10;
66 auto poly = Polynomial::random(SIZE);
69 auto poly_clone = poly.share();
72 EXPECT_EQ(poly_clone, poly);
76 EXPECT_EQ(poly_clone, poly);
78 poly_clone.at(2) = 13;
79 EXPECT_EQ(poly_clone, poly);
83 auto poly2 = Polynomial::random(SIZE);
86 EXPECT_NE(poly_clone, poly);