PFASST++
test_polynomial.cpp
Go to the documentation of this file.
1 /*
2  * Tests for Polynomials
3  */
4 
5 #include <gtest/gtest.h>
6 #include <gmock/gmock.h>
7 
8 using namespace ::testing;
9 
11 
12 
13 TEST(PolynomialTest, Legendre)
14 {
16  EXPECT_EQ(l0.order(), 0);
17  EXPECT_EQ(l0[0], 1.0);
18 
20  EXPECT_EQ(l1.order(), 1);
21  EXPECT_EQ(l1[0], 0.0);
22  EXPECT_EQ(l1[1], 1.0);
23 
25  EXPECT_EQ(l2.order(), 2);
26  EXPECT_EQ(l2[0], -0.5);
27  EXPECT_EQ(l2[1], 0.0);
28  EXPECT_EQ(l2[2], 1.5);
29 
30  auto l2d = l2.differentiate();
31  EXPECT_EQ(l2d.order(), 1);
32  EXPECT_EQ(l2d[0], 0.0);
33  EXPECT_EQ(l2d[1], 3.0);
34 
35  auto l2i = l2.integrate();
36  EXPECT_EQ(l2i.order(), 3);
37  EXPECT_EQ(l2i[0], 0.0);
38  EXPECT_EQ(l2i[1], -0.5);
39  EXPECT_EQ(l2i[2], 0.0);
40  EXPECT_EQ(l2i[3], 0.5);
41 
42  double a1 = l2.evaluate(1.0);
43  EXPECT_EQ(a1, 1.0);
44 }
45 
46 
47 int main(int argc, char** argv)
48 {
49  InitGoogleTest(&argc, argv);
50  return RUN_ALL_TESTS();
51 }
int main(int argc, char **argv)
static Polynomial< CoeffT > legendre(const size_t order)
Computes the Legendre polynomial of given order.
TEST(PolynomialTest, Legendre)