v0.14.0
test_T2s_46.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 
7 void test_T2s_46(const Tensor1<double, 3> &t1_2,
9 {
11 
12  Number<0> N0;
13  Number<1> N1;
14  Number<2> N2;
15 
16  /* Tensor2_symmetric tests */
17 
18  /* Test of Number<> as an index. */
19 
20  t2s_1(i, N0) = t1_2(i);
21  t2s_1(i, N0) += t1_2(i);
22  test_for_zero(t2s_1(0, 0) - 2 * t1_2(0), "T2s+=(i,N)(0,0)");
23  test_for_zero(t2s_1(0, 1) - 2 * t1_2(1), "T2s+=(i,N)(0,1)");
24  test_for_zero(t2s_1(0, 2) - 2 * t1_2(2), "T2s+=(i,N)(0,2)");
25  t2s_1(i, N0) -= t1_2(i);
26  test_for_zero(t2s_1(0, 0) - t1_2(0), "T2s-=(i,N)(0,0)");
27  test_for_zero(t2s_1(0, 1) - t1_2(1), "T2s-=(i,N)(0,1)");
28  test_for_zero(t2s_1(0, 2) - t1_2(2), "T2s-=(i,N)(0,2)");
29 
30  t2s_1(i, N1) = t1_2(i);
31  t2s_1(i, N1) += t1_2(i);
32  test_for_zero(t2s_1(1, 0) - 2 * t1_2(0), "T2s+=(i,N)(1,0)");
33  test_for_zero(t2s_1(1, 1) - 2 * t1_2(1), "T2s+=(i,N)(1,1)");
34  test_for_zero(t2s_1(1, 2) - 2 * t1_2(2), "T2s+=(i,N)(1,2)");
35  t2s_1(i, N1) -= t1_2(i);
36  test_for_zero(t2s_1(1, 0) - t1_2(0), "T2s-=(i,N)(1,0)");
37  test_for_zero(t2s_1(1, 1) - t1_2(1), "T2s-=(i,N)(1,1)");
38  test_for_zero(t2s_1(1, 2) - t1_2(2), "T2s-=(i,N)(1,2)");
39 
40  t2s_1(i, N2) = t1_2(i);
41  t2s_1(i, N2) += t1_2(i);
42  test_for_zero(t2s_1(2, 0) - 2 * t1_2(0), "T2s+=(i,N)(2,0)");
43  test_for_zero(t2s_1(2, 1) - 2 * t1_2(1), "T2s+=(i,N)(2,1)");
44  test_for_zero(t2s_1(2, 2) - 2 * t1_2(2), "T2s+=(i,N)(2,2)");
45  t2s_1(i, N2) -= t1_2(i);
46  test_for_zero(t2s_1(2, 0) - t1_2(0), "T2s-=(i,N)(2,0)");
47  test_for_zero(t2s_1(2, 1) - t1_2(1), "T2s-=(i,N)(2,1)");
48  test_for_zero(t2s_1(2, 2) - t1_2(2), "T2s-=(i,N)(2,2)");
49 }
FTensor
JSON compatible output.
Definition: Christof_constructor.hpp:6
FTensor::Tensor1< double, 3 >
FTensor::Tensor2_symmetric
Definition: Tensor2_symmetric_value.hpp:13
FTensor::Number< 0 >
test_for_zero
void test_for_zero(const T &t, const std::string &s)
Definition: test_for_zero.hpp:7
test_T2s_46
void test_T2s_46(const Tensor1< double, 3 > &t1_2, Tensor2_symmetric< double, 3 > &t2s_1)
Definition: test_T2s_46.cpp: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