v0.14.0
test_T2_22.cpp
Go to the documentation of this file.
1 #include "../../../src/FTensor.hpp"
2 #include "../test_for_zero.hpp"
3 #include <iostream>
4 using namespace FTensor;
5 using namespace std;
6 
8 {
11 
12  Number<0> N0;
13  Number<1> N1;
14  Number<2> N2;
15 
16  /* Tensor2 tests */
18 
19  /* Equals */
20 
21  t2(i, j) = t2_1(i, j);
22  t2(i, j) += 10;
23  test_for_zero(t2(0, 0) - (t2_1(0, 0) + 10), "T2+=T(0,0)");
24  test_for_zero(t2(1, 0) - (t2_1(1, 0) + 10), "T2+=T(0,1)");
25  test_for_zero(t2(2, 0) - (t2_1(2, 0) + 10), "T2+=T(0,2)");
26  test_for_zero(t2(0, 1) - (t2_1(0, 1) + 10), "T2+=T(1,0)");
27  test_for_zero(t2(1, 1) - (t2_1(1, 1) + 10), "T2+=T(1,1)");
28  test_for_zero(t2(2, 1) - (t2_1(2, 1) + 10), "T2+=T(1,2)");
29  test_for_zero(t2(0, 2) - (t2_1(0, 2) + 10), "T2+=T(2,0)");
30  test_for_zero(t2(1, 2) - (t2_1(1, 2) + 10), "T2+=T(2,1)");
31  test_for_zero(t2(2, 2) - (t2_1(2, 2) + 10), "T2+=T(2,2)");
32 
33  t2(i, j) = t2_1(i, j);
34  t2(i, j) -= 7;
35  test_for_zero(t2(0, 0) - (t2_1(0, 0) - 7), "T2-=T(0,0)");
36  test_for_zero(t2(1, 0) - (t2_1(1, 0) - 7), "T2-=T(0,1)");
37  test_for_zero(t2(2, 0) - (t2_1(2, 0) - 7), "T2-=T(0,2)");
38  test_for_zero(t2(0, 1) - (t2_1(0, 1) - 7), "T2-=T(1,0)");
39  test_for_zero(t2(1, 1) - (t2_1(1, 1) - 7), "T2-=T(1,1)");
40  test_for_zero(t2(2, 1) - (t2_1(2, 1) - 7), "T2-=T(1,2)");
41  test_for_zero(t2(0, 2) - (t2_1(0, 2) - 7), "T2-=T(2,0)");
42  test_for_zero(t2(1, 2) - (t2_1(1, 2) - 7), "T2-=T(2,1)");
43  test_for_zero(t2(2, 2) - (t2_1(2, 2) - 7), "T2-=T(2,2)");
44 
45  t2(i, j) = t2_1(i, j);
46  t2(i, j) *= 12;
47  test_for_zero(t2(0, 0) - (t2_1(0, 0) * 12), "T2*=T(0,0)");
48  test_for_zero(t2(1, 0) - (t2_1(1, 0) * 12), "T2*=T(0,1)");
49  test_for_zero(t2(2, 0) - (t2_1(2, 0) * 12), "T2*=T(0,2)");
50  test_for_zero(t2(0, 1) - (t2_1(0, 1) * 12), "T2*=T(1,0)");
51  test_for_zero(t2(1, 1) - (t2_1(1, 1) * 12), "T2*=T(1,1)");
52  test_for_zero(t2(2, 1) - (t2_1(2, 1) * 12), "T2*=T(1,2)");
53  test_for_zero(t2(0, 2) - (t2_1(0, 2) * 12), "T2*=T(2,0)");
54  test_for_zero(t2(1, 2) - (t2_1(1, 2) * 12), "T2*=T(2,1)");
55  test_for_zero(t2(2, 2) - (t2_1(2, 2) * 12), "T2*=T(2,2)");
56 
57  t2(i, j) = t2_1(i, j);
58  t2(i, j) /= 4;
59  test_for_zero(t2(0, 0) - (t2_1(0, 0) / 4), "T2/=T(0,0)");
60  test_for_zero(t2(1, 0) - (t2_1(1, 0) / 4), "T2/=T(0,1)");
61  test_for_zero(t2(2, 0) - (t2_1(2, 0) / 4), "T2/=T(0,2)");
62  test_for_zero(t2(0, 1) - (t2_1(0, 1) / 4), "T2/=T(1,0)");
63  test_for_zero(t2(1, 1) - (t2_1(1, 1) / 4), "T2/=T(1,1)");
64  test_for_zero(t2(2, 1) - (t2_1(2, 1) / 4), "T2/=T(1,2)");
65  test_for_zero(t2(0, 2) - (t2_1(0, 2) / 4), "T2/=T(2,0)");
66  test_for_zero(t2(1, 2) - (t2_1(1, 2) / 4), "T2/=T(2,1)");
67  test_for_zero(t2(2, 2) - (t2_1(2, 2) / 4), "T2/=T(2,2)");
68 }
FTensor
JSON compatible output.
Definition: Christof_constructor.hpp:6
test_T2_22
void test_T2_22(const Tensor2< double, 3, 3 > &t2_1)
Definition: test_T2_22.cpp:7
FTensor::Tensor2< double, 3, 3 >
FTensor::Number< 0 >
test_for_zero
void test_for_zero(const T &t, const std::string &s)
Definition: test_for_zero.hpp:7
i
FTensor::Index< 'i', SPACE_DIM > i
Definition: hcurl_divergence_operator_2d.cpp:27
FTensor::Index< 'i', 3 >
std
Definition: enable_if.hpp:5
j
FTensor::Index< 'j', 3 > j
Definition: matrix_function.cpp:19