| 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 | // Configuration values for assignment code | ||
| 17 | |||
| 18 | static const unittest_util::ConfigMap integral = { | ||
| 19 | { "bool", { { "_l1_", "true" }, { "_l2_", "false" } } }, | ||
| 20 | { "int32", { { "_l1_", "2" }, { "_l2_", "3" } } }, | ||
| 21 | { "int64", { { "_l1_", "2l" }, { "_l2_", "3l" } } } | ||
| 22 | }; | ||
| 23 | |||
| 24 | static const unittest_util::ConfigMap floating = { | ||
| 25 | { "float", { { "_l1_", "1.1f" }, { "_l2_", "2.3f" } } }, | ||
| 26 | { "double", { { "_l1_", "1.1" }, { "_l2_", "2.3" } } } | ||
| 27 | }; | ||
| 28 | |||
| 29 | static const unittest_util::ConfigMap vec2 = { | ||
| 30 | { "vec2i", { { "_l1_", "{1, 2}" }, { "_l2_", "{3, 4}" } } }, | ||
| 31 | { "vec2f", { { "_l1_", "{1.1f, 2.3f}" }, { "_l2_", "{4.1f, 5.3f}" } } }, | ||
| 32 | { "vec2d", { { "_l1_", "{1.1, 2.3}" }, { "_l2_", "{4.1, 5.3}" } } } | ||
| 33 | }; | ||
| 34 | |||
| 35 | static const unittest_util::ConfigMap vec3 = { | ||
| 36 | { "vec3i", { { "_l1_", "{1, 2, 3}" }, { "_l2_", "{4, 5, 6}" } } }, | ||
| 37 | { "vec3f", { { "_l1_", "{1.1f, 2.3f, 4.3f}" }, { "_l2_", "{4.1f, 5.3f, 6.3f}" } } }, | ||
| 38 | { "vec3d", { { "_l1_", "{1.1, 2.3 , 4.3}" }, { "_l2_", "{4.1, 5.3, 6.3}" } } } | ||
| 39 | }; | ||
| 40 | |||
| 41 | static const unittest_util::ConfigMap vec4 = { | ||
| 42 | { "vec4i", { { "_l1_", "{1, 2, 3, 4}" }, { "_l2_", "{5, 6, 7, 8}" } } }, | ||
| 43 | { "vec4f", { { "_l1_", "{1.1f, 2.3f, 4.3f, 5.4f}" }, { "_l2_", "{5.1f, 6.3f, 7.3f, 8.4f}" } } }, | ||
| 44 | { "vec4d", { { "_l1_", "{1.1, 2.3, 4.3, 5.4}" }, { "_l2_", "{5.1, 6.3, 7.3, 8.4}" } } } | ||
| 45 | }; | ||
| 46 | |||
| 47 | static const unittest_util::ConfigMap mat3 = { | ||
| 48 | { "mat3f", { { "_l1_", "{1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f }" }, | ||
| 49 | { "_l2_", "{9.1f, 7.3f, -1.3f, 4.4f, -6.7f, 0.8f, 9.1f,-0.5f, 8.2f }" } } | ||
| 50 | }, | ||
| 51 | { "mat3d", { { "_l1_", "{1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2 }" }, | ||
| 52 | { "_l2_", "{9.1, 7.3, -1.3, 4.4, -6.7, 0.8, 9.1,-0.5, 8.2 }" } } | ||
| 53 | } | ||
| 54 | }; | ||
| 55 | |||
| 56 | static const unittest_util::ConfigMap mat4 = { | ||
| 57 | { "mat4f", { { "_l1_", "{1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 3.3f, 2.9f, 5.9f, 0.1f, 0.3f, 5.1f, 1.9f}" }, | ||
| 58 | { "_l2_", "{0.1f, 2.3f,-9.3f, 4.5f, -1.7f, 7.8f, 2.1f, 3.3f, 3.3f,-3.3f,-0.3f, 2.5f, 5.1f, 0.5f, 8.1f,-1.7f}" } } | ||
| 59 | }, | ||
| 60 | { "mat4d", { { "_l1_", "{1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 3.3, 2.9, 5.9, 0.1, 0.3, 5.1, 1.9}" }, | ||
| 61 | { "_l2_", "{0.1, 2.3,-9.3, 4.5, -1.7, 7.8, 2.1, 3.3, 3.3,-3.3,-0.3, 2.5, 5.1, 0.5, 8.1,-1.7}" } } | ||
| 62 | } | ||
| 63 | }; | ||
| 64 | |||
| 65 | static const unittest_util::ConfigMap string = { | ||
| 66 | { "string", { { "_l1_", "\"foo\"" }, { "_l2_", "\"bar\"" } } } | ||
| 67 | }; | ||
| 68 | |||
| 69 | // | ||
| 70 | |||
| 71 |
2/4✓ Branch 1 taken 10 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 10 times.
✗ Branch 4 not taken.
|
10 | class TestAssign : public unittest_util::AXTestCase |
| 72 | { | ||
| 73 | public: | ||
| 74 | |||
| 75 |
3/6✓ Branch 1 taken 162 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 162 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 162 times.
✗ Branch 8 not taken.
|
486 | std::string dir() const override { return GET_TEST_DIRECTORY(); } |
| 76 | |||
| 77 |
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(TestAssign); |
| 78 |
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(directAssignment); |
| 79 |
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(compoundIntegralAssignment); |
| 80 |
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(compoundFloatingAssignment); |
| 81 |
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(compoundVectorAssignment); |
| 82 |
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(compoundMatrixAssignment); |
| 83 |
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(compoundStringAssignment); |
| 84 |
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(implicitScalarAssignment); |
| 85 |
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(implicitContainerAssignment); |
| 86 |
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(implicitContainerScalarAssignment); |
| 87 |
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(scopedAssign); |
| 88 |
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(); |
| 89 | |||
| 90 | void directAssignment(); | ||
| 91 | void compoundIntegralAssignment(); | ||
| 92 | void compoundFloatingAssignment(); | ||
| 93 | void compoundVectorAssignment(); | ||
| 94 | void compoundMatrixAssignment(); | ||
| 95 | void compoundStringAssignment(); | ||
| 96 | void implicitScalarAssignment(); | ||
| 97 | void implicitContainerAssignment(); | ||
| 98 | void implicitContainerScalarAssignment(); | ||
| 99 | void scopedAssign(); | ||
| 100 | }; | ||
| 101 | |||
| 102 | CPPUNIT_TEST_SUITE_REGISTRATION(TestAssign); | ||
| 103 | |||
| 104 | void | ||
| 105 | 1 | TestAssign::directAssignment() | |
| 106 | { | ||
| 107 | 1 | const std::string code = R"( | |
| 108 | _T1_@test1 = _l1_; | ||
| 109 | _T1_ local1 = _l1_; | ||
| 110 | _T1_@test2 = local1; | ||
| 111 | _T1_@test3 = | ||
| 112 | _T1_@test4 = | ||
| 113 | _T1_@test2; | ||
| 114 | _T1_ local3, | ||
| 115 | local2 = _l2_; | ||
| 116 | _T1_@test5 = | ||
| 117 | local3 = | ||
| 118 | local2; | ||
| 119 | _T1_@test6 = _l2_, | ||
| 120 | _T1_@test7 = _l1_; | ||
| 121 | _T1_@test8 = _l2_; | ||
| 122 | _T1_@test8 = _l1_; | ||
| 123 | )"; | ||
| 124 | |||
| 125 | 8 | auto generate = [&](const auto& map) { | |
| 126 |
2/2✓ Branch 0 taken 19 times.
✓ Branch 1 taken 8 times.
|
27 | for (const auto& config : map) { |
| 127 |
1/2✓ Branch 1 taken 19 times.
✗ Branch 2 not taken.
|
19 | std::string repl = code; |
| 128 |
2/4✓ Branch 1 taken 19 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 19 times.
✗ Branch 5 not taken.
|
38 | unittest_util::replace(repl, "_T1_", config.first); // replace type |
| 129 | // replace literal values | ||
| 130 |
2/2✓ Branch 0 taken 38 times.
✓ Branch 1 taken 19 times.
|
57 | for (const auto& settings : config.second) { |
| 131 |
1/2✓ Branch 1 taken 38 times.
✗ Branch 2 not taken.
|
38 | unittest_util::replace(repl, settings.first, settings.second); |
| 132 | } | ||
| 133 | |||
| 134 |
3/6✓ Branch 1 taken 19 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 19 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 19 times.
✗ Branch 8 not taken.
|
38 | this->registerTest(repl, "assign." + config.first + ".ax"); |
| 135 | } | ||
| 136 | 8 | }; | |
| 137 | |||
| 138 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(integral); |
| 139 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(floating); |
| 140 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(vec2); |
| 141 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(vec3); |
| 142 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(vec4); |
| 143 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(mat3); |
| 144 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(mat4); |
| 145 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(string); |
| 146 | |||
| 147 |
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", 8); |
| 148 | const std::map<std::string, std::function<void()>> expected = { | ||
| 149 | { "bool", | ||
| 150 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<bool>(names, |
| 151 | { true, true, true, true, false, false, true, true }); | ||
| 152 | 1 | }, | |
| 153 | }, | ||
| 154 | { "int32", | ||
| 155 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<int32_t>(names, |
| 156 | { 2, 2, 2, 2, 3, 3, 2, 2 }); | ||
| 157 | 1 | }, | |
| 158 | }, | ||
| 159 | { "int64", | ||
| 160 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<int64_t>(names, |
| 161 | { 2, 2, 2, 2, 3, 3, 2, 2 }); | ||
| 162 | 1 | }, | |
| 163 | }, | ||
| 164 | { "float", | ||
| 165 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<float>(names, |
| 166 | { 1.1f, 1.1f, 1.1f, 1.1f, 2.3f, 2.3f, 1.1f, 1.1f }); | ||
| 167 | 1 | }, | |
| 168 | }, | ||
| 169 | { "double", | ||
| 170 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<double>(names, |
| 171 | { 1.1, 1.1, 1.1, 1.1, 2.3, 2.3, 1.1, 1.1 }); | ||
| 172 | 1 | }, | |
| 173 | }, | ||
| 174 | { "vec2i", | ||
| 175 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec2<int32_t>>(names, |
| 176 | { openvdb::math::Vec2<int32_t>(1,2), | ||
| 177 | openvdb::math::Vec2<int32_t>(1,2), | ||
| 178 | openvdb::math::Vec2<int32_t>(1,2), | ||
| 179 | openvdb::math::Vec2<int32_t>(1,2), | ||
| 180 | openvdb::math::Vec2<int32_t>(3,4), | ||
| 181 | openvdb::math::Vec2<int32_t>(3,4), | ||
| 182 | openvdb::math::Vec2<int32_t>(1,2), | ||
| 183 | openvdb::math::Vec2<int32_t>(1,2) | ||
| 184 | }); | ||
| 185 | 1 | }, | |
| 186 | }, | ||
| 187 | { "vec2f", | ||
| 188 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec2<float>>(names, |
| 189 | { openvdb::math::Vec2<float>(1.1f, 2.3f), | ||
| 190 | openvdb::math::Vec2<float>(1.1f, 2.3f), | ||
| 191 | openvdb::math::Vec2<float>(1.1f, 2.3f), | ||
| 192 | openvdb::math::Vec2<float>(1.1f, 2.3f), | ||
| 193 | openvdb::math::Vec2<float>(4.1f, 5.3f), | ||
| 194 | openvdb::math::Vec2<float>(4.1f, 5.3f), | ||
| 195 | openvdb::math::Vec2<float>(1.1f, 2.3f), | ||
| 196 | openvdb::math::Vec2<float>(1.1f, 2.3f) | ||
| 197 | }); | ||
| 198 | 1 | }, | |
| 199 | }, | ||
| 200 | { "vec2d", | ||
| 201 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec2<double>>(names, |
| 202 | { openvdb::math::Vec2<double>(1.1, 2.3), | ||
| 203 | openvdb::math::Vec2<double>(1.1, 2.3), | ||
| 204 | openvdb::math::Vec2<double>(1.1, 2.3), | ||
| 205 | openvdb::math::Vec2<double>(1.1, 2.3), | ||
| 206 | openvdb::math::Vec2<double>(4.1, 5.3), | ||
| 207 | openvdb::math::Vec2<double>(4.1, 5.3), | ||
| 208 | openvdb::math::Vec2<double>(1.1, 2.3), | ||
| 209 | openvdb::math::Vec2<double>(1.1, 2.3) | ||
| 210 | }); | ||
| 211 | 1 | }, | |
| 212 | }, | ||
| 213 | { "vec3i", | ||
| 214 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec3<int32_t>>(names, |
| 215 | { openvdb::math::Vec3<int32_t>(1,2,3), | ||
| 216 | openvdb::math::Vec3<int32_t>(1,2,3), | ||
| 217 | openvdb::math::Vec3<int32_t>(1,2,3), | ||
| 218 | openvdb::math::Vec3<int32_t>(1,2,3), | ||
| 219 | openvdb::math::Vec3<int32_t>(4,5,6), | ||
| 220 | openvdb::math::Vec3<int32_t>(4,5,6), | ||
| 221 | openvdb::math::Vec3<int32_t>(1,2,3), | ||
| 222 | openvdb::math::Vec3<int32_t>(1,2,3) | ||
| 223 | }); | ||
| 224 | 1 | }, | |
| 225 | }, | ||
| 226 | { "vec3f", | ||
| 227 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec3<float>>(names, |
| 228 | { openvdb::math::Vec3<float>(1.1f, 2.3f, 4.3f), | ||
| 229 | openvdb::math::Vec3<float>(1.1f, 2.3f, 4.3f), | ||
| 230 | openvdb::math::Vec3<float>(1.1f, 2.3f, 4.3f), | ||
| 231 | openvdb::math::Vec3<float>(1.1f, 2.3f, 4.3f), | ||
| 232 | openvdb::math::Vec3<float>(4.1f, 5.3f, 6.3f), | ||
| 233 | openvdb::math::Vec3<float>(4.1f, 5.3f, 6.3f), | ||
| 234 | openvdb::math::Vec3<float>(1.1f, 2.3f, 4.3f), | ||
| 235 | openvdb::math::Vec3<float>(1.1f, 2.3f, 4.3f) | ||
| 236 | }); | ||
| 237 | 1 | }, | |
| 238 | }, | ||
| 239 | { "vec3d", | ||
| 240 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec3<double>>(names, |
| 241 | { openvdb::math::Vec3<double>(1.1, 2.3, 4.3), | ||
| 242 | openvdb::math::Vec3<double>(1.1, 2.3, 4.3), | ||
| 243 | openvdb::math::Vec3<double>(1.1, 2.3, 4.3), | ||
| 244 | openvdb::math::Vec3<double>(1.1, 2.3, 4.3), | ||
| 245 | openvdb::math::Vec3<double>(4.1, 5.3, 6.3), | ||
| 246 | openvdb::math::Vec3<double>(4.1, 5.3, 6.3), | ||
| 247 | openvdb::math::Vec3<double>(1.1, 2.3, 4.3), | ||
| 248 | openvdb::math::Vec3<double>(1.1, 2.3, 4.3) | ||
| 249 | }); | ||
| 250 | 1 | }, | |
| 251 | }, | ||
| 252 | { "vec4i", | ||
| 253 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec4<int32_t>>(names, |
| 254 | { openvdb::math::Vec4<int32_t>(1, 2, 3, 4), | ||
| 255 | openvdb::math::Vec4<int32_t>(1, 2, 3, 4), | ||
| 256 | openvdb::math::Vec4<int32_t>(1, 2, 3, 4), | ||
| 257 | openvdb::math::Vec4<int32_t>(1, 2, 3, 4), | ||
| 258 | openvdb::math::Vec4<int32_t>(5, 6, 7, 8), | ||
| 259 | openvdb::math::Vec4<int32_t>(5, 6, 7, 8), | ||
| 260 | openvdb::math::Vec4<int32_t>(1, 2, 3, 4), | ||
| 261 | openvdb::math::Vec4<int32_t>(1, 2, 3, 4) | ||
| 262 | }); | ||
| 263 | 1 | }, | |
| 264 | }, | ||
| 265 | { "vec4f", | ||
| 266 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec4<float>>(names, |
| 267 | { openvdb::math::Vec4<float>(1.1f, 2.3f, 4.3f, 5.4f), | ||
| 268 | openvdb::math::Vec4<float>(1.1f, 2.3f, 4.3f, 5.4f), | ||
| 269 | openvdb::math::Vec4<float>(1.1f, 2.3f, 4.3f, 5.4f), | ||
| 270 | openvdb::math::Vec4<float>(1.1f, 2.3f, 4.3f, 5.4f), | ||
| 271 | openvdb::math::Vec4<float>(5.1f, 6.3f, 7.3f, 8.4f), | ||
| 272 | openvdb::math::Vec4<float>(5.1f, 6.3f, 7.3f, 8.4f), | ||
| 273 | openvdb::math::Vec4<float>(1.1f, 2.3f, 4.3f, 5.4f), | ||
| 274 | openvdb::math::Vec4<float>(1.1f, 2.3f, 4.3f, 5.4f) | ||
| 275 | }); | ||
| 276 | 1 | }, | |
| 277 | }, | ||
| 278 | { "vec4d", | ||
| 279 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec4<double>>(names, |
| 280 | { openvdb::math::Vec4<double>(1.1, 2.3, 4.3, 5.4), | ||
| 281 | openvdb::math::Vec4<double>(1.1, 2.3, 4.3, 5.4), | ||
| 282 | openvdb::math::Vec4<double>(1.1, 2.3, 4.3, 5.4), | ||
| 283 | openvdb::math::Vec4<double>(1.1, 2.3, 4.3, 5.4), | ||
| 284 | openvdb::math::Vec4<double>(5.1, 6.3, 7.3, 8.4), | ||
| 285 | openvdb::math::Vec4<double>(5.1, 6.3, 7.3, 8.4), | ||
| 286 | openvdb::math::Vec4<double>(1.1, 2.3, 4.3, 5.4), | ||
| 287 | openvdb::math::Vec4<double>(1.1, 2.3, 4.3, 5.4) | ||
| 288 | }); | ||
| 289 | 1 | }, | |
| 290 | }, | ||
| 291 | { "mat3f", | ||
| 292 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Mat3<float>>(names, |
| 293 | { openvdb::math::Mat3<float>(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f), | ||
| 294 | openvdb::math::Mat3<float>(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f), | ||
| 295 | openvdb::math::Mat3<float>(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f), | ||
| 296 | openvdb::math::Mat3<float>(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f), | ||
| 297 | openvdb::math::Mat3<float>(9.1f, 7.3f, -1.3f, 4.4f, -6.7f, 0.8f, 9.1f, -0.5f, 8.2f), | ||
| 298 | openvdb::math::Mat3<float>(9.1f, 7.3f, -1.3f, 4.4f, -6.7f, 0.8f, 9.1f, -0.5f, 8.2f), | ||
| 299 | openvdb::math::Mat3<float>(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f), | ||
| 300 | openvdb::math::Mat3<float>(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f) | ||
| 301 | }); | ||
| 302 | 1 | }, | |
| 303 | }, | ||
| 304 | { "mat3d", | ||
| 305 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Mat3<double>>(names, |
| 306 | { openvdb::math::Mat3<double>(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2), | ||
| 307 | openvdb::math::Mat3<double>(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2), | ||
| 308 | openvdb::math::Mat3<double>(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2), | ||
| 309 | openvdb::math::Mat3<double>(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2), | ||
| 310 | openvdb::math::Mat3<double>(9.1, 7.3, -1.3, 4.4, -6.7, 0.8, 9.1, -0.5, 8.2), | ||
| 311 | openvdb::math::Mat3<double>(9.1, 7.3, -1.3, 4.4, -6.7, 0.8, 9.1, -0.5, 8.2), | ||
| 312 | openvdb::math::Mat3<double>(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2), | ||
| 313 | openvdb::math::Mat3<double>(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2) | ||
| 314 | }); | ||
| 315 | 1 | }, | |
| 316 | }, | ||
| 317 | { "mat4f", | ||
| 318 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Mat4<float>>(names, |
| 319 | { openvdb::math::Mat4<float>(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 3.3f, 2.9f, 5.9f, 0.1f, 0.3f, 5.1f, 1.9f), | ||
| 320 | openvdb::math::Mat4<float>(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 3.3f, 2.9f, 5.9f, 0.1f, 0.3f, 5.1f, 1.9f), | ||
| 321 | openvdb::math::Mat4<float>(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 3.3f, 2.9f, 5.9f, 0.1f, 0.3f, 5.1f, 1.9f), | ||
| 322 | openvdb::math::Mat4<float>(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 3.3f, 2.9f, 5.9f, 0.1f, 0.3f, 5.1f, 1.9f), | ||
| 323 | openvdb::math::Mat4<float>(0.1f, 2.3f,-9.3f, 4.5f, -1.7f, 7.8f, 2.1f, 3.3f, 3.3f,-3.3f,-0.3f, 2.5f, 5.1f, 0.5f, 8.1f,-1.7f), | ||
| 324 | openvdb::math::Mat4<float>(0.1f, 2.3f,-9.3f, 4.5f, -1.7f, 7.8f, 2.1f, 3.3f, 3.3f,-3.3f,-0.3f, 2.5f, 5.1f, 0.5f, 8.1f,-1.7f), | ||
| 325 | openvdb::math::Mat4<float>(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 3.3f, 2.9f, 5.9f, 0.1f, 0.3f, 5.1f, 1.9f), | ||
| 326 | openvdb::math::Mat4<float>(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 3.3f, 2.9f, 5.9f, 0.1f, 0.3f, 5.1f, 1.9f) | ||
| 327 | }); | ||
| 328 | 1 | }, | |
| 329 | }, | ||
| 330 | { "mat4d", | ||
| 331 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Mat4<double>>(names, |
| 332 | { openvdb::math::Mat4<double>(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 3.3, 2.9, 5.9, 0.1, 0.3, 5.1, 1.9), | ||
| 333 | openvdb::math::Mat4<double>(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 3.3, 2.9, 5.9, 0.1, 0.3, 5.1, 1.9), | ||
| 334 | openvdb::math::Mat4<double>(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 3.3, 2.9, 5.9, 0.1, 0.3, 5.1, 1.9), | ||
| 335 | openvdb::math::Mat4<double>(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 3.3, 2.9, 5.9, 0.1, 0.3, 5.1, 1.9), | ||
| 336 | openvdb::math::Mat4<double>(0.1, 2.3,-9.3, 4.5, -1.7, 7.8, 2.1, 3.3, 3.3,-3.3,-0.3, 2.5, 5.1, 0.5, 8.1,-1.7), | ||
| 337 | openvdb::math::Mat4<double>(0.1, 2.3,-9.3, 4.5, -1.7, 7.8, 2.1, 3.3, 3.3,-3.3,-0.3, 2.5, 5.1, 0.5, 8.1,-1.7), | ||
| 338 | openvdb::math::Mat4<double>(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 3.3, 2.9, 5.9, 0.1, 0.3, 5.1, 1.9), | ||
| 339 | openvdb::math::Mat4<double>(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 3.3, 2.9, 5.9, 0.1, 0.3, 5.1, 1.9) | ||
| 340 | }); | ||
| 341 | 1 | }, | |
| 342 | }, | ||
| 343 | { "string", | ||
| 344 |
12/24✓ 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 8 times.
✓ Branch 32 taken 1 times.
✗ Branch 35 not taken.
✗ Branch 36 not taken.
|
9 | [&](){ mHarness.addAttributes<std::string>(names, |
| 345 | { "foo", "foo", "foo", "foo", "bar", "bar", "foo", "foo" }); | ||
| 346 | 1 | }, | |
| 347 | } | ||
| 348 |
20/42✓ 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 1 times.
✗ Branch 47 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✗ Branch 58 not taken.
✓ Branch 59 taken 1 times.
✗ Branch 61 not taken.
✗ Branch 62 not taken.
|
40 | }; |
| 349 | |||
| 350 |
2/2✓ Branch 0 taken 19 times.
✓ Branch 1 taken 1 times.
|
20 | for (const auto& expc : expected) { |
| 351 |
1/2✓ Branch 1 taken 19 times.
✗ Branch 2 not taken.
|
19 | mHarness.reset(); |
| 352 |
1/2✓ Branch 1 taken 19 times.
✗ Branch 2 not taken.
|
19 | expc.second.operator()(); |
| 353 |
3/6✓ Branch 1 taken 19 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 19 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 19 times.
✗ Branch 8 not taken.
|
38 | this->execute("assign." + expc.first + ".ax"); |
| 354 | } | ||
| 355 | 1 | } | |
| 356 | |||
| 357 | void | ||
| 358 | 1 | TestAssign::compoundIntegralAssignment() | |
| 359 | { | ||
| 360 | 1 | const std::string code = R"( | |
| 361 | _T1_@test1 += _l1_; | ||
| 362 | _T1_@test2 -= _l1_; | ||
| 363 | _T1_@test3 *= _l1_; | ||
| 364 | _T1_@test4 /= _l1_; | ||
| 365 | _T1_@test5 %= _l1_; | ||
| 366 | _T1_@test6 <<= _l1_; | ||
| 367 | _T1_@test7 >>= _l1_; | ||
| 368 | _T1_@test8 &= _l1_; | ||
| 369 | _T1_@test9 ^= _l1_; | ||
| 370 | _T1_@test10 |= _l1_; | ||
| 371 | |||
| 372 | _T1_ local1 = _l1_, | ||
| 373 | local2 = _l2_; | ||
| 374 | |||
| 375 | local1 += local2; | ||
| 376 | _T1_@test11 = local1; | ||
| 377 | _T1_@test12 += _T1_@test13; | ||
| 378 | _T1_@test14 += local2; | ||
| 379 | )"; | ||
| 380 | |||
| 381 | 1 | auto generate = [&](const auto& map) { | |
| 382 |
2/2✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
|
4 | for (const auto& config : map) { |
| 383 |
1/2✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
|
3 | std::string repl = code; |
| 384 |
2/4✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
|
6 | unittest_util::replace(repl, "_T1_", config.first); // replace type |
| 385 | // replace literal values | ||
| 386 |
2/2✓ Branch 0 taken 6 times.
✓ Branch 1 taken 3 times.
|
9 | for (const auto& settings : config.second) { |
| 387 |
1/2✓ Branch 1 taken 6 times.
✗ Branch 2 not taken.
|
6 | unittest_util::replace(repl, settings.first, settings.second); |
| 388 | } | ||
| 389 | |||
| 390 |
3/6✓ Branch 1 taken 3 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 3 times.
✗ Branch 8 not taken.
|
6 | this->registerTest(repl, "assign_compound." + config.first + ".ax"); |
| 391 | } | ||
| 392 | 1 | }; | |
| 393 | |||
| 394 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(integral); |
| 395 | |||
| 396 |
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", 14); |
| 397 | const std::map<std::string, std::vector<std::function<void()>>> expected = { | ||
| 398 | { "bool", { | ||
| 399 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<bool>(names, |
| 400 | { true, true, false, false, false, false, false, false, true, true, true, false, false, false }); | ||
| 401 | 1 | }, | |
| 402 |
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 | [&](){ mHarness.addAttributes<bool>(names, |
| 403 | { true, true, true, true, true, true, true, true, true, true, false, true, true, true }, // in | ||
| 404 | { true, false, true, true, false, true, false, true, false, true, true, true, true, true }); // expected | ||
| 405 | 1 | }, | |
| 406 | } | ||
| 407 | }, | ||
| 408 | { "int32", { | ||
| 409 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<int32_t>(names, |
| 410 | { 2, -2, 0, 0, 0, 0, 0, 0, 2, 2, 5, 0, 0, 3 }); | ||
| 411 | 1 | }, | |
| 412 |
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.
|
2 | [&](){ mHarness.addAttributes<int32_t>(names, |
| 413 | { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 12, 13, 14 }, // in | ||
| 414 | { 3, 0, 6, 2, 1, 24, 1, 0, 11, 10, 5, 25, 13, 17 }); // expected | ||
| 415 | 1 | }, | |
| 416 | } | ||
| 417 | }, | ||
| 418 | { "int64", { | ||
| 419 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<int64_t>(names, |
| 420 | { 2, -2, 0, 0, 0, 0, 0, 0, 2, 2, 5, 0, 0, 3 }); | ||
| 421 | 1 | }, | |
| 422 |
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.
|
2 | [&](){ mHarness.addAttributes<int64_t>(names, |
| 423 | { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 12, 13, 14 }, // in | ||
| 424 | { 3, 0, 6, 2, 1, 24, 1, 0, 11, 10, 5, 25, 13, 17 }); // expected | ||
| 425 | 1 | }, | |
| 426 | } | ||
| 427 | } | ||
| 428 |
7/16✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
|
8 | }; |
| 429 | |||
| 430 |
2/2✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
|
4 | for (const auto& expc : expected) { |
| 431 |
2/2✓ Branch 0 taken 6 times.
✓ Branch 1 taken 3 times.
|
9 | for (const auto& test : expc.second) { |
| 432 |
1/2✓ Branch 1 taken 6 times.
✗ Branch 2 not taken.
|
6 | mHarness.reset(); |
| 433 |
1/2✓ Branch 1 taken 6 times.
✗ Branch 2 not taken.
|
6 | test.operator()(); |
| 434 |
3/6✓ Branch 1 taken 6 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 6 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 6 times.
✗ Branch 8 not taken.
|
12 | this->execute("assign_compound." + expc.first + ".ax"); |
| 435 | } | ||
| 436 | } | ||
| 437 | 1 | } | |
| 438 | |||
| 439 | void | ||
| 440 | 1 | TestAssign::compoundFloatingAssignment() | |
| 441 | { | ||
| 442 | 1 | const std::string code = R"( | |
| 443 | _T1_@test1 += _l1_; | ||
| 444 | _T1_@test2 -= _l1_; | ||
| 445 | _T1_@test3 *= _l1_; | ||
| 446 | _T1_@test4 /= _l1_; | ||
| 447 | _T1_@test5 %= _l1_; | ||
| 448 | |||
| 449 | _T1_ local1 = _l1_, | ||
| 450 | local2 = _l2_; | ||
| 451 | |||
| 452 | local1 += local2; | ||
| 453 | _T1_@test6 = local1; | ||
| 454 | _T1_@test7 += _T1_@test8; | ||
| 455 | _T1_@test9 += local2; | ||
| 456 | )"; | ||
| 457 | |||
| 458 | 1 | auto generate = [&](const auto& map) { | |
| 459 |
2/2✓ Branch 0 taken 2 times.
✓ Branch 1 taken 1 times.
|
3 | for (const auto& config : map) { |
| 460 |
1/2✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
|
2 | std::string repl = code; |
| 461 |
2/4✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
|
4 | unittest_util::replace(repl, "_T1_", config.first); // replace type |
| 462 | // replace literal values | ||
| 463 |
2/2✓ Branch 0 taken 4 times.
✓ Branch 1 taken 2 times.
|
6 | for (const auto& settings : config.second) { |
| 464 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
4 | unittest_util::replace(repl, settings.first, settings.second); |
| 465 | } | ||
| 466 | |||
| 467 |
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->registerTest(repl, "assign_compound." + config.first + ".ax"); |
| 468 | } | ||
| 469 | 1 | }; | |
| 470 | |||
| 471 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(floating); |
| 472 | |||
| 473 |
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); |
| 474 | const std::map<std::string, std::vector<std::function<void()>>> expected = { | ||
| 475 | { "float", { | ||
| 476 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<float>(names, |
| 477 | { 1.1f, -1.1f, 0.0f, 0.0f, 0.0f, (1.1f+2.3f), 0.0f, 0.0f, 2.3f }); | ||
| 478 | 1 | }, | |
| 479 |
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.
|
2 | [&](){ mHarness.addAttributes<float>(names, |
| 480 | { 1.1f, 2.3f, 4.5f, 6.7f, 8.9f, -1.1f, -2.3f, -4.5f, 6.1f }, // in | ||
| 481 | { (1.1f+1.1f), (2.3f-1.1f), (4.5f*1.1f), (6.7f/1.1f), | ||
| 482 | std::fmod(8.9f,1.1f), | ||
| 483 | (1.1f+2.3f), (-2.3f+-4.5f), (-4.5f), (6.1f+2.3f) }); // expected | ||
| 484 | 1 | } | |
| 485 | } | ||
| 486 | }, | ||
| 487 | { "double", { | ||
| 488 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<double>(names, |
| 489 | { 1.1, -1.1, 0.0, 0.0, 0.0, (1.1+2.3), 0.0, 0.0, 2.3 }); | ||
| 490 | 1 | }, | |
| 491 |
3/8✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
|
2 | [&](){ mHarness.addAttributes<double>(names, |
| 492 | { 1.1, 2.3, 4.5, 6.7, 8.9, -1.1, -2.3, -4.5, 6.1 }, // in | ||
| 493 | { (1.1+1.1), (2.3-1.1), (4.5*1.1), (6.7/1.1), | ||
| 494 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | std::fmod(8.9,1.1), |
| 495 | (1.1+2.3), (-2.3+-4.5), (-4.5), (6.1+2.3) }); // expected | ||
| 496 | 1 | } | |
| 497 | } | ||
| 498 | }, | ||
| 499 |
5/12✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
|
6 | }; |
| 500 | |||
| 501 |
2/2✓ Branch 0 taken 2 times.
✓ Branch 1 taken 1 times.
|
3 | for (const auto& expc : expected) { |
| 502 |
2/2✓ Branch 0 taken 4 times.
✓ Branch 1 taken 2 times.
|
6 | for (const auto& test : expc.second) { |
| 503 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
4 | mHarness.reset(); |
| 504 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
4 | test.operator()(); |
| 505 |
3/6✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
|
8 | this->execute("assign_compound." + expc.first + ".ax"); |
| 506 | } | ||
| 507 | } | ||
| 508 | 1 | } | |
| 509 | |||
| 510 | |||
| 511 | void | ||
| 512 | 1 | TestAssign::compoundVectorAssignment() | |
| 513 | { | ||
| 514 | 1 | const std::string code = R"( | |
| 515 | _T1_@test1 += _l1_; | ||
| 516 | _T1_@test2 -= _l1_; | ||
| 517 | _T1_@test3 *= _l1_; | ||
| 518 | _T1_@test4 /= _l1_; | ||
| 519 | _T1_@test5 %= _l1_; | ||
| 520 | |||
| 521 | _T1_ local1 = _l1_, | ||
| 522 | local2 = _l2_; | ||
| 523 | |||
| 524 | local1 += local2; | ||
| 525 | _T1_@test6 = local1; | ||
| 526 | _T1_@test7 += _T1_@test8; | ||
| 527 | _T1_@test9 += local2; | ||
| 528 | )"; | ||
| 529 | |||
| 530 | 3 | auto generate = [&](const auto& map) { | |
| 531 |
2/2✓ Branch 0 taken 9 times.
✓ Branch 1 taken 3 times.
|
12 | for (const auto& config : map) { |
| 532 |
1/2✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
|
9 | std::string repl = code; |
| 533 |
2/4✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
|
18 | unittest_util::replace(repl, "_T1_", config.first); // replace type |
| 534 | // replace literal values | ||
| 535 |
2/2✓ Branch 0 taken 18 times.
✓ Branch 1 taken 9 times.
|
27 | for (const auto& settings : config.second) { |
| 536 |
1/2✓ Branch 1 taken 18 times.
✗ Branch 2 not taken.
|
18 | unittest_util::replace(repl, settings.first, settings.second); |
| 537 | } | ||
| 538 | |||
| 539 |
3/6✓ Branch 1 taken 9 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 9 times.
✗ Branch 8 not taken.
|
18 | this->registerTest(repl, "assign_compound." + config.first + ".ax"); |
| 540 | } | ||
| 541 | 3 | }; | |
| 542 | |||
| 543 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(vec2); |
| 544 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(vec3); |
| 545 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(vec4); |
| 546 | |||
| 547 |
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); |
| 548 | const std::map<std::string, std::vector<std::function<void()>>> expected = { | ||
| 549 | { "vec2i", { | ||
| 550 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec2<int32_t>>(names, |
| 551 | { openvdb::math::Vec2<int32_t>(1,2), | ||
| 552 | openvdb::math::Vec2<int32_t>(-1,-2), | ||
| 553 | openvdb::math::Vec2<int32_t>(0,0), | ||
| 554 | openvdb::math::Vec2<int32_t>(0,0), | ||
| 555 | openvdb::math::Vec2<int32_t>(0,0), | ||
| 556 | openvdb::math::Vec2<int32_t>(4,6), | ||
| 557 | openvdb::math::Vec2<int32_t>(0,0), | ||
| 558 | openvdb::math::Vec2<int32_t>(0,0), | ||
| 559 | openvdb::math::Vec2<int32_t>(3,4) }); | ||
| 560 | 1 | }, | |
| 561 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Vec2<int32_t>>(names, |
| 562 | { openvdb::math::Vec2<int32_t>(1,2), | ||
| 563 | openvdb::math::Vec2<int32_t>(3,4), | ||
| 564 | openvdb::math::Vec2<int32_t>(5,6), | ||
| 565 | openvdb::math::Vec2<int32_t>(7,8), | ||
| 566 | openvdb::math::Vec2<int32_t>(3,9), | ||
| 567 | openvdb::math::Vec2<int32_t>(9,-1), | ||
| 568 | openvdb::math::Vec2<int32_t>(-2,-3), | ||
| 569 | openvdb::math::Vec2<int32_t>(-4,-5), | ||
| 570 | openvdb::math::Vec2<int32_t>(-6,-7) }, // in | ||
| 571 | { openvdb::math::Vec2<int32_t>(2,4), | ||
| 572 | openvdb::math::Vec2<int32_t>(2,2), | ||
| 573 | openvdb::math::Vec2<int32_t>(5,12), | ||
| 574 | openvdb::math::Vec2<int32_t>(7,4), | ||
| 575 | openvdb::math::Vec2<int32_t>(0,1), | ||
| 576 | openvdb::math::Vec2<int32_t>(4,6), | ||
| 577 | openvdb::math::Vec2<int32_t>(-6,-8), | ||
| 578 | openvdb::math::Vec2<int32_t>(-4,-5), | ||
| 579 | openvdb::math::Vec2<int32_t>(-3,-3) }); // expected | ||
| 580 | 1 | } | |
| 581 | } | ||
| 582 | }, | ||
| 583 | { "vec2f", { | ||
| 584 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec2<float>>(names, |
| 585 | { openvdb::math::Vec2<float>(1.1f,2.3f), | ||
| 586 | openvdb::math::Vec2<float>(-1.1f,-2.3f), | ||
| 587 | openvdb::math::Vec2<float>(0.0f,0.0f), | ||
| 588 | openvdb::math::Vec2<float>(0.0f,0.0f), | ||
| 589 | openvdb::math::Vec2<float>(0.0f,0.0f), | ||
| 590 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec2<float>(1.1f, 2.3f) + openvdb::math::Vec2<float>(4.1f, 5.3f), |
| 591 | openvdb::math::Vec2<float>(0.0f,0.0f), | ||
| 592 | openvdb::math::Vec2<float>(0.0f,0.0f), | ||
| 593 | openvdb::math::Vec2<float>(4.1f,5.3f) }); | ||
| 594 | 1 | }, | |
| 595 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Vec2<float>>(names, |
| 596 | { openvdb::math::Vec2<float>(1.1f,2.2f), | ||
| 597 | openvdb::math::Vec2<float>(3.3f,4.4f), | ||
| 598 | openvdb::math::Vec2<float>(5.5f,6.6f), | ||
| 599 | openvdb::math::Vec2<float>(7.7f,8.8f), | ||
| 600 | openvdb::math::Vec2<float>(2.3f,5.5f), | ||
| 601 | openvdb::math::Vec2<float>(9.9f,-1.1f), | ||
| 602 | openvdb::math::Vec2<float>(-2.2f,-3.3f), | ||
| 603 | openvdb::math::Vec2<float>(-4.3f,-5.5f), | ||
| 604 | openvdb::math::Vec2<float>(-6.1f,-8.2f) }, // in | ||
| 605 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | { openvdb::math::Vec2<float>(1.1f,2.2f) + openvdb::math::Vec2<float>(1.1f,2.3f), |
| 606 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec2<float>(3.3f,4.4f) - openvdb::math::Vec2<float>(1.1f,2.3f), |
| 607 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec2<float>(5.5f,6.6f) * openvdb::math::Vec2<float>(1.1f,2.3f), |
| 608 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec2<float>(7.7f,8.8f) / openvdb::math::Vec2<float>(1.1f,2.3f), |
| 609 | openvdb::math::Vec2<float>(std::fmod(2.3f, 1.1f), std::fmod(5.5f, 2.3f)), | ||
| 610 | 1 | openvdb::math::Vec2<float>(1.1f, 2.3f) + openvdb::math::Vec2<float>(4.1f, 5.3f), | |
| 611 | 1 | openvdb::math::Vec2<float>(-2.2f,-3.3f) + openvdb::math::Vec2<float>(-4.3f,-5.5f), | |
| 612 | openvdb::math::Vec2<float>(-4.3f,-5.5f), | ||
| 613 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec2<float>(-6.1f,-8.2f) + openvdb::math::Vec2<float>(4.1f,5.3f) |
| 614 | }); // expected | ||
| 615 | 1 | } | |
| 616 | } | ||
| 617 | }, | ||
| 618 | { "vec2d", { | ||
| 619 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec2<double>>(names, |
| 620 | { openvdb::math::Vec2<double>(1.1,2.3), | ||
| 621 | openvdb::math::Vec2<double>(-1.1,-2.3), | ||
| 622 | openvdb::math::Vec2<double>(0.0,0.0), | ||
| 623 | openvdb::math::Vec2<double>(0.0,0.0), | ||
| 624 | openvdb::math::Vec2<double>(0.0,0.0), | ||
| 625 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec2<double>(1.1, 2.3) + openvdb::math::Vec2<double>(4.1, 5.3), |
| 626 | openvdb::math::Vec2<double>(0.0,0.0), | ||
| 627 | openvdb::math::Vec2<double>(0.0,0.0), | ||
| 628 | openvdb::math::Vec2<double>(4.1,5.3) }); | ||
| 629 | 1 | }, | |
| 630 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Vec2<double>>(names, |
| 631 | { openvdb::math::Vec2<double>(1.1,2.2), | ||
| 632 | openvdb::math::Vec2<double>(3.3,4.4), | ||
| 633 | openvdb::math::Vec2<double>(5.5,6.6), | ||
| 634 | openvdb::math::Vec2<double>(7.7,8.8), | ||
| 635 | openvdb::math::Vec2<double>(2.3,5.5), | ||
| 636 | openvdb::math::Vec2<double>(9.9,-1.1), | ||
| 637 | openvdb::math::Vec2<double>(-2.2,-3.3), | ||
| 638 | openvdb::math::Vec2<double>(-4.3,-5.5), | ||
| 639 | openvdb::math::Vec2<double>(-6.1,-8.2) }, // in | ||
| 640 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | { openvdb::math::Vec2<double>(1.1,2.2) + openvdb::math::Vec2<double>(1.1,2.3), |
| 641 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec2<double>(3.3,4.4) - openvdb::math::Vec2<double>(1.1,2.3), |
| 642 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec2<double>(5.5,6.6) * openvdb::math::Vec2<double>(1.1,2.3), |
| 643 | 1 | openvdb::math::Vec2<double>(7.7,8.8) / openvdb::math::Vec2<double>(1.1,2.3), | |
| 644 | openvdb::math::Vec2<double>(std::fmod(2.3, 1.1), std::fmod(5.5, 2.3)), | ||
| 645 | 1 | openvdb::math::Vec2<double>(1.1, 2.3) + openvdb::math::Vec2<double>(4.1, 5.3), | |
| 646 | 1 | openvdb::math::Vec2<double>(-2.2,-3.3) + openvdb::math::Vec2<double>(-4.3,-5.5), | |
| 647 | openvdb::math::Vec2<double>(-4.3,-5.5), | ||
| 648 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec2<double>(-6.1,-8.2) + openvdb::math::Vec2<double>(4.1,5.3) |
| 649 | }); // expected | ||
| 650 | 1 | } | |
| 651 | } | ||
| 652 | }, | ||
| 653 | { "vec3i", { | ||
| 654 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec3<int32_t>>(names, |
| 655 | { openvdb::math::Vec3<int32_t>(1,2,3), | ||
| 656 | openvdb::math::Vec3<int32_t>(-1,-2,-3), | ||
| 657 | openvdb::math::Vec3<int32_t>(0,0,0), | ||
| 658 | openvdb::math::Vec3<int32_t>(0,0,0), | ||
| 659 | openvdb::math::Vec3<int32_t>(0,0,0), | ||
| 660 | openvdb::math::Vec3<int32_t>(5,7,9), | ||
| 661 | openvdb::math::Vec3<int32_t>(0,0,0), | ||
| 662 | openvdb::math::Vec3<int32_t>(0,0,0), | ||
| 663 | openvdb::math::Vec3<int32_t>(4,5,6) }); | ||
| 664 | 1 | }, | |
| 665 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Vec3<int32_t>>(names, |
| 666 | { openvdb::math::Vec3<int32_t>(1,2,3), | ||
| 667 | openvdb::math::Vec3<int32_t>(4,5,6), | ||
| 668 | openvdb::math::Vec3<int32_t>(7,8,9), | ||
| 669 | openvdb::math::Vec3<int32_t>(-1,-2,-3), | ||
| 670 | openvdb::math::Vec3<int32_t>(4,-5,6), | ||
| 671 | openvdb::math::Vec3<int32_t>(5,7,9), | ||
| 672 | openvdb::math::Vec3<int32_t>(-7,-8,-9), | ||
| 673 | openvdb::math::Vec3<int32_t>(-1,2,-3), | ||
| 674 | openvdb::math::Vec3<int32_t>(-4,5,-6) }, // in | ||
| 675 | { openvdb::math::Vec3<int32_t>(2,4,6), | ||
| 676 | openvdb::math::Vec3<int32_t>(3,3,3), | ||
| 677 | openvdb::math::Vec3<int32_t>(7,16,27), | ||
| 678 | openvdb::math::Vec3<int32_t>(-1,-1,-1), | ||
| 679 | openvdb::math::Vec3<int32_t>(0,1,0), | ||
| 680 | openvdb::math::Vec3<int32_t>(5,7,9), | ||
| 681 | openvdb::math::Vec3<int32_t>(-8,-6,-12), | ||
| 682 | openvdb::math::Vec3<int32_t>(-1,2,-3), | ||
| 683 | openvdb::math::Vec3<int32_t>(0,10,0) }); // expected | ||
| 684 | 1 | } | |
| 685 | } | ||
| 686 | }, | ||
| 687 | { "vec3f", { | ||
| 688 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec3<float>>(names, |
| 689 | { openvdb::math::Vec3<float>(1.1f,2.3f,4.3f), | ||
| 690 | openvdb::math::Vec3<float>(-1.1f,-2.3f,-4.3f), | ||
| 691 | openvdb::math::Vec3<float>(0.0f,0.0f,0.0f), | ||
| 692 | openvdb::math::Vec3<float>(0.0f,0.0f,0.0f), | ||
| 693 | openvdb::math::Vec3<float>(0.0f,0.0f,0.0f), | ||
| 694 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec3<float>(1.1f, 2.3f, 4.3f) + openvdb::math::Vec3<float>(4.1f, 5.3f, 6.3f), |
| 695 | openvdb::math::Vec3<float>(0.0f,0.0f,0.0f), | ||
| 696 | openvdb::math::Vec3<float>(0.0f,0.0f,0.0f), | ||
| 697 | openvdb::math::Vec3<float>(4.1f, 5.3f, 6.3f) }); | ||
| 698 | 1 | }, | |
| 699 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Vec3<float>>(names, |
| 700 | { openvdb::math::Vec3<float>(1.1f,2.2f,3.3f), | ||
| 701 | openvdb::math::Vec3<float>(3.3f,4.4f,5.5f), | ||
| 702 | openvdb::math::Vec3<float>(5.5f,6.6f,7.7f), | ||
| 703 | openvdb::math::Vec3<float>(7.7f,8.8f,9.9f), | ||
| 704 | openvdb::math::Vec3<float>(7.7f,8.8f,9.9f), | ||
| 705 | openvdb::math::Vec3<float>(9.9f,-1.1f,-2.2f), | ||
| 706 | openvdb::math::Vec3<float>(-2.2f,-3.3f,-4.4f), | ||
| 707 | openvdb::math::Vec3<float>(-4.3f,-5.5f,-6.6f), | ||
| 708 | openvdb::math::Vec3<float>(-7.1f,8.5f,-9.9f), }, // in | ||
| 709 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | { openvdb::math::Vec3<float>(1.1f,2.2f,3.3f) + openvdb::math::Vec3<float>(1.1f,2.3f,4.3f), |
| 710 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec3<float>(3.3f,4.4f,5.5f) - openvdb::math::Vec3<float>(1.1f,2.3f,4.3f), |
| 711 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec3<float>(5.5f,6.6f,7.7f) * openvdb::math::Vec3<float>(1.1f,2.3f,4.3f), |
| 712 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec3<float>(7.7f,8.8f,9.9f) / openvdb::math::Vec3<float>(1.1f,2.3f,4.3f), |
| 713 | openvdb::math::Vec3<float>(std::fmod(7.7f,1.1f), std::fmod(8.8f,2.3f), std::fmod(9.9f,4.3f)), | ||
| 714 | 1 | openvdb::math::Vec3<float>(1.1f, 2.3f, 4.3f) + openvdb::math::Vec3<float>(4.1f, 5.3f, 6.3f), | |
| 715 | 1 | openvdb::math::Vec3<float>(-2.2f,-3.3f,-4.4f) + openvdb::math::Vec3<float>(-4.3f,-5.5f,-6.6f), | |
| 716 | openvdb::math::Vec3<float>(-4.3f,-5.5f,-6.6f), | ||
| 717 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec3<float>(-7.1f,8.5f,-9.9f) + openvdb::math::Vec3<float>(4.1f, 5.3f, 6.3f) |
| 718 | }); // expected | ||
| 719 | 1 | } | |
| 720 | } | ||
| 721 | }, | ||
| 722 | { "vec3d", { | ||
| 723 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec3<double>>(names, |
| 724 | { openvdb::math::Vec3<double>(1.1,2.3,4.3), | ||
| 725 | openvdb::math::Vec3<double>(-1.1,-2.3,-4.3), | ||
| 726 | openvdb::math::Vec3<double>(0.0,0.0,0.0), | ||
| 727 | openvdb::math::Vec3<double>(0.0,0.0,0.0), | ||
| 728 | openvdb::math::Vec3<double>(0.0,0.0,0.0), | ||
| 729 | openvdb::math::Vec3<double>(1.1, 2.3, 4.3) + openvdb::math::Vec3<double>(4.1, 5.3, 6.3), | ||
| 730 | openvdb::math::Vec3<double>(0.0,0.0,0.0), | ||
| 731 | openvdb::math::Vec3<double>(0.0,0.0,0.0), | ||
| 732 | openvdb::math::Vec3<double>(4.1, 5.3, 6.3) }); | ||
| 733 | 1 | }, | |
| 734 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Vec3<double>>(names, |
| 735 | { openvdb::math::Vec3<double>(1.1,2.2,3.3), | ||
| 736 | openvdb::math::Vec3<double>(3.3,4.4,5.5), | ||
| 737 | openvdb::math::Vec3<double>(5.5,6.6,7.7), | ||
| 738 | openvdb::math::Vec3<double>(7.7,8.8,9.9), | ||
| 739 | openvdb::math::Vec3<double>(7.7,8.8,9.9), | ||
| 740 | openvdb::math::Vec3<double>(9.9,-1.1,-2.2), | ||
| 741 | openvdb::math::Vec3<double>(-2.2,-3.3,-4.4), | ||
| 742 | openvdb::math::Vec3<double>(-4.3,-5.5,-6.6), | ||
| 743 | openvdb::math::Vec3<double>(-7.1,8.5,-9.9), }, // in | ||
| 744 | { openvdb::math::Vec3<double>(1.1,2.2,3.3) + openvdb::math::Vec3<double>(1.1,2.3,4.3), | ||
| 745 | openvdb::math::Vec3<double>(3.3,4.4,5.5) - openvdb::math::Vec3<double>(1.1,2.3,4.3), | ||
| 746 | openvdb::math::Vec3<double>(5.5,6.6,7.7) * openvdb::math::Vec3<double>(1.1,2.3,4.3), | ||
| 747 | openvdb::math::Vec3<double>(7.7,8.8,9.9) / openvdb::math::Vec3<double>(1.1,2.3,4.3), | ||
| 748 | openvdb::math::Vec3<double>(std::fmod(7.7,1.1), std::fmod(8.8,2.3), std::fmod(9.9,4.3)), | ||
| 749 | openvdb::math::Vec3<double>(1.1, 2.3, 4.3) + openvdb::math::Vec3<double>(4.1, 5.3, 6.3), | ||
| 750 | openvdb::math::Vec3<double>(-2.2,-3.3,-4.4) + openvdb::math::Vec3<double>(-4.3,-5.5,-6.6), | ||
| 751 | openvdb::math::Vec3<double>(-4.3,-5.5,-6.6), | ||
| 752 | openvdb::math::Vec3<double>(-7.1,8.5,-9.9) + openvdb::math::Vec3<double>(4.1, 5.3, 6.3) | ||
| 753 | }); // expected | ||
| 754 | 1 | } | |
| 755 | } | ||
| 756 | }, | ||
| 757 | { "vec4i", { | ||
| 758 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec4<int32_t>>(names, |
| 759 | { openvdb::math::Vec4<int32_t>(1,2,3,4), | ||
| 760 | openvdb::math::Vec4<int32_t>(-1,-2,-3,-4), | ||
| 761 | openvdb::math::Vec4<int32_t>(0,0,0,0), | ||
| 762 | openvdb::math::Vec4<int32_t>(0,0,0,0), | ||
| 763 | openvdb::math::Vec4<int32_t>(0,0,0,0), | ||
| 764 | openvdb::math::Vec4<int32_t>(6,8,10,12), | ||
| 765 | openvdb::math::Vec4<int32_t>(0,0,0,0), | ||
| 766 | openvdb::math::Vec4<int32_t>(0,0,0,0), | ||
| 767 | openvdb::math::Vec4<int32_t>(5,6,7,8) }); | ||
| 768 | 1 | }, | |
| 769 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Vec4<int32_t>>(names, |
| 770 | { openvdb::math::Vec4<int32_t>(1,2,3,4), | ||
| 771 | openvdb::math::Vec4<int32_t>(4,5,6,7), | ||
| 772 | openvdb::math::Vec4<int32_t>(7,8,9,-1), | ||
| 773 | openvdb::math::Vec4<int32_t>(-1,-2,-3,1), | ||
| 774 | openvdb::math::Vec4<int32_t>(-4,-5,-6,2), | ||
| 775 | openvdb::math::Vec4<int32_t>(4,5,-6,2), | ||
| 776 | openvdb::math::Vec4<int32_t>(-7,-8,-9,3), | ||
| 777 | openvdb::math::Vec4<int32_t>(-1,2,-3,4), | ||
| 778 | openvdb::math::Vec4<int32_t>(-5,6,-7,8) }, // in | ||
| 779 | { openvdb::math::Vec4<int32_t>(2,4,6,8), | ||
| 780 | openvdb::math::Vec4<int32_t>(3,3,3,3), | ||
| 781 | openvdb::math::Vec4<int32_t>(7,16,27,-4), | ||
| 782 | openvdb::math::Vec4<int32_t>(-1,-1,-1,0), | ||
| 783 | openvdb::math::Vec4<int32_t>(0,1,0,2), | ||
| 784 | openvdb::math::Vec4<int32_t>(6,8,10,12), | ||
| 785 | openvdb::math::Vec4<int32_t>(-8,-6,-12,7), | ||
| 786 | openvdb::math::Vec4<int32_t>(-1,2,-3,4), | ||
| 787 | openvdb::math::Vec4<int32_t>(0,12,0,16) }); // expected | ||
| 788 | 1 | } | |
| 789 | } | ||
| 790 | }, | ||
| 791 | { "vec4f", { | ||
| 792 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec4<float>>(names, |
| 793 | { openvdb::math::Vec4<float>(1.1f,2.3f,4.3f,5.4f), | ||
| 794 | openvdb::math::Vec4<float>(-1.1f,-2.3f,-4.3f,-5.4f), | ||
| 795 | openvdb::math::Vec4<float>(0.0f,0.0f,0.0f,0.0f), | ||
| 796 | openvdb::math::Vec4<float>(0.0f,0.0f,0.0f,0.0f), | ||
| 797 | openvdb::math::Vec4<float>(0.0f,0.0f,0.0f,0.0f), | ||
| 798 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec4<float>(1.1f, 2.3f, 4.3f, 5.4f) + openvdb::math::Vec4<float>(5.1f, 6.3f, 7.3f, 8.4f), |
| 799 | openvdb::math::Vec4<float>(0.0f,0.0f,0.0f,0.0f), | ||
| 800 | openvdb::math::Vec4<float>(0.0f,0.0f,0.0f,0.0f), | ||
| 801 | openvdb::math::Vec4<float>(5.1f, 6.3f, 7.3f, 8.4f) }); | ||
| 802 | 1 | }, | |
| 803 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Vec4<float>>(names, |
| 804 | { openvdb::math::Vec4<float>(1.1f,2.2f,3.3f,4.4f), | ||
| 805 | openvdb::math::Vec4<float>(3.3f,4.4f,5.5f,6.6f), | ||
| 806 | openvdb::math::Vec4<float>(5.5f,6.6f,7.7f,8.8f), | ||
| 807 | openvdb::math::Vec4<float>(7.7f,8.8f,9.9f,-1.1f), | ||
| 808 | openvdb::math::Vec4<float>(7.7f,8.8f,9.9f,-1.1f), | ||
| 809 | openvdb::math::Vec4<float>(9.9f,-1.1f,-2.2f,-3.3f), | ||
| 810 | openvdb::math::Vec4<float>(-2.2f,-3.3f,-4.4f,-5.5f), | ||
| 811 | openvdb::math::Vec4<float>(-4.3f,-5.5f,-6.6f,-7.7f), | ||
| 812 | openvdb::math::Vec4<float>(-8.2f,-9.3f,0.6f,-1.7f) }, // in | ||
| 813 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | { openvdb::math::Vec4<float>(1.1f,2.2f,3.3f,4.4f) + openvdb::math::Vec4<float>(1.1f,2.3f,4.3f,5.4f), |
| 814 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec4<float>(3.3f,4.4f,5.5f,6.6f) - openvdb::math::Vec4<float>(1.1f,2.3f,4.3f,5.4f), |
| 815 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec4<float>(5.5f,6.6f,7.7f,8.8f) * openvdb::math::Vec4<float>(1.1f,2.3f,4.3f,5.4f), |
| 816 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec4<float>(7.7f,8.8f,9.9f,-1.1f) / openvdb::math::Vec4<float>(1.1f,2.3f,4.3f,5.4f), |
| 817 | openvdb::math::Vec4<float>(std::fmod(7.7f,1.1f),std::fmod(8.8f,2.3f),std::fmod(9.9f,4.3f),std::fmod(-1.1f,5.4f)+5.4f), // floored mod | ||
| 818 | 1 | openvdb::math::Vec4<float>(1.1f, 2.3f, 4.3f, 5.4f) + openvdb::math::Vec4<float>(5.1f, 6.3f, 7.3f, 8.4f), | |
| 819 | 1 | openvdb::math::Vec4<float>(-2.2f,-3.3f,-4.4f,-5.5f) + openvdb::math::Vec4<float>(-4.3f,-5.5f,-6.6f,-7.7f), | |
| 820 | openvdb::math::Vec4<float>(-4.3f,-5.5f,-6.6f,-7.7f), | ||
| 821 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec4<float>(-8.2f,-9.3f,0.6f,-1.7f) + openvdb::math::Vec4<float>(5.1f, 6.3f, 7.3f, 8.4f) |
| 822 | }); // expected | ||
| 823 | 1 | } | |
| 824 | } | ||
| 825 | }, | ||
| 826 | { "vec4d", { | ||
| 827 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Vec4<double>>(names, |
| 828 | { openvdb::math::Vec4<double>(1.1,2.3,4.3,5.4), | ||
| 829 | openvdb::math::Vec4<double>(-1.1,-2.3,-4.3,-5.4), | ||
| 830 | openvdb::math::Vec4<double>(0.0,0.0,0.0,0.0), | ||
| 831 | openvdb::math::Vec4<double>(0.0,0.0,0.0,0.0), | ||
| 832 | openvdb::math::Vec4<double>(0.0,0.0,0.0,0.0), | ||
| 833 | openvdb::math::Vec4<double>(1.1, 2.3, 4.3, 5.4) + openvdb::math::Vec4<double>(5.1, 6.3, 7.3, 8.4), | ||
| 834 | openvdb::math::Vec4<double>(0.0,0.0,0.0,0.0), | ||
| 835 | openvdb::math::Vec4<double>(0.0,0.0,0.0,0.0), | ||
| 836 | openvdb::math::Vec4<double>(5.1, 6.3, 7.3, 8.4) }); | ||
| 837 | 1 | }, | |
| 838 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Vec4<double>>(names, |
| 839 | { openvdb::math::Vec4<double>(1.1,2.2,3.3,4.4), | ||
| 840 | openvdb::math::Vec4<double>(3.3,4.4,5.5,6.6), | ||
| 841 | openvdb::math::Vec4<double>(5.5,6.6,7.7,8.8), | ||
| 842 | openvdb::math::Vec4<double>(7.7,8.8,9.9,-1.1), | ||
| 843 | openvdb::math::Vec4<double>(7.7,8.8,9.9,-1.1), | ||
| 844 | openvdb::math::Vec4<double>(9.9,-1.1,-2.2,-3.3), | ||
| 845 | openvdb::math::Vec4<double>(-2.2,-3.3,-4.4,-5.5), | ||
| 846 | openvdb::math::Vec4<double>(-4.3,-5.5,-6.6,-7.7), | ||
| 847 | openvdb::math::Vec4<double>(-8.2,-9.3,0.6,-1.7) }, // in | ||
| 848 | { openvdb::math::Vec4<double>(1.1,2.2,3.3,4.4) + openvdb::math::Vec4<double>(1.1,2.3,4.3,5.4), | ||
| 849 | openvdb::math::Vec4<double>(3.3,4.4,5.5,6.6) - openvdb::math::Vec4<double>(1.1,2.3,4.3,5.4), | ||
| 850 | openvdb::math::Vec4<double>(5.5,6.6,7.7,8.8) * openvdb::math::Vec4<double>(1.1,2.3,4.3,5.4), | ||
| 851 | openvdb::math::Vec4<double>(7.7,8.8,9.9,-1.1) / openvdb::math::Vec4<double>(1.1,2.3,4.3,5.4), | ||
| 852 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | openvdb::math::Vec4<double>(std::fmod(7.7,1.1),std::fmod(8.8,2.3),std::fmod(9.9,4.3),std::fmod(-1.1,5.4)+5.4), // floored mod |
| 853 | openvdb::math::Vec4<double>(1.1, 2.3, 4.3, 5.4) + openvdb::math::Vec4<double>(5.1, 6.3, 7.3, 8.4), | ||
| 854 | openvdb::math::Vec4<double>(-2.2,-3.3,-4.4,-5.5) + openvdb::math::Vec4<double>(-4.3,-5.5,-6.6,-7.7), | ||
| 855 | openvdb::math::Vec4<double>(-4.3,-5.5,-6.6,-7.7), | ||
| 856 | openvdb::math::Vec4<double>(-8.2,-9.3,0.6,-1.7) + openvdb::math::Vec4<double>(5.1, 6.3, 7.3, 8.4) | ||
| 857 | }); // expected | ||
| 858 | 1 | } | |
| 859 | } | ||
| 860 | } | ||
| 861 |
19/40✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 35 taken 1 times.
✗ Branch 36 not taken.
✓ Branch 38 taken 1 times.
✗ Branch 39 not taken.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 47 not taken.
✓ Branch 51 taken 1 times.
✗ Branch 52 not taken.
✓ Branch 54 taken 1 times.
✗ Branch 55 not taken.
✓ Branch 59 taken 1 times.
✗ Branch 60 not taken.
✓ Branch 62 taken 1 times.
✗ Branch 63 not taken.
✓ Branch 67 taken 1 times.
✗ Branch 68 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✗ Branch 73 not taken.
✓ Branch 74 taken 1 times.
✗ Branch 85 not taken.
✗ Branch 86 not taken.
|
20 | }; |
| 862 | |||
| 863 |
2/2✓ Branch 0 taken 9 times.
✓ Branch 1 taken 1 times.
|
10 | for (const auto& expc : expected) { |
| 864 |
2/2✓ Branch 0 taken 18 times.
✓ Branch 1 taken 9 times.
|
27 | for (const auto& test : expc.second) { |
| 865 |
1/2✓ Branch 1 taken 18 times.
✗ Branch 2 not taken.
|
18 | mHarness.reset(); |
| 866 |
1/2✓ Branch 1 taken 18 times.
✗ Branch 2 not taken.
|
18 | test.operator()(); |
| 867 |
3/6✓ Branch 1 taken 18 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 18 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 18 times.
✗ Branch 8 not taken.
|
36 | this->execute("assign_compound." + expc.first + ".ax"); |
| 868 | } | ||
| 869 | } | ||
| 870 | 1 | } | |
| 871 | |||
| 872 | |||
| 873 | void | ||
| 874 | 1 | TestAssign::compoundMatrixAssignment() | |
| 875 | { | ||
| 876 | 1 | const std::string code = R"( | |
| 877 | _T1_@test1 += _l1_; | ||
| 878 | _T1_@test2 -= _l1_; | ||
| 879 | _T1_@test3 *= _l1_; | ||
| 880 | |||
| 881 | _T1_ local1 = _l1_, | ||
| 882 | local2 = _l2_; | ||
| 883 | |||
| 884 | local1 += local2; | ||
| 885 | _T1_@test4 = local1; | ||
| 886 | _T1_@test5 += _T1_@test6; | ||
| 887 | _T1_@test7 += local2; | ||
| 888 | )"; | ||
| 889 | |||
| 890 | 2 | auto generate = [&](const auto& map) { | |
| 891 |
2/2✓ Branch 0 taken 4 times.
✓ Branch 1 taken 2 times.
|
6 | for (const auto& config : map) { |
| 892 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
4 | std::string repl = code; |
| 893 |
2/4✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
|
8 | unittest_util::replace(repl, "_T1_", config.first); // replace type |
| 894 | // replace literal values | ||
| 895 |
2/2✓ Branch 0 taken 8 times.
✓ Branch 1 taken 4 times.
|
12 | for (const auto& settings : config.second) { |
| 896 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
8 | unittest_util::replace(repl, settings.first, settings.second); |
| 897 | } | ||
| 898 | |||
| 899 |
3/6✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
|
8 | this->registerTest(repl, "assign_compound." + config.first + ".ax"); |
| 900 | } | ||
| 901 | 2 | }; | |
| 902 | |||
| 903 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(mat3); |
| 904 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(mat4); |
| 905 | |||
| 906 | const openvdb::math::Mat3<float> m3fl1(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f); | ||
| 907 | const openvdb::math::Mat3<float> m3fl2(9.1f, 7.3f,-1.3f, 4.4f,-6.7f, 0.8f, 9.1f,-0.5f, 8.2f); | ||
| 908 | const openvdb::math::Mat3<double> m3dl1(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2); | ||
| 909 | const openvdb::math::Mat3<double> m3dl2(9.1, 7.3,-1.3, 4.4,-6.7, 0.8, 9.1,-0.5, 8.2); | ||
| 910 | |||
| 911 | const openvdb::math::Mat4<float> m4fl1(1.1f, 2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 3.3f, 2.9f, 5.9f, 0.1f, 0.3f, 5.1f, 1.9f); | ||
| 912 | const openvdb::math::Mat4<float> m4fl2(0.1f, 2.3f,-9.3f, 4.5f, -1.7f, 7.8f, 2.1f, 3.3f, 3.3f,-3.3f,-0.3f, 2.5f, 5.1f, 0.5f, 8.1f,-1.7f); | ||
| 913 | const openvdb::math::Mat4<double> m4dl1(1.1, 2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 3.3, 2.9, 5.9, 0.1, 0.3, 5.1, 1.9); | ||
| 914 | const openvdb::math::Mat4<double> m4dl2(0.1, 2.3,-9.3, 4.5, -1.7, 7.8, 2.1, 3.3, 3.3,-3.3,-0.3, 2.5, 5.1, 0.5, 8.1,-1.7); | ||
| 915 | |||
| 916 |
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", 7); |
| 917 | const std::map<std::string, std::vector<std::function<void()>>> expected = { | ||
| 918 | { "mat3f", { | ||
| 919 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Mat3<float>>(names, |
| 920 | 1 | { m3fl1, | |
| 921 | -m3fl1, | ||
| 922 | 1 | openvdb::math::Mat3<float>::zero(), | |
| 923 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | m3fl1 + m3fl2, |
| 924 | 1 | openvdb::math::Mat3<float>::zero(), | |
| 925 | 1 | openvdb::math::Mat3<float>::zero(), | |
| 926 | m3fl2 }); | ||
| 927 | 1 | }, | |
| 928 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Mat3<float>>(names, |
| 929 | { openvdb::math::Mat3<float>(2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 1.1f), | ||
| 930 | openvdb::math::Mat3<float>(4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 1.1f, 2.3f), | ||
| 931 | openvdb::math::Mat3<float>(5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 1.1f, 2.3f, 4.3f), | ||
| 932 | openvdb::math::Mat3<float>(8.3f, 2.3f, 6.1f, 4.5f, 0.1f, 0.1f, 5.3f, 4.5f, 8.9f), | ||
| 933 | openvdb::math::Mat3<float>(6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 1.1f, 2.3f, 4.3f, 5.4f), | ||
| 934 | openvdb::math::Mat3<float>(7.8f, 9.1f, 4.5f, 8.2f, 1.1f, 2.3f, 4.3f, 5.4f, 6.7f), | ||
| 935 | openvdb::math::Mat3<float>(-6.8f,-8.1f,-4.5f, 5.2f,-1.1f, 2.3f, -0.3f, 5.4f,-3.7f) | ||
| 936 | }, // in | ||
| 937 | 1 | { openvdb::math::Mat3<float>(2.3f, 4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 1.1f) + m3fl1, | |
| 938 | 1 | openvdb::math::Mat3<float>(4.3f, 5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 1.1f, 2.3f) - m3fl1, | |
| 939 | 1 | openvdb::math::Mat3<float>(5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 1.1f, 2.3f, 4.3f) * m3fl1, | |
| 940 | 1 | m3fl1 + m3fl2, | |
| 941 | 1 | openvdb::math::Mat3<float>(6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 1.1f, 2.3f, 4.3f, 5.4f) + | |
| 942 | 1 | openvdb::math::Mat3<float>(7.8f, 9.1f, 4.5f, 8.2f, 1.1f, 2.3f, 4.3f, 5.4f, 6.7f), | |
| 943 | openvdb::math::Mat3<float>(7.8f, 9.1f, 4.5f, 8.2f, 1.1f, 2.3f, 4.3f, 5.4f, 6.7f), | ||
| 944 | 1 | openvdb::math::Mat3<float>(-6.8f,-8.1f,-4.5f, 5.2f,-1.1f, 2.3f, -0.3f, 5.4f,-3.7f) + m3fl2 | |
| 945 | }); // expected | ||
| 946 | 1 | } | |
| 947 | } | ||
| 948 | }, | ||
| 949 | { "mat3d", { | ||
| 950 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Mat3<double>>(names, |
| 951 | 1 | { m3dl1, | |
| 952 | -m3dl1, | ||
| 953 | 1 | openvdb::math::Mat3<double>::zero(), | |
| 954 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | m3dl1 + m3dl2, |
| 955 | 1 | openvdb::math::Mat3<double>::zero(), | |
| 956 | 1 | openvdb::math::Mat3<double>::zero(), | |
| 957 | m3dl2 }); | ||
| 958 | 1 | }, | |
| 959 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Mat3<double>>(names, |
| 960 | { openvdb::math::Mat3<double>(2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 1.1), | ||
| 961 | openvdb::math::Mat3<double>(4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 1.1, 2.3), | ||
| 962 | openvdb::math::Mat3<double>(5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 1.1, 2.3, 4.3), | ||
| 963 | openvdb::math::Mat3<double>(8.3, 2.3, 6.1, 4.5, 0.1, 0.1, 5.3, 4.5, 8.9), | ||
| 964 | openvdb::math::Mat3<double>(6.7, 7.8, 9.1, 4.5, 8.2, 1.1, 2.3, 4.3, 5.4), | ||
| 965 | openvdb::math::Mat3<double>(7.8, 9.1, 4.5, 8.2, 1.1, 2.3, 4.3, 5.4, 6.7), | ||
| 966 | openvdb::math::Mat3<double>(-6.8,-8.1,-4.5, 5.2,-1.1, 2.3, -0.3, 5.4,-3.7) | ||
| 967 | }, // in | ||
| 968 | 1 | { openvdb::math::Mat3<double>(2.3, 4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 1.1) + m3dl1, | |
| 969 | 1 | openvdb::math::Mat3<double>(4.3, 5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 1.1, 2.3) - m3dl1, | |
| 970 | 1 | openvdb::math::Mat3<double>(5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 1.1, 2.3, 4.3) * m3dl1, | |
| 971 | 1 | m3dl1 + m3dl2, | |
| 972 | 1 | openvdb::math::Mat3<double>(6.7, 7.8, 9.1, 4.5, 8.2, 1.1, 2.3, 4.3, 5.4) + | |
| 973 | 1 | openvdb::math::Mat3<double>(7.8, 9.1, 4.5, 8.2, 1.1, 2.3, 4.3, 5.4, 6.7), | |
| 974 | openvdb::math::Mat3<double>(7.8, 9.1, 4.5, 8.2, 1.1, 2.3, 4.3, 5.4, 6.7), | ||
| 975 | 1 | openvdb::math::Mat3<double>(-6.8,-8.1,-4.5, 5.2,-1.1, 2.3, -0.3, 5.4,-3.7) + m3dl2 | |
| 976 | }); // expected | ||
| 977 | 1 | } | |
| 978 | } | ||
| 979 | }, | ||
| 980 | { "mat4f", { | ||
| 981 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Mat4<float>>(names, |
| 982 | 2 | { m4fl1, | |
| 983 | 1 | -m4fl1, | |
| 984 | 1 | openvdb::math::Mat4<float>::zero(), | |
| 985 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | m4fl1 + m4fl2, |
| 986 | 1 | openvdb::math::Mat4<float>::zero(), | |
| 987 | 1 | openvdb::math::Mat4<float>::zero(), | |
| 988 | m4fl2 }); | ||
| 989 | 1 | }, | |
| 990 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Mat4<float>>(names, |
| 991 | { openvdb::math::Mat4<float>(2.3f,-4.3f, 5.4f, 6.7f, 7.8f,-9.1f, 4.5f, 8.2f, 1.1f,-5.4f,-6.7f, 7.8f, 6.7f, 7.8f, 9.1f,-2.4f), | ||
| 992 | openvdb::math::Mat4<float>(4.3f,-5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 1.1f, 2.3f, 6.7f, 7.8f, 9.1f, -1.3f,-0.1f, 1.1f, 0.9f), | ||
| 993 | openvdb::math::Mat4<float>(5.4f, 6.7f, 7.8f, 9.1f, -4.5f, 8.2f, 1.1f,-2.3f, -4.3f,-7.8f, 9.1f, 4.5f, -6.7f, 2.2f,-7.1f, 1.1f), | ||
| 994 | openvdb::math::Mat4<float>(1.2f, 5.1f, 8.2f, 3.1f, -3.3f, -7.3f, 0.2f,-0.1f, 1.4f, 0.8f, 8.8f,-1.1f, -7.8f, 4.1f, 4.4f, -4.7f), | ||
| 995 | openvdb::math::Mat4<float>(5.4f, 6.7f, 8.2f, 1.1f, -2.3f, -4.3f, 2.2f,-7.1f, 1.1f, 7.8f, 9.1f,-4.5f, -7.8f, 9.1f, 4.5f, -6.7f), | ||
| 996 | openvdb::math::Mat4<float>(8.2f, 1.1f, 6.3f,-4.3f, 9.1f, -4.5f,-7.8f, 9.1f, 4.5f, 6.7f,-5.4f, 6.7f, 2.2f,-7.1f, 1.1f, 7.8f), | ||
| 997 | openvdb::math::Mat4<float>(4.3f,-5.1f,-5.3f, 2.2f, 2.1f, -4.2f, 2.3f,-1.1f, 0.5f, 0.7f, 1.3f, 0.7f, -1.2f, 3.4f, 9.9f, 9.8f), | ||
| 998 | }, // in | ||
| 999 | 1 | { openvdb::math::Mat4<float>(2.3f,-4.3f, 5.4f, 6.7f, 7.8f,-9.1f, 4.5f, 8.2f, 1.1f,-5.4f,-6.7f, 7.8f, 6.7f, 7.8f, 9.1f,-2.4f) + m4fl1, | |
| 1000 | 1 | openvdb::math::Mat4<float>(4.3f,-5.4f, 6.7f, 7.8f, 9.1f, 4.5f, 8.2f, 1.1f, 2.3f, 6.7f, 7.8f, 9.1f, -1.3f,-0.1f, 1.1f, 0.9f) - m4fl1, | |
| 1001 | 1 | openvdb::math::Mat4<float>(5.4f, 6.7f, 7.8f, 9.1f, -4.5f, 8.2f, 1.1f,-2.3f, -4.3f,-7.8f, 9.1f, 4.5f, -6.7f, 2.2f,-7.1f, 1.1f) * m4fl1, | |
| 1002 | 1 | m4fl1 + m4fl2, | |
| 1003 | 1 | openvdb::math::Mat4<float>(5.4f, 6.7f, 8.2f, 1.1f, -2.3f, -4.3f, 2.2f,-7.1f, 1.1f, 7.8f, 9.1f,-4.5f, -7.8f, 9.1f, 4.5f, -6.7f) + | |
| 1004 | 1 | openvdb::math::Mat4<float>(8.2f, 1.1f, 6.3f,-4.3f, 9.1f, -4.5f,-7.8f, 9.1f, 4.5f, 6.7f,-5.4f, 6.7f, 2.2f,-7.1f, 1.1f, 7.8f), | |
| 1005 | openvdb::math::Mat4<float>(8.2f, 1.1f, 6.3f,-4.3f, 9.1f, -4.5f,-7.8f, 9.1f, 4.5f, 6.7f,-5.4f, 6.7f, 2.2f,-7.1f, 1.1f, 7.8f), | ||
| 1006 | 1 | openvdb::math::Mat4<float>(4.3f,-5.1f,-5.3f, 2.2f, 2.1f, -4.2f, 2.3f,-1.1f, 0.5f, 0.7f, 1.3f, 0.7f, -1.2f, 3.4f, 9.9f, 9.8f) + m4fl2 | |
| 1007 | }); // expected | ||
| 1008 | 1 | } | |
| 1009 | } | ||
| 1010 | }, | ||
| 1011 | { "mat4d", { | ||
| 1012 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | [&](){ mHarness.addAttributes<openvdb::math::Mat4<double>>(names, |
| 1013 | 2 | { m4dl1, | |
| 1014 | 1 | -m4dl1, | |
| 1015 | 1 | openvdb::math::Mat4<double>::zero(), | |
| 1016 |
1/2✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | m4dl1 + m4dl2, |
| 1017 | 1 | openvdb::math::Mat4<double>::zero(), | |
| 1018 | 1 | openvdb::math::Mat4<double>::zero(), | |
| 1019 | m4dl2 }); | ||
| 1020 | 1 | }, | |
| 1021 |
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.
|
2 | [&](){ mHarness.addAttributes<openvdb::math::Mat4<double>>(names, |
| 1022 | { openvdb::math::Mat4<double>(2.3,-4.3, 5.4, 6.7, 7.8,-9.1, 4.5, 8.2, 1.1,-5.4,-6.7, 7.8, 6.7, 7.8, 9.1,-2.4), | ||
| 1023 | openvdb::math::Mat4<double>(4.3,-5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 1.1, 2.3, 6.7, 7.8, 9.1, -1.3,-0.1, 1.1, 0.9), | ||
| 1024 | openvdb::math::Mat4<double>(5.4, 6.7, 7.8, 9.1, -4.5, 8.2, 1.1,-2.3, -4.3,-7.8, 9.1, 4.5, -6.7, 2.2,-7.1, 1.1), | ||
| 1025 | openvdb::math::Mat4<double>(1.2, 5.1, 8.2, 3.1, -3.3, -7.3, 0.2,-0.1, 1.4, 0.8, 8.8,-1.1, -7.8, 4.1, 4.4, -4.7), | ||
| 1026 | openvdb::math::Mat4<double>(5.4, 6.7, 8.2, 1.1, -2.3, -4.3, 2.2,-7.1, 1.1, 7.8, 9.1,-4.5, -7.8, 9.1, 4.5, -6.7), | ||
| 1027 | openvdb::math::Mat4<double>(8.2, 1.1, 6.3,-4.3, 9.1, -4.5,-7.8, 9.1, 4.5, 6.7,-5.4, 6.7, 2.2,-7.1, 1.1, 7.8), | ||
| 1028 | openvdb::math::Mat4<double>(4.3,-5.1,-5.3, 2.2, 2.1, -4.2, 2.3,-1.1, 0.5, 0.7, 1.3, 0.7, -1.2, 3.4, 9.9, 9.8), | ||
| 1029 | }, // in | ||
| 1030 | 1 | { openvdb::math::Mat4<double>(2.3,-4.3, 5.4, 6.7, 7.8,-9.1, 4.5, 8.2, 1.1,-5.4,-6.7, 7.8, 6.7, 7.8, 9.1,-2.4) + m4dl1, | |
| 1031 | 1 | openvdb::math::Mat4<double>(4.3,-5.4, 6.7, 7.8, 9.1, 4.5, 8.2, 1.1, 2.3, 6.7, 7.8, 9.1, -1.3,-0.1, 1.1, 0.9) - m4dl1, | |
| 1032 | 1 | openvdb::math::Mat4<double>(5.4, 6.7, 7.8, 9.1, -4.5, 8.2, 1.1,-2.3, -4.3,-7.8, 9.1, 4.5, -6.7, 2.2,-7.1, 1.1) * m4dl1, | |
| 1033 | 1 | m4dl1 + m4dl2, | |
| 1034 | 1 | openvdb::math::Mat4<double>(5.4, 6.7, 8.2, 1.1, -2.3, -4.3, 2.2,-7.1, 1.1, 7.8, 9.1,-4.5, -7.8, 9.1, 4.5, -6.7) + | |
| 1035 | 1 | openvdb::math::Mat4<double>(8.2, 1.1, 6.3,-4.3, 9.1, -4.5,-7.8, 9.1, 4.5, 6.7,-5.4, 6.7, 2.2,-7.1, 1.1, 7.8), | |
| 1036 | openvdb::math::Mat4<double>(8.2, 1.1, 6.3,-4.3, 9.1, -4.5,-7.8, 9.1, 4.5, 6.7,-5.4, 6.7, 2.2,-7.1, 1.1, 7.8), | ||
| 1037 | 1 | openvdb::math::Mat4<double>(4.3,-5.1,-5.3, 2.2, 2.1, -4.2, 2.3,-1.1, 0.5, 0.7, 1.3, 0.7, -1.2, 3.4, 9.9, 9.8) + m4dl2 | |
| 1038 | }); // expected | ||
| 1039 | 1 | } | |
| 1040 | } | ||
| 1041 | } | ||
| 1042 |
17/36✓ 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 1 times.
✗ Branch 47 not taken.
✗ Branch 49 not taken.
✓ Branch 50 taken 1 times.
✗ Branch 56 not taken.
✗ Branch 57 not taken.
|
10 | }; |
| 1043 | |||
| 1044 |
2/2✓ Branch 0 taken 4 times.
✓ Branch 1 taken 1 times.
|
5 | for (const auto& expc : expected) { |
| 1045 |
2/2✓ Branch 0 taken 8 times.
✓ Branch 1 taken 4 times.
|
12 | for (const auto& test : expc.second) { |
| 1046 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
8 | mHarness.reset(); |
| 1047 |
1/2✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
|
8 | test.operator()(); |
| 1048 |
3/6✓ Branch 1 taken 8 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 8 times.
✗ Branch 8 not taken.
|
16 | this->execute("assign_compound." + expc.first + ".ax"); |
| 1049 | } | ||
| 1050 | } | ||
| 1051 | 1 | } | |
| 1052 | |||
| 1053 | |||
| 1054 | void | ||
| 1055 | 1 | TestAssign::compoundStringAssignment() | |
| 1056 | { | ||
| 1057 | 1 | const std::string code = R"( | |
| 1058 | _T1_@test1 += _l1_; | ||
| 1059 | |||
| 1060 | _T1_ local1 = _l1_, | ||
| 1061 | local2 = _l2_; | ||
| 1062 | |||
| 1063 | // test default init and empty string | ||
| 1064 | string empty = ""; | ||
| 1065 | string defaultstr; | ||
| 1066 | local1 += local2; | ||
| 1067 | defaultstr += local1; | ||
| 1068 | defaultstr += empty; | ||
| 1069 | |||
| 1070 | _T1_@test2 = defaultstr; | ||
| 1071 | _T1_@test3 += _T1_@test4; | ||
| 1072 | _T1_@test5 += local2; | ||
| 1073 | )"; | ||
| 1074 | |||
| 1075 | 1 | auto generate = [&](const auto& map) { | |
| 1076 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
|
2 | for (const auto& config : map) { |
| 1077 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | std::string repl = code; |
| 1078 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
2 | unittest_util::replace(repl, "_T1_", config.first); // replace type |
| 1079 | // replace literal values | ||
| 1080 |
2/2✓ Branch 0 taken 2 times.
✓ Branch 1 taken 1 times.
|
3 | for (const auto& settings : config.second) { |
| 1081 |
1/2✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
|
2 | unittest_util::replace(repl, settings.first, settings.second); |
| 1082 | } | ||
| 1083 | |||
| 1084 |
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 | this->registerTest(repl, "assign_compound." + config.first + ".ax"); |
| 1085 | } | ||
| 1086 | 1 | }; | |
| 1087 | |||
| 1088 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | generate(string); |
| 1089 | |||
| 1090 |
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", 5); |
| 1091 | const std::map<std::string, std::vector<std::function<void()>>> expected = { | ||
| 1092 | { "string", { | ||
| 1093 |
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 | [&](){ mHarness.addAttributes<std::string>(names, |
| 1094 | { "foo", "foobar", "", "", "bar" }); | ||
| 1095 | 1 | }, | |
| 1096 |
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 5 times.
✓ Branch 41 taken 1 times.
✓ Branch 44 taken 5 times.
✓ Branch 45 taken 1 times.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
|
11 | [&](){ mHarness.addAttributes<std::string>(names, |
| 1097 | { "abc ", "xyz", " 123", "4560", " " }, // in | ||
| 1098 | { "abc foo", "foobar", " 1234560", "4560", " bar" }); // expected | ||
| 1099 | 1 | }, | |
| 1100 | } | ||
| 1101 | } | ||
| 1102 |
3/8✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
|
4 | }; |
| 1103 | |||
| 1104 |
2/2✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
|
2 | for (const auto& expc : expected) { |
| 1105 |
2/2✓ Branch 0 taken 2 times.
✓ Branch 1 taken 1 times.
|
3 | for (const auto& test : expc.second) { |
| 1106 |
1/2✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
|
2 | mHarness.reset(); |
| 1107 |
1/2✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
|
2 | test.operator()(); |
| 1108 |
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("assign_compound." + expc.first + ".ax"); |
| 1109 | } | ||
| 1110 | } | ||
| 1111 | 1 | } | |
| 1112 | |||
| 1113 | |||
| 1114 | void | ||
| 1115 | 1 | TestAssign::implicitScalarAssignment() | |
| 1116 | { | ||
| 1117 | 2 | auto generate = [this](const auto& source, const auto& targets) { | |
| 1118 |
2/2✓ Branch 0 taken 5 times.
✓ Branch 1 taken 2 times.
|
7 | for (const auto& t1 : source) { |
| 1119 |
1/2✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
|
5 | std::string code = "_T1_ local = _l1_;\n"; |
| 1120 |
2/4✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 5 not taken.
|
5 | unittest_util::replace(code, "_T1_", t1.first); |
| 1121 |
4/8✓ 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.
✓ Branch 10 taken 5 times.
✗ Branch 11 not taken.
|
10 | unittest_util::replace(code, "_l1_", t1.second.at("_l1_")); |
| 1122 | |||
| 1123 |
2/2✓ Branch 0 taken 10 times.
✓ Branch 1 taken 5 times.
|
15 | for (const auto& target : targets) { |
| 1124 |
2/2✓ Branch 0 taken 25 times.
✓ Branch 1 taken 10 times.
|
35 | for (const auto& t2 : *target) { |
| 1125 |
2/2✓ Branch 0 taken 5 times.
✓ Branch 1 taken 20 times.
|
25 | if (t1.first == t2.first) continue; |
| 1126 |
1/2✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
|
20 | std::string tmp = "_T2_@_A1_ = local;"; |
| 1127 |
3/6✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
|
40 | unittest_util::replace(tmp, "_A1_", "test" + t2.first); |
| 1128 |
2/4✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
|
20 | unittest_util::replace(tmp, "_T2_", t2.first); |
| 1129 |
1/2✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
|
40 | code += tmp + "\n"; |
| 1130 | } | ||
| 1131 | } | ||
| 1132 | |||
| 1133 |
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(code, "assign_implicit_scalar." + t1.first + ".ax"); |
| 1134 | } | ||
| 1135 | 2 | }; | |
| 1136 | |||
| 1137 | // source -> dest | ||
| 1138 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | generate(integral, std::vector<decltype(integral)*>{ &integral, &floating }); |
| 1139 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | generate(floating, std::vector<decltype(integral)*>{ &integral, &floating }); |
| 1140 | |||
| 1141 | // source -> dest | ||
| 1142 | const std::map<std::string, std::function<void()>> expected = { | ||
| 1143 | 1 | { "bool", [&](){ | |
| 1144 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<int32_t>("testint32", 1); |
| 1145 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<int64_t>("testint64", 1); |
| 1146 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<float>("testfloat", 1.0f); |
| 1147 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<double>("testdouble", 1.0); |
| 1148 | 1 | } | |
| 1149 | }, | ||
| 1150 | 1 | { "int32", [&](){ | |
| 1151 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<bool>("testbool", true); |
| 1152 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<int64_t>("testint64", 2); |
| 1153 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<float>("testfloat", 2.0f); |
| 1154 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<double>("testdouble", 2.0); |
| 1155 | 1 | } | |
| 1156 | }, | ||
| 1157 | 1 | { "int64", [&](){ | |
| 1158 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<bool>("testbool", true); |
| 1159 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<int32_t>("testint32", 2); |
| 1160 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<float>("testfloat", 2.0f); |
| 1161 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<double>("testdouble", 2.0); |
| 1162 | 1 | } | |
| 1163 | }, | ||
| 1164 | 1 | { "float", [&](){ | |
| 1165 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<bool>("testbool", true); |
| 1166 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<int32_t>("testint32", 1); |
| 1167 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<int64_t>("testint64", 1); |
| 1168 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<double>("testdouble", double(1.1f)); |
| 1169 | 1 | } | |
| 1170 | }, | ||
| 1171 | 1 | { "double", [&](){ | |
| 1172 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<bool>("testbool", true); |
| 1173 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<int32_t>("testint32", 1); |
| 1174 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<int64_t>("testint64", 1); |
| 1175 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<float>("testfloat", float(1.1)); |
| 1176 | 1 | } | |
| 1177 | } | ||
| 1178 |
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 | }; |
| 1179 | |||
| 1180 |
2/2✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
|
6 | for (const auto& expc : expected) { |
| 1181 |
1/2✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
|
5 | mHarness.reset(); |
| 1182 |
1/2✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
|
5 | expc.second.operator()(); |
| 1183 |
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("assign_implicit_scalar." + expc.first + ".ax"); |
| 1184 | } | ||
| 1185 | 1 | } | |
| 1186 | |||
| 1187 | |||
| 1188 | void | ||
| 1189 | 1 | TestAssign::implicitContainerAssignment() | |
| 1190 | { | ||
| 1191 | 5 | auto generate = [this](const auto& source, const auto& target) { | |
| 1192 |
2/2✓ Branch 0 taken 13 times.
✓ Branch 1 taken 5 times.
|
18 | for (const auto& t1 : source) { |
| 1193 |
1/2✓ Branch 1 taken 13 times.
✗ Branch 2 not taken.
|
13 | std::string code = "_T1_ local = _l1_;\n"; |
| 1194 |
2/4✓ Branch 1 taken 13 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 13 times.
✗ Branch 5 not taken.
|
13 | unittest_util::replace(code, "_T1_", t1.first); |
| 1195 |
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(code, "_l1_", t1.second.at("_l1_")); |
| 1196 | |||
| 1197 |
2/2✓ Branch 0 taken 35 times.
✓ Branch 1 taken 13 times.
|
48 | for (const auto& t2 : target) { |
| 1198 |
2/2✓ Branch 0 taken 13 times.
✓ Branch 1 taken 22 times.
|
35 | if (t1.first == t2.first) continue; |
| 1199 |
1/2✓ Branch 1 taken 22 times.
✗ Branch 2 not taken.
|
22 | std::string tmp = "_T2_@_A1_ = local;"; |
| 1200 |
3/6✓ Branch 1 taken 22 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 22 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 22 times.
✗ Branch 8 not taken.
|
44 | unittest_util::replace(tmp, "_A1_", "test" + t2.first); |
| 1201 |
2/4✓ Branch 1 taken 22 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 22 times.
✗ Branch 5 not taken.
|
22 | unittest_util::replace(tmp, "_T2_", t2.first); |
| 1202 |
1/2✓ Branch 1 taken 22 times.
✗ Branch 2 not taken.
|
44 | code += tmp + "\n"; |
| 1203 | } | ||
| 1204 | |||
| 1205 |
3/6✓ 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.
|
26 | this->registerTest(code, "assign_implicit_container." + t1.first + ".ax"); |
| 1206 | } | ||
| 1207 | 5 | }; | |
| 1208 | |||
| 1209 | // source -> dest | ||
| 1210 | 1 | generate(vec2, vec2); | |
| 1211 | 1 | generate(vec3, vec3); | |
| 1212 | 1 | generate(vec4, vec4); | |
| 1213 | 1 | generate(mat3, mat3); | |
| 1214 | 1 | generate(mat4, mat4); | |
| 1215 | |||
| 1216 | // test name is the source type in use. source -> dest | ||
| 1217 | const std::map<std::string, std::function<void()>> expected = { | ||
| 1218 | 1 | { "vec2i", [&]() { | |
| 1219 |
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>>("testvec2f", openvdb::math::Vec2<float>(1.0f,2.0f)); |
| 1220 |
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>>("testvec2d", openvdb::math::Vec2<double>(1.0,2.0)); |
| 1221 | 1 | } | |
| 1222 | }, | ||
| 1223 | 1 | { "vec2f", [&]() { | |
| 1224 |
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>>("testvec2i", openvdb::math::Vec2<int32_t>(1,2)); |
| 1225 |
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>>("testvec2d", openvdb::math::Vec2<double>(double(1.1f),double(2.3f))); |
| 1226 | 1 | } | |
| 1227 | }, | ||
| 1228 | 1 | { "vec2d", [&]() { | |
| 1229 |
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>>("testvec2i", openvdb::math::Vec2<int32_t>(1,2)); |
| 1230 |
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>>("testvec2f", openvdb::math::Vec2<float>(float(1.1),float(2.3))); |
| 1231 | 1 | } | |
| 1232 | }, | ||
| 1233 | 1 | { "vec3i", [&]() { | |
| 1234 |
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>>("testvec3f", openvdb::math::Vec3<float>(1.0f,2.0f,3.0f)); |
| 1235 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<double>>("testvec3d", openvdb::math::Vec3<double>(1.0,2.0,3.0)); |
| 1236 | 1 | } | |
| 1237 | }, | ||
| 1238 | 1 | { "vec3f", [&]() { | |
| 1239 |
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>>("testvec3i", openvdb::math::Vec3<int32_t>(1,2,4)); |
| 1240 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<double>>("testvec3d", openvdb::math::Vec3<double>(double(1.1f),double(2.3f),double(4.3f))); |
| 1241 | 1 | } | |
| 1242 | }, | ||
| 1243 | 1 | { "vec3d", [&]() { | |
| 1244 |
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>>("testvec3i", openvdb::math::Vec3<int32_t>(1,2,4)); |
| 1245 |
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>>("testvec3f", openvdb::math::Vec3<float>(float(1.1),float(2.3),float(4.3))); |
| 1246 | 1 | } | |
| 1247 | }, | ||
| 1248 | 1 | { "vec4i", [&]() { | |
| 1249 |
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>>("testvec4f", openvdb::math::Vec4<float>(1.0f,2.0f,3.0f,4.0f)); |
| 1250 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<double>>("testvec4d", openvdb::math::Vec4<double>(1.0,2.0,3.0,4.0)); |
| 1251 | 1 | } | |
| 1252 | }, | ||
| 1253 | 1 | { "vec4f", [&]() { | |
| 1254 |
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>>("testvec4i", openvdb::math::Vec4<int32_t>(1,2,4,5)); |
| 1255 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<double>>("testvec4d", openvdb::math::Vec4<double>(double(1.1f),double(2.3f),double(4.3f),double(5.4f))); |
| 1256 | 1 | } | |
| 1257 | }, | ||
| 1258 | 1 | { "vec4d", [&]() { | |
| 1259 |
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>>("testvec4i", openvdb::math::Vec4<int32_t>(1,2,4,5)); |
| 1260 |
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>>("testvec4f", openvdb::math::Vec4<float>(float(1.1),float(2.3),float(4.3),float(5.4))); |
| 1261 | 1 | } | |
| 1262 | }, | ||
| 1263 | { "mat3f", | ||
| 1264 |
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::Mat3<double>>("testmat3d", |
| 1265 | 1 | openvdb::math::Mat3<double>( | |
| 1266 | double(1.1f),double(2.3f),double(4.3f), | ||
| 1267 | double(5.4f),double(6.7f),double(7.8f), | ||
| 1268 | double(9.1f),double(4.5f),double(8.2f))); | ||
| 1269 | 1 | } | |
| 1270 | }, | ||
| 1271 | { "mat3d", | ||
| 1272 |
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::Mat3<float>>("testmat3f", |
| 1273 | 1 | openvdb::math::Mat3<float>( | |
| 1274 | float(1.1),float(2.3),float(4.3), | ||
| 1275 | float(5.4),float(6.7),float(7.8), | ||
| 1276 | float(9.1),float(4.5),float(8.2))); | ||
| 1277 | 1 | } | |
| 1278 | }, | ||
| 1279 | { "mat4f", | ||
| 1280 |
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::Mat4<double>>("testmat4d", |
| 1281 | 1 | openvdb::math::Mat4<double>( | |
| 1282 | double(1.1f),double(2.3f),double(4.3f),double(5.4f), | ||
| 1283 | double(6.7f),double(7.8f),double(9.1f),double(4.5f), | ||
| 1284 | double(8.2f),double(3.3f),double(2.9f),double(5.9f), | ||
| 1285 | double(0.1f),double(0.3f),double(5.1f),double(1.9f))); | ||
| 1286 | 1 | } | |
| 1287 | }, | ||
| 1288 | { "mat4d", | ||
| 1289 |
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::Mat4<float>>("testmat4f", |
| 1290 | 1 | openvdb::math::Mat4<float>( | |
| 1291 | float(1.1),float(2.3),float(4.3),float(5.4), | ||
| 1292 | float(6.7),float(7.8),float(9.1),float(4.5), | ||
| 1293 | float(8.2),float(3.3),float(2.9),float(5.9), | ||
| 1294 | float(0.1),float(0.3),float(5.1),float(1.9))); | ||
| 1295 | 1 | } | |
| 1296 | } | ||
| 1297 |
14/30✓ 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 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 43 not taken.
✗ Branch 44 not taken.
|
28 | }; |
| 1298 | |||
| 1299 |
2/2✓ Branch 0 taken 13 times.
✓ Branch 1 taken 1 times.
|
14 | for (const auto& expc : expected) { |
| 1300 |
1/2✓ Branch 1 taken 13 times.
✗ Branch 2 not taken.
|
13 | mHarness.reset(); |
| 1301 |
1/2✓ Branch 1 taken 13 times.
✗ Branch 2 not taken.
|
13 | expc.second.operator()(); |
| 1302 |
3/6✓ 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.
|
26 | this->execute("assign_implicit_container." + expc.first + ".ax"); |
| 1303 | } | ||
| 1304 | 1 | } | |
| 1305 | |||
| 1306 | |||
| 1307 | void | ||
| 1308 | 1 | TestAssign::implicitContainerScalarAssignment() | |
| 1309 | { | ||
| 1310 | 2 | auto generate = [this](const auto& source, const auto& targets) { | |
| 1311 |
2/2✓ Branch 0 taken 5 times.
✓ Branch 1 taken 2 times.
|
7 | for (const auto& t1 : source) { |
| 1312 |
1/2✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
|
5 | std::string code = "_T1_ local = _l1_;\n"; |
| 1313 |
2/4✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 5 times.
✗ Branch 5 not taken.
|
5 | unittest_util::replace(code, "_T1_", t1.first); |
| 1314 |
4/8✓ 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.
✓ Branch 10 taken 5 times.
✗ Branch 11 not taken.
|
10 | unittest_util::replace(code, "_l1_", t1.second.at("_l1_")); |
| 1315 | |||
| 1316 |
2/2✓ Branch 0 taken 25 times.
✓ Branch 1 taken 5 times.
|
30 | for (const auto& target : targets) { |
| 1317 |
2/2✓ Branch 0 taken 65 times.
✓ Branch 1 taken 25 times.
|
90 | for (const auto& t2 : *target) { |
| 1318 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 65 times.
|
65 | if (t1.first == t2.first) continue; |
| 1319 |
1/2✓ Branch 1 taken 65 times.
✗ Branch 2 not taken.
|
65 | std::string tmp = "_T2_@_A1_ = local;"; |
| 1320 |
3/6✓ Branch 1 taken 65 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 65 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 65 times.
✗ Branch 8 not taken.
|
130 | unittest_util::replace(tmp, "_A1_", "test" + t2.first); |
| 1321 |
2/4✓ Branch 1 taken 65 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 65 times.
✗ Branch 5 not taken.
|
65 | unittest_util::replace(tmp, "_T2_", t2.first); |
| 1322 |
1/2✓ Branch 1 taken 65 times.
✗ Branch 2 not taken.
|
130 | code += tmp + "\n"; |
| 1323 | } | ||
| 1324 | } | ||
| 1325 | |||
| 1326 |
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(code, "assign_implicit_container_scalar." + t1.first + ".ax"); |
| 1327 | } | ||
| 1328 | 2 | }; | |
| 1329 | |||
| 1330 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | generate(integral, std::vector<decltype(integral)*>{ &vec2, &vec3, &vec4, &mat3, &mat4 }); |
| 1331 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | generate(floating, std::vector<decltype(integral)*>{ &vec2, &vec3, &vec4, &mat3, &mat4 }); |
| 1332 | |||
| 1333 | auto symmetric3 = [](auto val) -> openvdb::math::Mat3<decltype(val)> { | ||
| 1334 | openvdb::math::Mat3<decltype(val)> mat; | ||
| 1335 | mat.setZero(); | ||
| 1336 | 10 | mat(0,0) = val; | |
| 1337 | 10 | mat(1,1) = val; | |
| 1338 |
10/20✓ 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.
|
10 | mat(2,2) = val; |
| 1339 | return mat; | ||
| 1340 | }; | ||
| 1341 | |||
| 1342 | auto symmetric4 = [](auto val) -> openvdb::math::Mat4<decltype(val)> { | ||
| 1343 | openvdb::math::Mat4<decltype(val)> mat; | ||
| 1344 | mat.setZero(); | ||
| 1345 | 10 | mat(0,0) = val; | |
| 1346 | 10 | mat(1,1) = val; | |
| 1347 | 10 | mat(2,2) = val; | |
| 1348 |
10/20✓ 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.
|
10 | mat(3,3) = val; |
| 1349 | return mat; | ||
| 1350 | }; | ||
| 1351 | |||
| 1352 | const std::map<std::string, std::function<void()>> expected = { | ||
| 1353 | 1 | { "bool", [&]() { | |
| 1354 |
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>>("testvec2i", openvdb::math::Vec2<int32_t>(1,1)); |
| 1355 |
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>>("testvec2f", openvdb::math::Vec2<float>(1.0f,1.0f)); |
| 1356 |
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>>("testvec2d", openvdb::math::Vec2<double>(1.0,1.0)); |
| 1357 |
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>>("testvec3i", openvdb::math::Vec3<int32_t>(1,1,1)); |
| 1358 |
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>>("testvec3f", openvdb::math::Vec3<float>(1.0f,1.0f,1.0f)); |
| 1359 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<double>>("testvec3d", openvdb::math::Vec3<double>(1.0,1.0,1.0)); |
| 1360 |
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>>("testvec4i", openvdb::math::Vec4<int32_t>(1,1,1,1)); |
| 1361 |
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>>("testvec4f", openvdb::math::Vec4<float>(1.0f,1.0f,1.0f,1.0f)); |
| 1362 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<double>>("testvec4d", openvdb::math::Vec4<double>(1.0,1.0,1.0,1.0)); |
| 1363 |
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::Mat3<float>>("testmat3f", symmetric3(1.0f)); |
| 1364 |
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::Mat3<double>>("testmat3d", symmetric3(1.0)); |
| 1365 |
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::Mat4<float>>("testmat4f", symmetric4(1.0f)); |
| 1366 |
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::Mat4<double>>("testmat4d", symmetric4(1.0)); |
| 1367 | 1 | } | |
| 1368 | }, | ||
| 1369 | 1 | { "int32", [&](){ | |
| 1370 |
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>>("testvec2i", openvdb::math::Vec2<int32_t>(2,2)); |
| 1371 |
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>>("testvec2d", openvdb::math::Vec2<double>(2.0,2.0)); |
| 1372 |
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>>("testvec2f", openvdb::math::Vec2<float>(2.0f,2.0f)); |
| 1373 |
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>>("testvec3i", openvdb::math::Vec3<int32_t>(2,2,2)); |
| 1374 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<double>>("testvec3d", openvdb::math::Vec3<double>(2.0,2.0,2.0)); |
| 1375 |
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>>("testvec3f", openvdb::math::Vec3<float>(2.0f,2.0f,2.0f)); |
| 1376 |
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>>("testvec4i", openvdb::math::Vec4<int32_t>(2,2,2,2)); |
| 1377 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<double>>("testvec4d", openvdb::math::Vec4<double>(2.0,2.0,2.0,2.0)); |
| 1378 |
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>>("testvec4f", openvdb::math::Vec4<float>(2.0f,2.0f,2.0f,2.0f)); |
| 1379 |
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::Mat3<float>>("testmat3f", symmetric3(2.0f)); |
| 1380 |
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::Mat3<double>>("testmat3d", symmetric3(2.0)); |
| 1381 |
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::Mat4<float>>("testmat4f", symmetric4(2.0f)); |
| 1382 |
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::Mat4<double>>("testmat4d", symmetric4(2.0)); |
| 1383 | 1 | } | |
| 1384 | }, | ||
| 1385 | 1 | { "int64", [&](){ | |
| 1386 |
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>>("testvec2i", openvdb::math::Vec2<int32_t>(2,2)); |
| 1387 |
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>>("testvec2d", openvdb::math::Vec2<double>(2.0,2.0)); |
| 1388 |
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>>("testvec2f", openvdb::math::Vec2<float>(2.0f,2.0f)); |
| 1389 |
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>>("testvec3i", openvdb::math::Vec3<int32_t>(2,2,2)); |
| 1390 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<double>>("testvec3d", openvdb::math::Vec3<double>(2.0,2.0,2.0)); |
| 1391 |
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>>("testvec3f", openvdb::math::Vec3<float>(2.0f,2.0f,2.0f)); |
| 1392 |
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>>("testvec4i", openvdb::math::Vec4<int32_t>(2,2,2,2)); |
| 1393 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<double>>("testvec4d", openvdb::math::Vec4<double>(2.0,2.0,2.0,2.0)); |
| 1394 |
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>>("testvec4f", openvdb::math::Vec4<float>(2.0f,2.0f,2.0f,2.0f)); |
| 1395 |
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::Mat3<float>>("testmat3f", symmetric3(2.0f)); |
| 1396 |
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::Mat3<double>>("testmat3d", symmetric3(2.0)); |
| 1397 |
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::Mat4<float>>("testmat4f", symmetric4(2.0f)); |
| 1398 |
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::Mat4<double>>("testmat4d", symmetric4(2.0)); |
| 1399 | 1 | } | |
| 1400 | }, | ||
| 1401 | 1 | { "float", [&](){ | |
| 1402 |
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>>("testvec2i", openvdb::math::Vec2<int32_t>(1,1)); |
| 1403 |
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>>("testvec2d", openvdb::math::Vec2<double>(double(1.1f),double(1.1f))); |
| 1404 |
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>>("testvec2f", openvdb::math::Vec2<float>(1.1f,1.1f)); |
| 1405 |
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>>("testvec3i", openvdb::math::Vec3<int32_t>(1,1,1)); |
| 1406 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<double>>("testvec3d", openvdb::math::Vec3<double>(double(1.1f),double(1.1f),double(1.1f))); |
| 1407 |
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>>("testvec3f", openvdb::math::Vec3<float>(1.1f,1.1f,1.1f)); |
| 1408 |
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>>("testvec4i", openvdb::math::Vec4<int32_t>(1,1,1,1)); |
| 1409 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<double>>("testvec4d", openvdb::math::Vec4<double>(double(1.1f),double(1.1f),double(1.1f),double(1.1f))); |
| 1410 |
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>>("testvec4f", openvdb::math::Vec4<float>(1.1f,1.1f,1.1f,1.1f)); |
| 1411 |
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::Mat3<float>>("testmat3f", symmetric3(1.1f)); |
| 1412 |
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::Mat3<double>>("testmat3d", symmetric3(double(1.1f))); |
| 1413 |
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::Mat4<float>>("testmat4f", symmetric4(1.1f)); |
| 1414 |
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::Mat4<double>>("testmat4d", symmetric4(double(1.1f))); |
| 1415 | 1 | } | |
| 1416 | }, | ||
| 1417 | 1 | { "double", [&](){ | |
| 1418 |
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>>("testvec2i", openvdb::math::Vec2<int32_t>(1,1)); |
| 1419 |
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>>("testvec2d", openvdb::math::Vec2<double>(1.1,1.1)); |
| 1420 |
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>>("testvec2f", openvdb::math::Vec2<float>(float(1.1),float(1.1))); |
| 1421 |
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>>("testvec3i", openvdb::math::Vec3<int32_t>(1,1,1)); |
| 1422 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec3<double>>("testvec3d", openvdb::math::Vec3<double>(1.1,1.1,1.1)); |
| 1423 |
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>>("testvec3f", openvdb::math::Vec3<float>(float(1.1),float(1.1),float(1.1))); |
| 1424 |
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>>("testvec4i", openvdb::math::Vec4<int32_t>(1,1,1,1)); |
| 1425 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
1 | mHarness.addAttribute<openvdb::math::Vec4<double>>("testvec4d", openvdb::math::Vec4<double>(1.1,1.1,1.1,1.1)); |
| 1426 |
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>>("testvec4f", openvdb::math::Vec4<float>(float(1.1),float(1.1),float(1.1),float(1.1))); |
| 1427 |
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::Mat3<float>>("testmat3f", symmetric3(float(1.1))); |
| 1428 |
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::Mat3<double>>("testmat3d", symmetric3(1.1)); |
| 1429 |
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::Mat4<float>>("testmat4f", symmetric4(float(1.1))); |
| 1430 |
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::Mat4<double>>("testmat4d", symmetric4(1.1)); |
| 1431 | 1 | } | |
| 1432 | } | ||
| 1433 |
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.
|
7 | }; |
| 1434 | |||
| 1435 |
2/2✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
|
6 | for (const auto& expc : expected) { |
| 1436 |
1/2✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
|
5 | mHarness.reset(); |
| 1437 |
1/2✓ Branch 1 taken 5 times.
✗ Branch 2 not taken.
|
5 | expc.second.operator()(); |
| 1438 |
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("assign_implicit_container_scalar." + expc.first + ".ax"); |
| 1439 | } | ||
| 1440 | 1 | } | |
| 1441 | |||
| 1442 | |||
| 1443 | void | ||
| 1444 | 1 | TestAssign::scopedAssign() | |
| 1445 | { | ||
| 1446 | 1 | const std::string code = R"( | |
| 1447 | float var = 30.0f; | ||
| 1448 | |||
| 1449 | { | ||
| 1450 | float var = 3.0f; | ||
| 1451 | } | ||
| 1452 | { | ||
| 1453 | float var = 1.0f; | ||
| 1454 | float@test2 = var; | ||
| 1455 | { | ||
| 1456 | float var = -10.0f; | ||
| 1457 | float@test3 = var; | ||
| 1458 | } | ||
| 1459 | { | ||
| 1460 | float@test7 = var; | ||
| 1461 | } | ||
| 1462 | } | ||
| 1463 | { | ||
| 1464 | float var = -100.0f; | ||
| 1465 | } | ||
| 1466 | { | ||
| 1467 | float var = 50.0f; | ||
| 1468 | { | ||
| 1469 | float var = -15.0f; | ||
| 1470 | float@test4 = var; | ||
| 1471 | } | ||
| 1472 | { | ||
| 1473 | float var = -10.0f; | ||
| 1474 | } | ||
| 1475 | { | ||
| 1476 | float@test5 = var; | ||
| 1477 | } | ||
| 1478 | |||
| 1479 | float@test6 = var; | ||
| 1480 | } | ||
| 1481 | |||
| 1482 | float@test1 = var; | ||
| 1483 | )"; | ||
| 1484 | |||
| 1485 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | this->registerTest(code, "assign_scoped.float.ax"); |
| 1486 | |||
| 1487 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | const auto names = unittest_util::nameSequence("test", 7); |
| 1488 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | mHarness.addAttributes<float>(names, {30.0f, 1.0f, -10.0f, -15.0f, 50.0f, 50.0f, 1.0f}); |
| 1489 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | this->execute("assign_scoped.float.ax"); |
| 1490 | |||
| 1491 |
6/12✓ 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.
|
1 | CPPUNIT_ASSERT(mHarness.mLogger.hasWarning()); |
| 1492 | 1 | } | |
| 1493 | |||
| 1494 |