MCPcopy Create free account
hub / github.com/abess-team/abess / test_1d

Function test_1d

python/include/unsupported/test/cxx11_tensor_expr.cpp:17–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15using Eigen::RowMajor;
16
17static void test_1d()
18{
19 Tensor<float, 1> vec1(6);
20 Tensor<float, 1, RowMajor> vec2(6);
21
22 vec1(0) = 4.0; vec2(0) = 0.0;
23 vec1(1) = 8.0; vec2(1) = 1.0;
24 vec1(2) = 15.0; vec2(2) = 2.0;
25 vec1(3) = 16.0; vec2(3) = 3.0;
26 vec1(4) = 23.0; vec2(4) = 4.0;
27 vec1(5) = 42.0; vec2(5) = 5.0;
28
29 float data3[6];
30 TensorMap<Tensor<float, 1>> vec3(data3, 6);
31 vec3 = vec1.sqrt();
32 float data4[6];
33 TensorMap<Tensor<float, 1, RowMajor>> vec4(data4, 6);
34 vec4 = vec2.square();
35 float data5[6];
36 TensorMap<Tensor<float, 1, RowMajor>> vec5(data5, 6);
37 vec5 = vec2.cube();
38
39 VERIFY_IS_APPROX(vec3(0), sqrtf(4.0));
40 VERIFY_IS_APPROX(vec3(1), sqrtf(8.0));
41 VERIFY_IS_APPROX(vec3(2), sqrtf(15.0));
42 VERIFY_IS_APPROX(vec3(3), sqrtf(16.0));
43 VERIFY_IS_APPROX(vec3(4), sqrtf(23.0));
44 VERIFY_IS_APPROX(vec3(5), sqrtf(42.0));
45
46 VERIFY_IS_APPROX(vec4(0), 0.0f);
47 VERIFY_IS_APPROX(vec4(1), 1.0f);
48 VERIFY_IS_APPROX(vec4(2), 2.0f * 2.0f);
49 VERIFY_IS_APPROX(vec4(3), 3.0f * 3.0f);
50 VERIFY_IS_APPROX(vec4(4), 4.0f * 4.0f);
51 VERIFY_IS_APPROX(vec4(5), 5.0f * 5.0f);
52
53 VERIFY_IS_APPROX(vec5(0), 0.0f);
54 VERIFY_IS_APPROX(vec5(1), 1.0f);
55 VERIFY_IS_APPROX(vec5(2), 2.0f * 2.0f * 2.0f);
56 VERIFY_IS_APPROX(vec5(3), 3.0f * 3.0f * 3.0f);
57 VERIFY_IS_APPROX(vec5(4), 4.0f * 4.0f * 4.0f);
58 VERIFY_IS_APPROX(vec5(5), 5.0f * 5.0f * 5.0f);
59
60 vec3 = vec1 + vec2;
61 VERIFY_IS_APPROX(vec3(0), 4.0f + 0.0f);
62 VERIFY_IS_APPROX(vec3(1), 8.0f + 1.0f);
63 VERIFY_IS_APPROX(vec3(2), 15.0f + 2.0f);
64 VERIFY_IS_APPROX(vec3(3), 16.0f + 3.0f);
65 VERIFY_IS_APPROX(vec3(4), 23.0f + 4.0f);
66 VERIFY_IS_APPROX(vec3(5), 42.0f + 5.0f);
67}
68
69static void test_2d()
70{

Callers 1

test_cxx11_tensor_exprFunction · 0.70

Calls 3

squareMethod · 0.80
cubeMethod · 0.80
sqrtMethod · 0.45

Tested by

no test coverage detected