v0.14.0
src
ftensor
tests
conformance
T2
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
7
void
test_T2_22
(
const
Tensor2<double, 3, 3>
&t2_1)
8
{
9
Index<'i', 3>
i
;
10
Index<'j', 3>
j
;
11
12
Number<0>
N0;
13
Number<1>
N1;
14
Number<2>
N2;
15
16
/* Tensor2 tests */
17
Tensor2<double, 3, 3>
t2;
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
Generated by
Doxygen
1.8.17 and hosted at