| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // Copyright Contributors to the OpenVDB Project | ||
| 2 | // SPDX-License-Identifier: MPL-2.0 | ||
| 3 | |||
| 4 | #include "CompareGrids.h" | ||
| 5 | #include "TestHarness.h" | ||
| 6 | |||
| 7 | #include "../util.h" | ||
| 8 | |||
| 9 | #include <openvdb_ax/compiler/CustomData.h> | ||
| 10 | #include <openvdb_ax/Exceptions.h> | ||
| 11 | |||
| 12 | #include <cppunit/extensions/HelperMacros.h> | ||
| 13 | |||
| 14 | using namespace openvdb::points; | ||
| 15 | |||
| 16 |
2/4✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 2 times.
✗ Branch 4 not taken.
|
2 | class TestCrement : public unittest_util::AXTestCase |
| 17 | { | ||
| 18 | public: | ||
| 19 | |||
| 20 |
3/6✓ Branch 1 taken 24 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 24 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 24 times.
✗ Branch 8 not taken.
|
72 | std::string dir() const override { return GET_TEST_DIRECTORY(); } |
| 21 | |||
| 22 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
|
4 | CPPUNIT_TEST_SUITE(TestCrement); |
| 23 |
5/10✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
|
6 | CPPUNIT_TEST(crementScalar); |
| 24 |
5/10✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
|
6 | CPPUNIT_TEST(crementComponent); |
| 25 |
4/8✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
|
4 | CPPUNIT_TEST_SUITE_END(); |
| 26 | |||
| 27 | void crementScalar(); | ||
| 28 | void crementComponent(); | ||
| 29 | }; | ||
| 30 | |||
| 31 | CPPUNIT_TEST_SUITE_REGISTRATION(TestCrement); | ||
| 32 | |||
| 33 | void | ||
| 34 | 1 | TestCrement::crementScalar() | |
| 35 | { | ||
| 36 | 1 | const std::string code = R"( | |
| 37 | _T1_@test1 = ++_T1_@test2; | ||
| 38 | _T1_@test3 = _T1_@test4++; | ||
| 39 | _T1_@test5 = (_T1_@test6++, _T1_@test7++, ++_T1_@test6); | ||
| 40 | _T1_@test8 = (++_T1_@test6, ++_T1_@test7, _T1_@test6++); | ||
| 41 | ++_T1_@test9 = _T1_@test9; | ||
| 42 | )"; | ||
| 43 | |||
| 44 | 1 | auto generate = [&](const auto& types) { | |
| 45 |
2/2✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
|
6 | for (const auto& type : types) { |
| 46 |
1/2✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
|
5 | std::string repl = code; |
| 47 |
2/4✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 5 not taken.
|
5 | unittest_util::replace(repl, "_T1_", type); |
| 48 |
3/6✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 8 not taken.
|
10 | this->registerTest(repl, "crement_inc." + type + ".ax"); |
| 49 |
3/6✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 8 not taken.
|
10 | unittest_util::replace(repl, "++", "--"); |
| 50 |
3/6✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 8 not taken.
|
10 | this->registerTest(repl, "crement_dec." + type + ".ax"); |
| 51 | } | ||
| 52 | 1 | }; | |
| 53 | |||
| 54 |
9/18✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 5 times.
✓ Branch 23 taken 1 times.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
|
6 | generate(std::vector<std::string>{ |
| 55 | "int16", "int32", "int64", "float", "double", | ||
| 56 | }); | ||
| 57 | |||
| 58 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
2 | const auto names = unittest_util::nameSequence("test", 9); |
| 59 | const std::map<std::string, std::function<void(bool)>> expected = { | ||
| 60 | { "int16", | ||
| 61 | 2 | [&](bool inc){ | |
| 62 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
|
2 | if (inc) |
| 63 |
4/10✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
|
3 | mHarness.addAttributes<int16_t>(names, |
| 64 | { 0, 1, -1, 2, -3, 4, -3, 4, -4 }, | ||
| 65 | { 2, 2, 2, 3, 6, 8, -1, 7, -3 }); | ||
| 66 | else | ||
| 67 |
4/10✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
|
3 | mHarness.addAttributes<int16_t>(names, |
| 68 | { 0, 1, -1, 2, -3, 4, -3, 4, -4 }, | ||
| 69 | { 0, 0, 2, 1, 2, 0, -5, 1, -5 }); | ||
| 70 | 2 | }, | |
| 71 | }, | ||
| 72 | { "int32", | ||
| 73 | 2 | [&](bool inc){ | |
| 74 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
|
2 | if (inc) |
| 75 |
4/10✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
|
3 | mHarness.addAttributes<int32_t>(names, |
| 76 | { 0, 1, -1, 2, -3, 4, -3, 4, -4 }, | ||
| 77 | { 2, 2, 2, 3, 6, 8, -1, 7, -3 }); | ||
| 78 | else | ||
| 79 |
4/10✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
|
3 | mHarness.addAttributes<int32_t>(names, |
| 80 | { 0, 1, -1, 2, -3, 4, -3, 4, -4 }, | ||
| 81 | { 0, 0, 2, 1, 2, 0, -5, 1, -5 }); | ||
| 82 | 2 | }, | |
| 83 | }, | ||
| 84 | { "int64", | ||
| 85 | 2 | [&](bool inc){ | |
| 86 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
|
2 | if (inc) |
| 87 |
4/10✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
|
3 | mHarness.addAttributes<int64_t>(names, |
| 88 | { 0, 1, -1, 2, -3, 4, -3, 4, -4 }, | ||
| 89 | { 2, 2, 2, 3, 6, 8, -1, 7, -3 }); | ||
| 90 | else | ||
| 91 |
4/10✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
|
3 | mHarness.addAttributes<int64_t>(names, |
| 92 | { 0, 1, -1, 2, -3, 4, -3, 4, -4 }, | ||
| 93 | { 0, 0, 2, 1, 2, 0, -5, 1, -5 }); | ||
| 94 | 2 | }, | |
| 95 | }, | ||
| 96 | { "float", | ||
| 97 | 2 | [&](bool inc){ | |
| 98 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
|
2 | if (inc) |
| 99 |
4/10✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
|
3 | mHarness.addAttributes<float>(names, |
| 100 | { 0.1f, 1.4f, -1.9f, 2.5f, -3.3f, 4.5f, -3.3f, 4.7f, -4.8f }, | ||
| 101 | { (1.4f+1.0f), | ||
| 102 | (1.4f+1.0f), 2.5f, | ||
| 103 | (2.5f+1.0f), | ||
| 104 | (4.5f+1.0f+1.0f), | ||
| 105 | (4.5f+1.0f+1.0f+1.0f+1.0f), | ||
| 106 | (-3.3f+1.0f+1.0f), | ||
| 107 | (4.5f+1.0f+1.0f+1.0f), | ||
| 108 | (-4.8f+1.0f) }); | ||
| 109 | else | ||
| 110 |
4/10✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
|
3 | mHarness.addAttributes<float>(names, |
| 111 | { 0.1f, 1.4f, -1.9f, 2.5f, -3.3f, 4.5f, -3.3f, 4.7f, -4.8f }, | ||
| 112 | { (1.4f-1.0f), | ||
| 113 | (1.4f-1.0f), 2.5f, | ||
| 114 | (2.5f-1.0f), | ||
| 115 | (4.5f-1.0f-1.0f), | ||
| 116 | (4.5f-1.0f-1.0f-1.0f-1.0f), | ||
| 117 | (-3.3f-1.0f-1.0f), | ||
| 118 | (4.5f-1.0f-1.0f-1.0f), | ||
| 119 | (-4.8f-1.0f) }); | ||
| 120 | 2 | }, | |
| 121 | }, | ||
| 122 | { "double", | ||
| 123 | 2 | [&](bool inc){ | |
| 124 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
|
2 | if (inc) |
| 125 |
4/10✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
|
3 | mHarness.addAttributes<double>(names, |
| 126 | { 0.1, 1.4, -1.9, 2.5, -3.3, 4.5, -3.3, 4.7, -4.8 }, | ||
| 127 | { (1.4+1.0), | ||
| 128 | (1.4+1.0), 2.5, | ||
| 129 | (2.5+1.0), | ||
| 130 | (4.5+1.0+1.0), | ||
| 131 | (4.5+1.0+1.0+1.0+1.0), | ||
| 132 | (-3.3+1.0+1.0), | ||
| 133 | (4.5+1.0+1.0+1.0), | ||
| 134 | (-4.8+1.0) }); | ||
| 135 | else | ||
| 136 |
4/10✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
|
3 | mHarness.addAttributes<double>(names, |
| 137 | { 0.1, 1.4, -1.9, 2.5, -3.3, 4.5, -3.3, 4.7, -4.8 }, | ||
| 138 | { (1.4-1.0), | ||
| 139 | (1.4-1.0), 2.5, | ||
| 140 | (2.5-1.0), | ||
| 141 | (4.5-1.0-1.0), | ||
| 142 | (4.5-1.0-1.0-1.0-1.0), | ||
| 143 | (-3.3-1.0-1.0), | ||
| 144 | (4.5-1.0-1.0-1.0), | ||
| 145 | (-4.8-1.0) }); | ||
| 146 | 2 | }, | |
| 147 | }, | ||
| 148 |
6/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
|
12 | }; |
| 149 | |||
| 150 |
2/2✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
|
6 | for (const auto& expc : expected) { |
| 151 |
1/2✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
|
5 | mHarness.reset(); |
| 152 |
1/2✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
|
5 | expc.second.operator()(true); // increment |
| 153 |
3/6✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 8 not taken.
|
10 | this->execute("crement_inc." + expc.first + ".ax"); |
| 154 | |||
| 155 |
1/2✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
|
5 | mHarness.reset(); |
| 156 |
1/2✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
|
5 | expc.second.operator()(false); // decrement |
| 157 |
3/6✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 5 times.
✗ Branch 8 not taken.
|
10 | this->execute("crement_dec." + expc.first + ".ax"); |
| 158 | } | ||
| 159 | 1 | } | |
| 160 | |||
| 161 | |||
| 162 | void | ||
| 163 | 1 | TestCrement::crementComponent() | |
| 164 | { | ||
| 165 | // Just tests the first two components of every container | ||
| 166 | 1 | const std::string code = R"( | |
| 167 | _T1_@_A1_[0] = ++_T1_@_A2_[0]; | ||
| 168 | _T1_@_A1_[1] = _T1_@_A2_[1]++; | ||
| 169 | )"; | ||
| 170 | |||
| 171 | 1 | auto generate = [&](const auto& types) { | |
| 172 | std::string repl; | ||
| 173 |
2/2✓ Branch 0 taken 13 times.
✓ Branch 1 taken 1 times.
|
14 | for (const auto& type : types) { |
| 174 |
1/2✓ Branch 1 taken 13 times.
✗ Branch 2 not taken.
|
13 | std::string tmp = code; |
| 175 |
2/4✓ Branch 1 taken 13 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 13 times.
✗ Branch 5 not taken.
|
13 | unittest_util::replace(tmp, "_T1_", type); |
| 176 |
4/8✓ Branch 1 taken 13 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 13 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 13 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 13 times.
✗ Branch 11 not taken.
|
26 | unittest_util::replace(tmp, "_A1_", "test" + type + "1"); |
| 177 |
5/10✓ Branch 1 taken 13 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 13 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 13 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 13 times.
✗ Branch 11 not taken.
✓ Branch 15 taken 13 times.
✗ Branch 16 not taken.
|
26 | unittest_util::replace(tmp, "_A2_", "test" + type + "2"); |
| 178 | repl += tmp; | ||
| 179 | } | ||
| 180 | |||
| 181 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | this->registerTest(repl, "crement_inc.component.ax"); |
| 182 |
3/6✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
|
2 | unittest_util::replace(repl, "++", "--"); |
| 183 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
2 | this->registerTest(repl, "crement_dec.component.ax"); |
| 184 | 1 | }; | |
| 185 | |||
| 186 |
17/34✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 46 taken 13 times.
✓ Branch 47 taken 1 times.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
|
14 | generate(std::vector<std::string>{ |
| 187 | "vec2i", "vec2f", "vec2d", | ||
| 188 | "vec3i", "vec3f", "vec3d", | ||
| 189 | "vec4i", "vec4f", "vec4d", | ||
| 190 | "mat3f", "mat3d", | ||
| 191 | "mat4f", "mat4d" | ||
| 192 | }); | ||
| 193 | |||
| 194 | const std::map<std::string, std::function<void()>> expected = { | ||
| 195 | { "inc", | ||
| 196 | 1 | [&](){ | |
| 197 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec2<int32_t>>("testvec2i1", openvdb::math::Vec2<int32_t>(0,1)); |
| 198 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec2<int32_t>>("testvec2i2", |
| 199 | 1 | openvdb::math::Vec2<int32_t>(-1,1), openvdb::math::Vec2<int32_t>(0,2)); | |
| 200 | |||
| 201 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec2<float>>("testvec2f1", openvdb::math::Vec2<float>(-1.1f+1.0f, 1.1f)); |
| 202 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec2<float>>("testvec2f2", |
| 203 | 1 | openvdb::math::Vec2<float>(-1.1f,1.1f), openvdb::math::Vec2<float>(-1.1f+1.0f, 1.1f+1.0f)); | |
| 204 | |||
| 205 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec2<double>>("testvec2d1", openvdb::math::Vec2<double>(-1.1+1.0, 1.1)); |
| 206 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec2<double>>("testvec2d2", |
| 207 | 1 | openvdb::math::Vec2<double>(-1.1,1.1), openvdb::math::Vec2<double>(-1.1+1.0, 1.1+1.0)); | |
| 208 | |||
| 209 | |||
| 210 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<int32_t>>("testvec3i1", openvdb::math::Vec3<int32_t>(0,1,0)); |
| 211 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<int32_t>>("testvec3i2", |
| 212 | 1 | openvdb::math::Vec3<int32_t>(-1,1,0), openvdb::math::Vec3<int32_t>(0,2,0)); | |
| 213 | |||
| 214 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<float>>("testvec3f1", openvdb::math::Vec3<float>(-1.1f+1.0f, 1.1f, 0.0f)); |
| 215 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<float>>("testvec3f2", |
| 216 | 1 | openvdb::math::Vec3<float>(-1.1f,1.1f,0.0f), openvdb::math::Vec3<float>(-1.1f+1.0f, 1.1f+1.0f, 0.0f)); | |
| 217 | |||
| 218 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<double>>("testvec3d1", openvdb::math::Vec3<double>(-1.1+1.0, 1.1, 0.0)); |
| 219 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<double>>("testvec3d2", |
| 220 | 1 | openvdb::math::Vec3<double>(-1.1,1.1,0.0), openvdb::math::Vec3<double>(-1.1+1.0, 1.1+1.0 ,0.0)); | |
| 221 | |||
| 222 | |||
| 223 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<int32_t>>("testvec4i1", openvdb::math::Vec4<int32_t>(0,1,0,0)); |
| 224 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<int32_t>>("testvec4i2", |
| 225 | 1 | openvdb::math::Vec4<int32_t>(-1,1,0,0), openvdb::math::Vec4<int32_t>(0,2,0,0)); | |
| 226 | |||
| 227 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<float>>("testvec4f1", openvdb::math::Vec4<float>(-1.1f+1.0f, 1.1f, 0.0f, 0.0f)); |
| 228 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<float>>("testvec4f2", |
| 229 | 1 | openvdb::math::Vec4<float>(-1.1f,1.1f,0.0f,0.0f), openvdb::math::Vec4<float>(-1.1f+1.0f, 1.1f+1.0f, 0.0f, 0.0f)); | |
| 230 | |||
| 231 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<double>>("testvec4d1", openvdb::math::Vec4<double>(-1.1+1.0, 1.1, 0.0, 0.0)); |
| 232 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<double>>("testvec4d2", |
| 233 | 1 | openvdb::math::Vec4<double>(-1.1,1.1,0.0,0.0), openvdb::math::Vec4<double>(-1.1+1.0, 1.1+1.0, 0.0, 0.0)); | |
| 234 | |||
| 235 | auto getmat = [](auto x, auto a, auto b) -> decltype(x) { | ||
| 236 | 20 | x = decltype(x)::zero(); | |
| 237 | 12 | x(0,0) = a; | |
| 238 | 12 | x(0,1) = b; | |
| 239 | 12 | return x; | |
| 240 | }; | ||
| 241 | |||
| 242 |
2/4✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Mat3<float>>("testmat3f1", getmat(openvdb::math::Mat3<float>(), -1.1f+1.0f, 1.1f)); |
| 243 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | mHarness.addAttribute<openvdb::math::Mat3<float>>("testmat3f2", |
| 244 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | getmat(openvdb::math::Mat3<float>(),-1.1f,1.1f), |
| 245 | 1 | getmat(openvdb::math::Mat3<float>(),-1.1f+1.0f,1.1f+1.0f)); | |
| 246 | |||
| 247 |
2/4✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Mat3<double>>("testmat3d1", getmat(openvdb::math::Mat3<double>(), -1.1+1.0, 1.1)); |
| 248 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | mHarness.addAttribute<openvdb::math::Mat3<double>>("testmat3d2", |
| 249 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | getmat(openvdb::math::Mat3<double>(),-1.1,1.1), |
| 250 | 1 | getmat(openvdb::math::Mat3<double>(),-1.1+1.0, 1.1+1.0)); | |
| 251 | |||
| 252 | |||
| 253 |
2/4✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Mat4<float>>("testmat4f1", getmat(openvdb::math::Mat4<float>(), -1.1f+1.0f, 1.1f)); |
| 254 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | mHarness.addAttribute<openvdb::math::Mat4<float>>("testmat4f2", |
| 255 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | getmat(openvdb::math::Mat4<float>(),-1.1f,1.1f), |
| 256 | 1 | getmat(openvdb::math::Mat4<float>(),-1.1f+1.0f,1.1f+1.0f)); | |
| 257 | |||
| 258 |
2/4✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Mat4<double>>("testmat4d1", getmat(openvdb::math::Mat4<double>(), -1.1+1.0, 1.1)); |
| 259 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | mHarness.addAttribute<openvdb::math::Mat4<double>>("testmat4d2", |
| 260 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | getmat(openvdb::math::Mat4<double>(),-1.1,1.1), |
| 261 | 1 | getmat(openvdb::math::Mat4<double>(),-1.1+1.0, 1.1+1.0)); | |
| 262 | 1 | } | |
| 263 | }, | ||
| 264 | { "dec", | ||
| 265 | 1 | [&](){ | |
| 266 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec2<int32_t>>("testvec2i1", openvdb::math::Vec2<int32_t>(-2,1)); |
| 267 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec2<int32_t>>("testvec2i2", |
| 268 | 1 | openvdb::math::Vec2<int32_t>(-1,1), openvdb::math::Vec2<int32_t>(-2,0)); | |
| 269 | |||
| 270 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec2<float>>("testvec2f1", openvdb::math::Vec2<float>(-1.1f-1.0f, 1.1f)); |
| 271 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec2<float>>("testvec2f2", |
| 272 | 1 | openvdb::math::Vec2<float>(-1.1f,1.1f), openvdb::math::Vec2<float>(-1.1f-1.0f, 1.1f-1.0f)); | |
| 273 | |||
| 274 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec2<double>>("testvec2d1", openvdb::math::Vec2<double>(-1.1-1.0, 1.1)); |
| 275 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec2<double>>("testvec2d2", |
| 276 | 1 | openvdb::math::Vec2<double>(-1.1,1.1), openvdb::math::Vec2<double>(-1.1-1.0, 1.1-1.0)); | |
| 277 | |||
| 278 | |||
| 279 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<int32_t>>("testvec3i1", openvdb::math::Vec3<int32_t>(-2,1,0)); |
| 280 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<int32_t>>("testvec3i2", |
| 281 | 1 | openvdb::math::Vec3<int32_t>(-1,1,0), openvdb::math::Vec3<int32_t>(-2,0,0)); | |
| 282 | |||
| 283 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<float>>("testvec3f1", openvdb::math::Vec3<float>(-1.1f-1.0f, 1.1f, 0.0f)); |
| 284 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<float>>("testvec3f2", |
| 285 | 1 | openvdb::math::Vec3<float>(-1.1f,1.1f,0.0f), openvdb::math::Vec3<float>(-1.1f-1.0f, 1.1f-1.0f, 0.0f)); | |
| 286 | |||
| 287 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<double>>("testvec3d1", openvdb::math::Vec3<double>(-1.1-1.0, 1.1, 0.0)); |
| 288 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<double>>("testvec3d2", |
| 289 | 1 | openvdb::math::Vec3<double>(-1.1,1.1,0.0), openvdb::math::Vec3<double>(-1.1-1.0, 1.1-1.0 ,0.0)); | |
| 290 | |||
| 291 | |||
| 292 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<int32_t>>("testvec4i1", openvdb::math::Vec4<int32_t>(-2,1,0,0)); |
| 293 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<int32_t>>("testvec4i2", |
| 294 | 1 | openvdb::math::Vec4<int32_t>(-1,1,0,0), openvdb::math::Vec4<int32_t>(-2,0,0,0)); | |
| 295 | |||
| 296 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<float>>("testvec4f1", openvdb::math::Vec4<float>(-1.1f-1.0f, 1.1f, 0.0f, 0.0f)); |
| 297 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<float>>("testvec4f2", |
| 298 | 1 | openvdb::math::Vec4<float>(-1.1f,1.1f,0.0f,0.0f), openvdb::math::Vec4<float>(-1.1f-1.0f, 1.1f-1.0f, 0.0f, 0.0f)); | |
| 299 | |||
| 300 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<double>>("testvec4d1", openvdb::math::Vec4<double>(-1.1-1.0, 1.1, 0.0, 0.0)); |
| 301 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<double>>("testvec4d2", |
| 302 | 1 | openvdb::math::Vec4<double>(-1.1,1.1,0.0,0.0), openvdb::math::Vec4<double>(-1.1-1.0, 1.1-1.0, 0.0, 0.0)); | |
| 303 | |||
| 304 | |||
| 305 | auto getmat = [](auto x, auto a, auto b) -> decltype(x) { | ||
| 306 | 20 | x = decltype(x)::zero(); | |
| 307 | 12 | x(0,0) = a; | |
| 308 | 12 | x(0,1) = b; | |
| 309 | 12 | return x; | |
| 310 | }; | ||
| 311 | |||
| 312 |
2/4✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Mat3<float>>("testmat3f1", getmat(openvdb::math::Mat3<float>(), -1.1f-1.0f, 1.1f)); |
| 313 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | mHarness.addAttribute<openvdb::math::Mat3<float>>("testmat3f2", |
| 314 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | getmat(openvdb::math::Mat3<float>(),-1.1f,1.1f), |
| 315 | 1 | getmat(openvdb::math::Mat3<float>(),-1.1f-1.0f,1.1f-1.0f)); | |
| 316 | |||
| 317 |
2/4✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Mat3<double>>("testmat3d1", getmat(openvdb::math::Mat3<double>(), -1.1-1.0, 1.1)); |
| 318 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | mHarness.addAttribute<openvdb::math::Mat3<double>>("testmat3d2", |
| 319 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | getmat(openvdb::math::Mat3<double>(),-1.1,1.1), |
| 320 | 1 | getmat(openvdb::math::Mat3<double>(),-1.1-1.0, 1.1-1.0)); | |
| 321 | |||
| 322 | |||
| 323 |
2/4✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Mat4<float>>("testmat4f1", getmat(openvdb::math::Mat4<float>(), -1.1f-1.0f, 1.1f)); |
| 324 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | mHarness.addAttribute<openvdb::math::Mat4<float>>("testmat4f2", |
| 325 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | getmat(openvdb::math::Mat4<float>(),-1.1f,1.1f), |
| 326 | 1 | getmat(openvdb::math::Mat4<float>(),-1.1f-1.0f,1.1f-1.0f)); | |
| 327 | |||
| 328 |
2/4✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Mat4<double>>("testmat4d1", getmat(openvdb::math::Mat4<double>(), -1.1-1.0, 1.1)); |
| 329 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | mHarness.addAttribute<openvdb::math::Mat4<double>>("testmat4d2", |
| 330 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | getmat(openvdb::math::Mat4<double>(),-1.1,1.1), |
| 331 | 1 | getmat(openvdb::math::Mat4<double>(),-1.1-1.0, 1.1-1.0)); | |
| 332 | 1 | } | |
| 333 | } | ||
| 334 |
3/8✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
|
6 | }; |
| 335 | |||
| 336 |
2/2✓ Branch 0 taken 2 times.
✓ Branch 1 taken 1 times.
|
3 | for (const auto& expc : expected) { |
| 337 |
1/2✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
|
2 | mHarness.reset(); |
| 338 |
1/2✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
|
2 | expc.second.operator()(); |
| 339 |
3/6✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
|
4 | this->execute("crement_" + expc.first + ".component.ax"); |
| 340 | } | ||
| 341 | 1 | } | |
| 342 | |||
| 343 | |||
| 344 |