Closed TheWaveWarden closed 12 months ago
Could you verify if the corresponding unit test also fails with your setup?
@JanosGit yes it fails... among other tests :grimacing:
For around half my runs, the test will abort with SIGABRT
:
For the other runs, there are a lot more failing tests. Here is a full log:
✘ fred@frotron3 ~/spline/VCTR/build/test/TestMain develop ./vctr_test
Randomness seeded to: 4121597294
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vctr_test is a Catch2 v3.4.0 host application.
Run with -? for options
-------------------------------------------------------------------------------
Addition - AVX<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:38: FAILED:
REQUIRE_THAT( sum1, vctr::EqualsTransformedBy<addition> (srcA, c) )
with expansion:
vctr::Vector<float> with size 10 and content [ -38.222, -12.0987, -14.5897, -
57.2018, 1.12489e+23, 5.20638, -1.30107e+37, -73.4763, 23.5394, 69.0066 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = addition<float>; std::string_view = std::
basic_string_view<char> ([ -38.222, -12.0987, -14.5897, -57.2018, 10.2879, 5.
20638, -82.9955, -73.4763, 23.5394, 69.0066 ], -38.2175) = [ -76.4394, -50.
3161, -52.8071, -95.4193, -27.9296, -33.0111, -121.213, -111.694, -14.6781,
30.7891 ]
-------------------------------------------------------------------------------
Addition - AVX<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:38: FAILED:
REQUIRE_THAT( sum1, vctr::EqualsTransformedBy<addition> (srcA, c) )
with expansion:
vctr::Vector<double> with size 10 and content [ -38.222, -12.0987, -14.5897,
-57.2018, 10.2879, 5.20638, -82.9955, -73.4763, 23.5394, 69.0066 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = double; ArgA = double;
ArgB = double; R (* t)(ArgA, ArgB) = addition<double>; std::string_view =
std::basic_string_view<char> ([ -38.222, -12.0987, -14.5897, -57.2018, 10.
2879, 5.20638, -82.9955, -73.4763, 23.5394, 69.0066 ], -38.2175) = [ -76.
4394, -50.3161, -52.8071, -95.4193, -27.9296, -33.0111, -121.213, -111.694, -
14.6781, 30.7892 ]
-------------------------------------------------------------------------------
Addition - AVX<int32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:38: FAILED:
REQUIRE_THAT( sum1, vctr::EqualsTransformedBy<addition> (srcA, c) )
with expansion:
vctr::Vector<int32_t> with size 10 and content [ -39, -13, -15, -58,
1706987594, 32538, -48356627, 21823, 23, 69 ] Equals: consteval std::
string_view vctr::detail::functionNameWrappedInFunctionTemplateName() [with R
= int; ArgA = int; ArgB = int; R (* t)(ArgA, ArgB) = addition<int>; std::
string_view = std::basic_string_view<char> ([ -39, -13, -15, -58, 10, 5, -83,
-74, 23, 69 ], -39) = [ -78, -52, -54, -97, -29, -34, -122, -113, -16, 30 ]
-------------------------------------------------------------------------------
Addition - AVX<uint32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:38: FAILED:
REQUIRE_THAT( sum1, vctr::EqualsTransformedBy<addition> (srcA, c) )
with expansion:
vctr::Vector<uint32_t> with size 10 and content [ 4294967257, 4294967283,
4294967281, 4294967238, 1706987594, 32538, 4246611629, 21823, 23, 69 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = unsigned int; ArgA =
unsigned int; ArgB = unsigned int; R (* t)(ArgA, ArgB) = addition<unsigned
int>; std::string_view = std::basic_string_view<char> ([ 4294967257,
4294967283, 4294967281, 4294967238, 10, 5, 4294967213, 4294967222, 23, 69 ],
4294967257) = [ 4294967218, 4294967244, 4294967242, 4294967199, 4294967267,
4294967262, 4294967174, 4294967183, 4294967280, 30 ]
-------------------------------------------------------------------------------
Addition - AVX<int64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:38: FAILED:
REQUIRE_THAT( sum1, vctr::EqualsTransformedBy<addition> (srcA, c) )
with expansion:
vctr::Vector<int64_t> with size 10 and content [ -39, -13, 139729878028337,
94051145495110, 10, 5, 139729878028269, 94051145495094, 23, 69 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = long int; ArgA = long
int; ArgB = long int; R (* t)(ArgA, ArgB) = addition<long int>; std::
string_view = std::basic_string_view<char> ([ -39, -13, -15, -58, 10, 5, -83,
-74, 23, 69 ], -39) = [ -78, -52, -54, -97, -29, -34, -122, -113, -16, 30 ]
-------------------------------------------------------------------------------
Addition - AVX<uint64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:38: FAILED:
REQUIRE_THAT( sum1, vctr::EqualsTransformedBy<addition> (srcA, c) )
with expansion:
vctr::Vector<uint64_t> with size 10 and content [ 18446744073709551577,
18446744073709551603, 139729878028337, 94051145497798, 10, 5,
139729878028269, 94051145497782, 23, 69 ] Equals: consteval std::string_view
vctr::detail::functionNameWrappedInFunctionTemplateName() [with R = long
unsigned int; ArgA = long unsigned int; ArgB = long unsigned int; R (* t)
(ArgA, ArgB) = addition<long unsigned int>; std::string_view = std::
basic_string_view<char> ([ 18446744073709551577, 18446744073709551603,
18446744073709551601, 18446744073709551558, 10, 5, 18446744073709551533,
18446744073709551542, 23, 69 ], 18446744073709551577) = [
18446744073709551538, 18446744073709551564, 18446744073709551562,
18446744073709551519, 18446744073709551587, 18446744073709551582,
18446744073709551494, 18446744073709551503, 18446744073709551600, 30 ]
-------------------------------------------------------------------------------
Addition in place - PlatformVectorOps<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<float, 10> with size 10 and content [ -38.222, -12.0987, -1.
30781e+37, -57.2018, 10.2879, 5.20638, -82.9955, -73.4763, 23.5394, 69.0066 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = addition<float>; std::string_view = std::
basic_string_view<char> ([ -38.222, -12.0987, -14.5897, -57.2018, 10.2879, 5.
20638, -82.9955, -73.4763, 23.5394, 69.0066 ], -38.2175) = [ -76.4394, -50.
3161, -52.8071, -95.4193, -27.9296, -33.0111, -121.213, -111.694, -14.6781,
30.7891 ]
-------------------------------------------------------------------------------
Addition in place - PlatformVectorOps<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<double, 10> with size 10 and content [ -38.222, -12.0987, -14.
5897, -57.2018, 10.2879, 5.20638, -82.9955, -73.4763, 23.5394, 69.0066 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = double; ArgA = double;
ArgB = double; R (* t)(ArgA, ArgB) = addition<double>; std::string_view =
std::basic_string_view<char> ([ -38.222, -12.0987, -14.5897, -57.2018, 10.
2879, 5.20638, -82.9955, -73.4763, 23.5394, 69.0066 ], -38.2175) = [ -76.
4394, -50.3161, -52.8071, -95.4193, -27.9296, -33.0111, -121.213, -111.694, -
14.6781, 30.7892 ]
-------------------------------------------------------------------------------
Addition in place - PlatformVectorOps<int32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<int32_t, 10> with size 10 and content [ 895856169, 32754, -
65656432, 21839, 895856730, 32772, -83, -74, 895856231, 32836 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = int; ArgA = int; ArgB =
int; R (* t)(ArgA, ArgB) = addition<int>; std::string_view = std::
basic_string_view<char> ([ -39, -13, -15, -58, 10, 5, -83, -74, 23, 69 ], -
39) = [ -78, -52, -54, -97, -29, -34, -122, -113, -16, 30 ]
-------------------------------------------------------------------------------
Addition in place - PlatformVectorOps<uint32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<uint32_t, 10> with size 10 and content [ 895856169, 32754,
4230052742, 21839, 18, 5, 895856509, 32693, 895856231, 32836 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = unsigned int; ArgA =
unsigned int; ArgB = unsigned int; R (* t)(ArgA, ArgB) = addition<unsigned
int>; std::string_view = std::basic_string_view<char> ([ 4294967257,
4294967283, 4294967281, 4294967238, 10, 5, 4294967213, 4294967222, 23, 69 ],
4294967257) = [ 4294967218, 4294967244, 4294967242, 4294967199, 4294967267,
4294967262, 4294967174, 4294967183, 4294967280, 30 ]
-------------------------------------------------------------------------------
Addition in place - PlatformVectorOps<int64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<int64_t, 10> with size 10 and content [ -39, 140734089244611,
140734089244145, 94051127591990, 10, 140734089244629, 140734089244077,
94051127591974, 23, 140734089244693 ] Equals: consteval std::string_view
vctr::detail::functionNameWrappedInFunctionTemplateName() [with R = long int;
ArgA = long int; ArgB = long int; R (* t)(ArgA, ArgB) = addition<long int>;
std::string_view = std::basic_string_view<char> ([ -39, -13, -15, -58, 10, 5,
-83, -74, 23, 69 ], -39) = [ -78, -52, -54, -97, -29, -34, -122, -113, -16,
30 ]
-------------------------------------------------------------------------------
Addition in place - PlatformVectorOps<uint64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<uint64_t, 10> with size 10 and content [ 18446744073709551577,
140734089244611, 18446744073709551609, 140734089244438, 10, 140734089244629,
18446744073709551541, 140734089244422, 23, 140734089244693 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = long unsigned int; ArgA
= long unsigned int; ArgB = long unsigned int; R (* t)(ArgA, ArgB) = addition
<long unsigned int>; std::string_view = std::basic_string_view<char> ([
18446744073709551577, 18446744073709551603, 18446744073709551601,
18446744073709551558, 10, 5, 18446744073709551533, 18446744073709551542, 23,
69 ], 18446744073709551577) = [ 18446744073709551538, 18446744073709551564,
18446744073709551562, 18446744073709551519, 18446744073709551587,
18446744073709551582, 18446744073709551494, 18446744073709551503,
18446744073709551600, 30 ]
-------------------------------------------------------------------------------
Addition in place - AVX<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<float, 10> with size 10 and content [ -38.222, -12.0987, -1.
30771e+37, -57.2018, 10.2879, 5.20638, -82.9955, -73.4763, 23.5394, 69.0066 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = addition<float>; std::string_view = std::
basic_string_view<char> ([ -38.222, -12.0987, -14.5897, -57.2018, 10.2879, 5.
20638, -82.9955, -73.4763, 23.5394, 69.0066 ], -38.2175) = [ -76.4394, -50.
3161, -52.8071, -95.4193, -27.9296, -33.0111, -121.213, -111.694, -14.6781,
30.7891 ]
-------------------------------------------------------------------------------
Addition in place - AVX<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<double, 10> with size 10 and content [ -38.222, -12.0987, -14.
5897, -57.2018, 10.2879, 5.20638, -82.9955, -73.4763, 23.5394, 69.0066 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = double; ArgA = double;
ArgB = double; R (* t)(ArgA, ArgB) = addition<double>; std::string_view =
std::basic_string_view<char> ([ -38.222, -12.0987, -14.5897, -57.2018, 10.
2879, 5.20638, -82.9955, -73.4763, 23.5394, 69.0066 ], -38.2175) = [ -76.
4394, -50.3161, -52.8071, -95.4193, -27.9296, -33.0111, -121.213, -111.694, -
14.6781, 30.7892 ]
-------------------------------------------------------------------------------
Addition in place - AVX<int32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<int32_t, 10> with size 10 and content [ 895856169, 32754, -
65656432, 21839, 895856730, 32772, -83, -74, 895856231, 32836 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = int; ArgA = int; ArgB =
int; R (* t)(ArgA, ArgB) = addition<int>; std::string_view = std::
basic_string_view<char> ([ -39, -13, -15, -58, 10, 5, -83, -74, 23, 69 ], -
39) = [ -78, -52, -54, -97, -29, -34, -122, -113, -16, 30 ]
-------------------------------------------------------------------------------
Addition in place - AVX<uint32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<uint32_t, 10> with size 10 and content [ 895856169, 32754,
4230052742, 21839, 18, 5, 895856509, 32693, 895856231, 32836 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = unsigned int; ArgA =
unsigned int; ArgB = unsigned int; R (* t)(ArgA, ArgB) = addition<unsigned
int>; std::string_view = std::basic_string_view<char> ([ 4294967257,
4294967283, 4294967281, 4294967238, 10, 5, 4294967213, 4294967222, 23, 69 ],
4294967257) = [ 4294967218, 4294967244, 4294967242, 4294967199, 4294967267,
4294967262, 4294967174, 4294967183, 4294967280, 30 ]
-------------------------------------------------------------------------------
Addition in place - AVX<int64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<int64_t, 10> with size 10 and content [ -39, 140734089244611,
140734089244145, 94051127591990, 10, 140734089244629, 140734089244077,
94051127591974, 23, 140734089244693 ] Equals: consteval std::string_view
vctr::detail::functionNameWrappedInFunctionTemplateName() [with R = long int;
ArgA = long int; ArgB = long int; R (* t)(ArgA, ArgB) = addition<long int>;
std::string_view = std::basic_string_view<char> ([ -39, -13, -15, -58, 10, 5,
-83, -74, 23, 69 ], -39) = [ -78, -52, -54, -97, -29, -34, -122, -113, -16,
30 ]
-------------------------------------------------------------------------------
Addition in place - AVX<uint64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<uint64_t, 10> with size 10 and content [ 18446744073709551577,
140734089244611, 18446744073709551609, 140734089244438, 10, 140734089244629,
18446744073709551541, 140734089244422, 23, 140734089244693 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = long unsigned int; ArgA
= long unsigned int; ArgB = long unsigned int; R (* t)(ArgA, ArgB) = addition
<long unsigned int>; std::string_view = std::basic_string_view<char> ([
18446744073709551577, 18446744073709551603, 18446744073709551601,
18446744073709551558, 10, 5, 18446744073709551533, 18446744073709551542, 23,
69 ], 18446744073709551577) = [ 18446744073709551538, 18446744073709551564,
18446744073709551562, 18446744073709551519, 18446744073709551587,
18446744073709551582, 18446744073709551494, 18446744073709551503,
18446744073709551600, 30 ]
-------------------------------------------------------------------------------
Addition in place - SSE<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<float, 10> with size 10 and content [ -38.222, -12.0987, -1.
3097e+37, -57.2018, 10.2879, 5.20638, -82.9955, -73.4763, 23.5394, 69.0066 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = addition<float>; std::string_view = std::
basic_string_view<char> ([ -38.222, -12.0987, -14.5897, -57.2018, 10.2879, 5.
20638, -82.9955, -73.4763, 23.5394, 69.0066 ], -38.2175) = [ -76.4394, -50.
3161, -52.8071, -95.4193, -27.9296, -33.0111, -121.213, -111.694, -14.6781,
30.7891 ]
-------------------------------------------------------------------------------
Addition in place - SSE<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<double, 10> with size 10 and content [ -38.222, -12.0987, -14.
5897, -57.2018, 10.2879, 5.20638, -82.9955, -73.4763, 23.5394, 69.0066 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = double; ArgA = double;
ArgB = double; R (* t)(ArgA, ArgB) = addition<double>; std::string_view =
std::basic_string_view<char> ([ -38.222, -12.0987, -14.5897, -57.2018, 10.
2879, 5.20638, -82.9955, -73.4763, 23.5394, 69.0066 ], -38.2175) = [ -76.
4394, -50.3161, -52.8071, -95.4193, -27.9296, -33.0111, -121.213, -111.694, -
14.6781, 30.7892 ]
-------------------------------------------------------------------------------
Addition in place - SSE<int32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<int32_t, 10> with size 10 and content [ 895856169, 32754, -
65656432, 21839, 895856730, 32772, -83, -74, 895856231, 32836 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = int; ArgA = int; ArgB =
int; R (* t)(ArgA, ArgB) = addition<int>; std::string_view = std::
basic_string_view<char> ([ -39, -13, -15, -58, 10, 5, -83, -74, 23, 69 ], -
39) = [ -78, -52, -54, -97, -29, -34, -122, -113, -16, 30 ]
-------------------------------------------------------------------------------
Addition in place - SSE<uint32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<uint32_t, 10> with size 10 and content [ 895856169, 32754,
4230052742, 21839, 18, 5, 895856509, 32693, 895856231, 32836 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = unsigned int; ArgA =
unsigned int; ArgB = unsigned int; R (* t)(ArgA, ArgB) = addition<unsigned
int>; std::string_view = std::basic_string_view<char> ([ 4294967257,
4294967283, 4294967281, 4294967238, 10, 5, 4294967213, 4294967222, 23, 69 ],
4294967257) = [ 4294967218, 4294967244, 4294967242, 4294967199, 4294967267,
4294967262, 4294967174, 4294967183, 4294967280, 30 ]
-------------------------------------------------------------------------------
Addition in place - SSE<int64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<int64_t, 10> with size 10 and content [ -39, 140734089244611,
140734089244145, 94051127591990, 10, 140734089244629, 140734089244077,
94051127591974, 23, 140734089244693 ] Equals: consteval std::string_view
vctr::detail::functionNameWrappedInFunctionTemplateName() [with R = long int;
ArgA = long int; ArgB = long int; R (* t)(ArgA, ArgB) = addition<long int>;
std::string_view = std::basic_string_view<char> ([ -39, -13, -15, -58, 10, 5,
-83, -74, 23, 69 ], -39) = [ -78, -52, -54, -97, -29, -34, -122, -113, -16,
30 ]
-------------------------------------------------------------------------------
Addition in place - SSE<uint64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Add.cpp:56: FAILED:
REQUIRE_THAT( sum2, vctr::EqualsTransformedBy<addition> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<uint64_t, 10> with size 10 and content [ 18446744073709551577,
140734089244611, 18446744073709551609, 140734089244438, 10, 140734089244629,
18446744073709551541, 140734089244422, 23, 140734089244693 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = long unsigned int; ArgA
= long unsigned int; ArgB = long unsigned int; R (* t)(ArgA, ArgB) = addition
<long unsigned int>; std::string_view = std::basic_string_view<char> ([
18446744073709551577, 18446744073709551603, 18446744073709551601,
18446744073709551558, 10, 5, 18446744073709551533, 18446744073709551542, 23,
69 ], 18446744073709551577) = [ 18446744073709551538, 18446744073709551564,
18446744073709551562, 18446744073709551519, 18446744073709551587,
18446744073709551582, 18446744073709551494, 18446744073709551503,
18446744073709551600, 30 ]
-------------------------------------------------------------------------------
Division - AVX<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:34
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:45: FAILED:
REQUIRE_THAT( constantDividedByVec, vctr::EqualsTransformedBy<division> (c, srcA).withEpsilon() )
with expansion:
vctr::Vector<float> with size 10 and content [ -0, -0, 0, -0, 3.67064e+21, 5.
05869e-43, 8.56981e+35, -3.92364e-43, -0, 0 ] Equals: consteval std::
string_view vctr::detail::functionNameWrappedInFunctionTemplateName() [with R
= float; ArgA = float; ArgB = float; R (* t)(ArgA, ArgB) = division<float>;
std::string_view = std::basic_string_view<char> (-38.2175, [ -38.1905, -93.
0532, 27.2699, -57.1641, 30.6455, 90.0289, -15.485, -78.1098, -40.434, 11.
7712 ]) = [ 1.00071, 0.410705, -1.40145, 0.668557, -1.24708, -0.424502, 2.
46803, 0.489278, 0.945182, -3.2467 ]
-------------------------------------------------------------------------------
Division - AVX<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:34
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:45: FAILED:
REQUIRE_THAT( constantDividedByVec, vctr::EqualsTransformedBy<division> (c, srcA).withEpsilon() )
with expansion:
vctr::Vector<double> with size 10 and content [ -0, -0, 2.53158e-311, -8.
12878e-312, 0, 0, -4.45822e-311, -5.94899e-312, -0, 0 ] Equals: consteval
std::string_view vctr::detail::functionNameWrappedInFunctionTemplateName()
[with R = double; ArgA = double; ArgB = double; R (* t)(ArgA, ArgB) =
division<double>; std::string_view = std::basic_string_view<char> (-38.2175,
[ -38.1905, -93.0532, 27.2698, -57.1641, 30.6455, 90.0289, -15.485, -78.1098,
-40.434, 11.7712 ]) = [ 1.00071, 0.410705, -1.40145, 0.668557, -1.24708, -0.
424502, 2.46803, 0.489278, 0.945182, -3.2467 ]
-------------------------------------------------------------------------------
Divide in place - PlatformVectorOps<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:51
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:64: FAILED:
REQUIRE_THAT( quotient2, vctr::EqualsTransformedBy<division> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<float, 10> with size 10 and content [ -4.46327e+07, -inf, -2.
05162e-36, -inf, inf, inf, -1.80973e+07, -inf, -4.72547e+07, inf ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = division<float>; std::string_view = std::
basic_string_view<char> ([ -38.1905, -93.0532, 27.2699, -57.1641, 30.6455,
90.0289, -15.485, -78.1098, -40.434, 11.7712 ], -38.2175) = [ 0.999294, 2.
43484, -0.713544, 1.49576, -0.801872, -2.3557, 0.405182, 2.04383, 1.058, -0.
308005 ]
-------------------------------------------------------------------------------
Divide in place - PlatformVectorOps<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:51
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:64: FAILED:
REQUIRE_THAT( quotient2, vctr::EqualsTransformedBy<division> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<double, 10> with size 10 and content [ -inf, -inf, inf, -inf,
inf, inf, -inf, -inf, -inf, inf ] Equals: consteval std::string_view vctr::
detail::functionNameWrappedInFunctionTemplateName() [with R = double; ArgA =
double; ArgB = double; R (* t)(ArgA, ArgB) = division<double>; std::
string_view = std::basic_string_view<char> ([ -38.1905, -93.0532, 27.2698, -
57.1641, 30.6455, 90.0289, -15.485, -78.1098, -40.434, 11.7712 ], -38.2175) =
[ 0.999294, 2.43484, -0.713544, 1.49576, -0.801872, -2.3557, 0.405182, 2.
04383, 1.058, -0.308005 ]
-------------------------------------------------------------------------------
Divide in place - AVX<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:51
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:64: FAILED:
REQUIRE_THAT( quotient2, vctr::EqualsTransformedBy<division> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<float, 10> with size 10 and content [ -4.46327e+07, -inf, -2.
05082e-36, -inf, inf, inf, -1.80973e+07, -inf, -4.72547e+07, inf ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = division<float>; std::string_view = std::
basic_string_view<char> ([ -38.1905, -93.0532, 27.2699, -57.1641, 30.6455,
90.0289, -15.485, -78.1098, -40.434, 11.7712 ], -38.2175) = [ 0.999294, 2.
43484, -0.713544, 1.49576, -0.801872, -2.3557, 0.405182, 2.04383, 1.058, -0.
308005 ]
-------------------------------------------------------------------------------
Divide in place - AVX<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:51
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:64: FAILED:
REQUIRE_THAT( quotient2, vctr::EqualsTransformedBy<division> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<double, 10> with size 10 and content [ -inf, -inf, inf, -inf,
inf, inf, -inf, -inf, -inf, inf ] Equals: consteval std::string_view vctr::
detail::functionNameWrappedInFunctionTemplateName() [with R = double; ArgA =
double; ArgB = double; R (* t)(ArgA, ArgB) = division<double>; std::
string_view = std::basic_string_view<char> ([ -38.1905, -93.0532, 27.2698, -
57.1641, 30.6455, 90.0289, -15.485, -78.1098, -40.434, 11.7712 ], -38.2175) =
[ 0.999294, 2.43484, -0.713544, 1.49576, -0.801872, -2.3557, 0.405182, 2.
04383, 1.058, -0.308005 ]
-------------------------------------------------------------------------------
Divide in place - SSE<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:51
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:64: FAILED:
REQUIRE_THAT( quotient2, vctr::EqualsTransformedBy<division> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<float, 10> with size 10 and content [ -4.46327e+07, -inf, -2.
05022e-36, -inf, inf, inf, -1.80973e+07, -inf, -4.72547e+07, inf ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = division<float>; std::string_view = std::
basic_string_view<char> ([ -38.1905, -93.0532, 27.2699, -57.1641, 30.6455,
90.0289, -15.485, -78.1098, -40.434, 11.7712 ], -38.2175) = [ 0.999294, 2.
43484, -0.713544, 1.49576, -0.801872, -2.3557, 0.405182, 2.04383, 1.058, -0.
308005 ]
-------------------------------------------------------------------------------
Divide in place - SSE<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:51
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Divide.cpp:64: FAILED:
REQUIRE_THAT( quotient2, vctr::EqualsTransformedBy<division> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<double, 10> with size 10 and content [ -inf, -inf, inf, -inf,
inf, inf, -inf, -inf, -inf, inf ] Equals: consteval std::string_view vctr::
detail::functionNameWrappedInFunctionTemplateName() [with R = double; ArgA =
double; ArgB = double; R (* t)(ArgA, ArgB) = division<double>; std::
string_view = std::basic_string_view<char> ([ -38.1905, -93.0532, 27.2698, -
57.1641, 30.6455, 90.0289, -15.485, -78.1098, -40.434, 11.7712 ], -38.2175) =
[ 0.999294, 2.43484, -0.713544, 1.49576, -0.801872, -2.3557, 0.405182, 2.
04383, 1.058, -0.308005 ]
-------------------------------------------------------------------------------
Multiply - AVX<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:39: FAILED:
REQUIRE_THAT( product1, vctr::EqualsTransformedBy<multiplication> (srcA, c).withEpsilon() )
with expansion:
vctr::Vector<float> with size 10 and content [ -0, 0, -0, 0, 9.52272e+24, -1.
27644e-39, -inf, 9.58998e-40, 0, 0 ] Equals: consteval std::string_view vctr:
:detail::functionNameWrappedInFunctionTemplateName() [with R = float; ArgA =
float; ArgB = float; R (* t)(ArgA, ArgB) = multiplication<float>; std::
string_view = std::basic_string_view<char> ([ -38.15, 60.0052, -90.3349, 45.
6109, 84.6548, -27.9992, 52.8771, 31.2538, 50.8303, 28.097 ], -38.2175) = [
1458, -2293.25, 3452.37, -1743.13, -3235.29, 1070.06, -2020.83, -1194.44, -
1942.6, -1073.79 ]
-------------------------------------------------------------------------------
Multiply - AVX<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:39: FAILED:
REQUIRE_THAT( product1, vctr::EqualsTransformedBy<multiplication> (srcA, c).withEpsilon() )
with expansion:
vctr::Vector<double> with size 10 and content [ -0, 0, -6.23633e-308, 2.
11942e-308, 0, -0, 3.65041e-308, 1.45228e-308, 0, 0 ] Equals: consteval std::
string_view vctr::detail::functionNameWrappedInFunctionTemplateName() [with R
= double; ArgA = double; ArgB = double; R (* t)(ArgA, ArgB) = multiplication
<double>; std::string_view = std::basic_string_view<char> ([ -38.15, 60.0052,
-90.3349, 45.6109, 84.6548, -27.9992, 52.8771, 31.2538, 50.8303, 28.0969 ], -
38.2175) = [ 1458, -2293.25, 3452.37, -1743.13, -3235.29, 1070.06, -2020.83,
-1194.44, -1942.6, -1073.79 ]
-------------------------------------------------------------------------------
Multiply in place - PlatformVectorOps<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:45
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:58: FAILED:
REQUIRE_THAT( product2, vctr::EqualsTransformedBy<multiplication> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<float, 10> with size 10 and content [ -3.26435e-05, 2.75522e-39,
inf, 1.39954e-39, 9.48679e-43, -0, 4.52446e-05, 1.43506e-39, 4.34935e-05, 1.
29011e-39 ] Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = multiplication<float>; std::string_view =
std::basic_string_view<char> ([ -38.15, 60.0052, -90.3349, 45.6109, 84.6548,
-27.9992, 52.8771, 31.2538, 50.8303, 28.097 ], -38.2175) = [ 1458, -2293.25,
3452.37, -1743.13, -3235.29, 1070.06, -2020.83, -1194.44, -1942.6, -1073.79 ]
-------------------------------------------------------------------------------
Multiply in place - PlatformVectorOps<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:45
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:58: FAILED:
REQUIRE_THAT( product2, vctr::EqualsTransformedBy<multiplication> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<double, 10> with size 10 and content [ -2.65264e-308, 2.78829e-
308, -3.57209e-321, 3.17141e-308, 5.88621e-308, -1.30105e-308, 2.0899e-321,
2.17313e-308, 3.53432e-308, 1.30559e-308 ] Equals: consteval std::string_view
vctr::detail::functionNameWrappedInFunctionTemplateName() [with R = double;
ArgA = double; ArgB = double; R (* t)(ArgA, ArgB) = multiplication<double>;
std::string_view = std::basic_string_view<char> ([ -38.15, 60.0052, -90.3349,
45.6109, 84.6548, -27.9992, 52.8771, 31.2538, 50.8303, 28.0969 ], -38.2175) =
[ 1458, -2293.25, 3452.37, -1743.13, -3235.29, 1070.06, -2020.83, -1194.44, -
1942.6, -1073.79 ]
-------------------------------------------------------------------------------
Multiply in place - AVX<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:45
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:58: FAILED:
REQUIRE_THAT( product2, vctr::EqualsTransformedBy<multiplication> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<float, 10> with size 10 and content [ -3.26435e-05, 2.75522e-39,
inf, 1.39954e-39, 9.48679e-43, -0, 4.52446e-05, 1.43506e-39, 4.34935e-05, 1.
29011e-39 ] Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = multiplication<float>; std::string_view =
std::basic_string_view<char> ([ -38.15, 60.0052, -90.3349, 45.6109, 84.6548,
-27.9992, 52.8771, 31.2538, 50.8303, 28.097 ], -38.2175) = [ 1458, -2293.25,
3452.37, -1743.13, -3235.29, 1070.06, -2020.83, -1194.44, -1942.6, -1073.79 ]
-------------------------------------------------------------------------------
Multiply in place - AVX<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:45
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:58: FAILED:
REQUIRE_THAT( product2, vctr::EqualsTransformedBy<multiplication> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<double, 10> with size 10 and content [ -2.65264e-308, 2.78829e-
308, -3.57209e-321, 3.17141e-308, 5.88621e-308, -1.30105e-308, 2.0899e-321,
2.17313e-308, 3.53432e-308, 1.30559e-308 ] Equals: consteval std::string_view
vctr::detail::functionNameWrappedInFunctionTemplateName() [with R = double;
ArgA = double; ArgB = double; R (* t)(ArgA, ArgB) = multiplication<double>;
std::string_view = std::basic_string_view<char> ([ -38.15, 60.0052, -90.3349,
45.6109, 84.6548, -27.9992, 52.8771, 31.2538, 50.8303, 28.0969 ], -38.2175) =
[ 1458, -2293.25, 3452.37, -1743.13, -3235.29, 1070.06, -2020.83, -1194.44, -
1942.6, -1073.79 ]
-------------------------------------------------------------------------------
Multiply in place - SSE<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:45
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:58: FAILED:
REQUIRE_THAT( product2, vctr::EqualsTransformedBy<multiplication> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<float, 10> with size 10 and content [ -3.26435e-05, 2.75522e-39,
inf, 1.39954e-39, 9.48679e-43, -0, 4.52446e-05, 1.43506e-39, 4.34935e-05, 1.
29011e-39 ] Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = multiplication<float>; std::string_view =
std::basic_string_view<char> ([ -38.15, 60.0052, -90.3349, 45.6109, 84.6548,
-27.9992, 52.8771, 31.2538, 50.8303, 28.097 ], -38.2175) = [ 1458, -2293.25,
3452.37, -1743.13, -3235.29, 1070.06, -2020.83, -1194.44, -1942.6, -1073.79 ]
-------------------------------------------------------------------------------
Multiply in place - SSE<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:45
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Multiply.cpp:58: FAILED:
REQUIRE_THAT( product2, vctr::EqualsTransformedBy<multiplication> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<double, 10> with size 10 and content [ -2.65264e-308, 2.78829e-
308, -3.57209e-321, 3.17141e-308, 5.88621e-308, -1.30105e-308, 2.0899e-321,
2.17313e-308, 3.53432e-308, 1.30559e-308 ] Equals: consteval std::string_view
vctr::detail::functionNameWrappedInFunctionTemplateName() [with R = double;
ArgA = double; ArgB = double; R (* t)(ArgA, ArgB) = multiplication<double>;
std::string_view = std::basic_string_view<char> ([ -38.15, 60.0052, -90.3349,
45.6109, 84.6548, -27.9992, 52.8771, 31.2538, 50.8303, 28.0969 ], -38.2175) =
[ 1458, -2293.25, 3452.37, -1743.13, -3235.29, 1070.06, -2020.83, -1194.44, -
1942.6, -1073.79 ]
-------------------------------------------------------------------------------
NormalizeSum - PlatformVectorOps<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/NormalizeSum.cpp:25
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/NormalizeSum.cpp:37: FAILED:
REQUIRE_THAT( normalizedSum, vctr::Equals (dividedBySum).withEpsilon (0.00001) )
with expansion:
vctr::Vector<float> with size 10 and content [ 2.84485e-36, -2.38215e-36, 6.
64599e-36, -4.46532e-36, -4.9328e-36, 7.26686e-37, -1.00597e-36, -6.0644e-36,
-2.48885e-36, -6.91065e-36 ] Equals: vctr::Vector<float> with size 10 and
content [ 0.999984, inf, -inf, inf, 7.40241e+07, -inf, 1, inf, 0.999984, inf
]
-------------------------------------------------------------------------------
NormalizeSum - PlatformVectorOps<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/NormalizeSum.cpp:25
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/NormalizeSum.cpp:37: FAILED:
REQUIRE_THAT( normalizedSum, vctr::Equals (dividedBySum).withEpsilon (0.00001) )
with expansion:
vctr::Vector<double> with size 10 and content [ -0.163317, 0.136754, -0.
381532, 0.256344, 0.283181, -0.0417175, 0.0577503, 0.348144, 0.142879, 0.
396725 ] Equals: vctr::Vector<double> with size 10 and content [ -inf, inf, -
inf, inf, inf, -inf, inf, inf, inf, inf ]
-------------------------------------------------------------------------------
NormalizeSum - AVX<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/NormalizeSum.cpp:25
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/NormalizeSum.cpp:37: FAILED:
REQUIRE_THAT( normalizedSum, vctr::Equals (dividedBySum).withEpsilon (0.00001) )
with expansion:
vctr::Vector<float> with size 10 and content [ 2.79013e-36, -2.33633e-36, 6.
51816e-36, -4.37943e-36, -4.83792e-36, 7.12708e-37, -9.86616e-37, -5.94775e-
36, -2.44097e-36, -6.77772e-36 ] Equals: vctr::Vector<float> with size 10 and
content [ 0.999985, inf, -inf, inf, 7.40241e+07, -inf, 1, inf, 0.999985, inf
]
-------------------------------------------------------------------------------
NormalizeSum - AVX<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/NormalizeSum.cpp:25
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/NormalizeSum.cpp:37: FAILED:
REQUIRE_THAT( normalizedSum, vctr::Equals (dividedBySum).withEpsilon (0.00001) )
with expansion:
vctr::Vector<double> with size 10 and content [ -0.163317, 0.136754, -0.
381532, 0.256344, 0.283181, -0.0417175, 0.0577503, 0.348144, 0.142879, 0.
396725 ] Equals: vctr::Vector<double> with size 10 and content [ -inf, inf, -
inf, inf, inf, -inf, inf, inf, inf, inf ]
-------------------------------------------------------------------------------
NormalizeSum - SSE<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/NormalizeSum.cpp:25
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/NormalizeSum.cpp:37: FAILED:
REQUIRE_THAT( normalizedSum, vctr::Equals (dividedBySum).withEpsilon (0.00001) )
with expansion:
vctr::Vector<float> with size 10 and content [ 2.78957e-36, -2.33586e-36, 6.
51684e-36, -4.37855e-36, -4.83695e-36, 7.12565e-37, -9.86417e-37, -5.94655e-
36, -2.44048e-36, -6.77636e-36 ] Equals: vctr::Vector<float> with size 10 and
content [ 0.999985, inf, -inf, inf, 7.40241e+07, -inf, 1, inf, 0.999985, inf
]
-------------------------------------------------------------------------------
NormalizeSum - SSE<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/NormalizeSum.cpp:25
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/NormalizeSum.cpp:37: FAILED:
REQUIRE_THAT( normalizedSum, vctr::Equals (dividedBySum).withEpsilon (0.00001) )
with expansion:
vctr::Vector<double> with size 10 and content [ -0.163317, 0.136754, -0.
381532, 0.256344, 0.283181, -0.0417175, 0.0577503, 0.348144, 0.142879, 0.
396725 ] Equals: vctr::Vector<double> with size 10 and content [ -inf, inf, -
inf, inf, inf, -inf, inf, inf, inf, inf ]
-------------------------------------------------------------------------------
Subtraction - AVX<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:38: FAILED:
REQUIRE_THAT( constantMinusVec, vctr::EqualsTransformedBy<subtraction> (c, srcA) )
with expansion:
vctr::Vector<float> with size 10 and content [ 38.0826, 84.8975, 86.3547, 28.
4435, 1.12489e+23, -26.5899, -1.31004e+37, 19.066, -64.1212, 4.98139 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = subtraction<float>; std::string_view =
std::basic_string_view<char> (-38.2175, [ -38.0826, -84.8975, -86.3547, -28.
4435, 4.3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ]) = [ -0.134865,
46.68, 48.1373, -9.77397, -42.5312, -64.8074, 38.6034, -19.1514, -102.339, -
33.2361 ]
-------------------------------------------------------------------------------
Subtraction - AVX<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:38: FAILED:
REQUIRE_THAT( constantMinusVec, vctr::EqualsTransformedBy<subtraction> (c, srcA) )
with expansion:
vctr::Vector<double> with size 10 and content [ 38.0826, 84.8975, 86.3547,
28.4435, -4.3137, -26.5899, 76.8208, 19.066, -64.1212, 4.98139 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = double; ArgA = double;
ArgB = double; R (* t)(ArgA, ArgB) = subtraction<double>; std::string_view =
std::basic_string_view<char> (-38.2175, [ -38.0826, -84.8975, -86.3547, -28.
4435, 4.3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ]) = [ -0.134868,
46.68, 48.1373, -9.77397, -42.5312, -64.8074, 38.6034, -19.1514, -102.339, -
33.2361 ]
-------------------------------------------------------------------------------
Subtraction - AVX<int32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:38: FAILED:
REQUIRE_THAT( constantMinusVec, vctr::EqualsTransformedBy<subtraction> (c, srcA) )
with expansion:
vctr::Vector<int32_t> with size 10 and content [ 39, 85, 87, 29, 1706987580,
32507, -48407603, 21917, -64, 5 ] Equals: consteval std::string_view vctr::
detail::functionNameWrappedInFunctionTemplateName() [with R = int; ArgA =
int; ArgB = int; R (* t)(ArgA, ArgB) = subtraction<int>; std::string_view =
std::basic_string_view<char> (-39, [ -39, -85, -87, -29, 4, 26, -77, -20, 64,
-5 ]) = [ 0, 46, 48, -10, -43, -65, 38, -19, -103, -34 ]
-------------------------------------------------------------------------------
Subtraction - AVX<uint32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:38: FAILED:
REQUIRE_THAT( constantMinusVec, vctr::EqualsTransformedBy<subtraction> (c, srcA) )
with expansion:
vctr::Vector<uint32_t> with size 10 and content [ 39, 85, 87, 29, 1706987580,
32507, 4246561101, 21917, 4294967232, 5 ] Equals: consteval std::string_view
vctr::detail::functionNameWrappedInFunctionTemplateName() [with R = unsigned
int; ArgA = unsigned int; ArgB = unsigned int; R (* t)(ArgA, ArgB) =
subtraction<unsigned int>; std::string_view = std::basic_string_view<char>
(4294967257, [ 4294967257, 4294967211, 4294967209, 4294967267, 4, 26,
4294967219, 4294967276, 64, 4294967291 ]) = [ 0, 46, 48, 4294967286,
4294967253, 4294967231, 38, 4294967277, 4294967193, 4294967262 ]
-------------------------------------------------------------------------------
Subtraction - AVX<int64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:38: FAILED:
REQUIRE_THAT( constantMinusVec, vctr::EqualsTransformedBy<subtraction> (c, srcA) )
with expansion:
vctr::Vector<int64_t> with size 10 and content [ 39, 85, 139729878028439,
94051145442589, -4, -26, 139729878028429, 94051145442580, -64, 5 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = long int; ArgA = long
int; ArgB = long int; R (* t)(ArgA, ArgB) = subtraction<long int>; std::
string_view = std::basic_string_view<char> (-39, [ -39, -85, -87, -29, 4, 26,
-77, -20, 64, -5 ]) = [ 0, 46, 48, -10, -43, -65, 38, -19, -103, -34 ]
-------------------------------------------------------------------------------
Subtraction - AVX<uint64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:28
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:38: FAILED:
REQUIRE_THAT( constantMinusVec, vctr::EqualsTransformedBy<subtraction> (c, srcA) )
with expansion:
vctr::Vector<uint64_t> with size 10 and content [ 39, 85, 139729878028439,
94051145444285, 18446744073709551612, 18446744073709551590, 139729878028429,
94051145444276, 18446744073709551552, 5 ] Equals: consteval std::string_view
vctr::detail::functionNameWrappedInFunctionTemplateName() [with R = long
unsigned int; ArgA = long unsigned int; ArgB = long unsigned int; R (* t)
(ArgA, ArgB) = subtraction<long unsigned int>; std::string_view = std::
basic_string_view<char> (18446744073709551577, [ 18446744073709551577,
18446744073709551531, 18446744073709551529, 18446744073709551587, 4, 26,
18446744073709551539, 18446744073709551596, 64, 18446744073709551611 ]) = [
0, 46, 48, 18446744073709551606, 18446744073709551573, 18446744073709551551,
38, 18446744073709551597, 18446744073709551513, 18446744073709551582 ]
-------------------------------------------------------------------------------
Subtraction in place - PlatformVectorOps<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<float, 10> with size 10 and content [ -38.0826, -84.8975, 1.
31495e+37, -28.4435, 4.3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = subtraction<float>; std::string_view =
std::basic_string_view<char> ([ -38.0826, -84.8975, -86.3547, -28.4435, 4.
3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ], -38.2175) = [ 0.
134865, -46.68, -48.1373, 9.77397, 42.5312, 64.8074, -38.6034, 19.1514, 102.
339, 33.2361 ]
-------------------------------------------------------------------------------
Subtraction in place - PlatformVectorOps<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<double, 10> with size 10 and content [ -38.0826, -84.8975, -86.
3547, -28.4435, 4.3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = double; ArgA = double;
ArgB = double; R (* t)(ArgA, ArgB) = subtraction<double>; std::string_view =
std::basic_string_view<char> ([ -38.0826, -84.8975, -86.3547, -28.4435, 4.
3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ], -38.2175) = [ 0.
134868, -46.68, -48.1373, 9.77397, 42.5312, 64.8074, -38.6034, 19.1514, 102.
339, 33.2361 ]
-------------------------------------------------------------------------------
Subtraction in place - PlatformVectorOps<int32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<int32_t, 10> with size 10 and content [ -895856343, -32852,
65656330, -21926, -895856780, -32741, -77, -20, -895856240, -32772 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = int; ArgA = int; ArgB =
int; R (* t)(ArgA, ArgB) = subtraction<int>; std::string_view = std::
basic_string_view<char> ([ -39, -85, -87, -29, 4, 26, -77, -20, 64, -5 ], -
39) = [ 0, -46, -48, 10, 43, 65, -38, 19, 103, 34 ]
-------------------------------------------------------------------------------
Subtraction in place - PlatformVectorOps<uint32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<uint32_t, 10> with size 10 and content [ 3399110953, 4294934444,
64914452, 4294945370, 4294967292, 26, 3399110531, 4294934509, 3399111056,
4294934524 ] Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = unsigned int; ArgA =
unsigned int; ArgB = unsigned int; R (* t)(ArgA, ArgB) = subtraction<unsigned
int>; std::string_view = std::basic_string_view<char> ([ 4294967257,
4294967211, 4294967209, 4294967267, 4, 26, 4294967219, 4294967276, 64,
4294967291 ], 4294967257) = [ 0, 4294967250, 4294967248, 10, 43, 65,
4294967258, 19, 103, 34 ]
-------------------------------------------------------------------------------
Subtraction in place - PlatformVectorOps<int64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<int64_t, 10> with size 10 and content [ -39, -140734089244741, -
140734089244311, -94051127592077, 4, -140734089244630, -140734089244301, -
94051127592068, 64, -140734089244661 ] Equals: consteval std::string_view
vctr::detail::functionNameWrappedInFunctionTemplateName() [with R = long int;
ArgA = long int; ArgB = long int; R (* t)(ArgA, ArgB) = subtraction<long int>
; std::string_view = std::basic_string_view<char> ([ -39, -85, -87, -29, 4,
26, -77, -20, 64, -5 ], -39) = [ 0, -46, -48, 10, 43, 65, -38, 19, 103, 34 ]
-------------------------------------------------------------------------------
Subtraction in place - PlatformVectorOps<uint64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<uint64_t, 10> with size 10 and content [ 18446744073709551577,
18446603339620306875, 18446744073709551521, 18446603339620307027, 4,
18446603339620306986, 18446744073709551531, 18446603339620307036, 64,
18446603339620306955 ] Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = long unsigned int; ArgA
= long unsigned int; ArgB = long unsigned int; R (* t)(ArgA, ArgB) =
subtraction<long unsigned int>; std::string_view = std::basic_string_view
<char> ([ 18446744073709551577, 18446744073709551531, 18446744073709551529,
18446744073709551587, 4, 26, 18446744073709551539, 18446744073709551596, 64,
18446744073709551611 ], 18446744073709551577) = [ 0, 18446744073709551570,
18446744073709551568, 10, 43, 65, 18446744073709551578, 19, 103, 34 ]
-------------------------------------------------------------------------------
Subtraction in place - AVX<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<float, 10> with size 10 and content [ -38.0826, -84.8975, 1.
32784e+37, -28.4435, 4.3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = subtraction<float>; std::string_view =
std::basic_string_view<char> ([ -38.0826, -84.8975, -86.3547, -28.4435, 4.
3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ], -38.2175) = [ 0.
134865, -46.68, -48.1373, 9.77397, 42.5312, 64.8074, -38.6034, 19.1514, 102.
339, 33.2361 ]
-------------------------------------------------------------------------------
Subtraction in place - AVX<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<double, 10> with size 10 and content [ -38.0826, -84.8975, -86.
3547, -28.4435, 4.3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = double; ArgA = double;
ArgB = double; R (* t)(ArgA, ArgB) = subtraction<double>; std::string_view =
std::basic_string_view<char> ([ -38.0826, -84.8975, -86.3547, -28.4435, 4.
3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ], -38.2175) = [ 0.
134868, -46.68, -48.1373, 9.77397, 42.5312, 64.8074, -38.6034, 19.1514, 102.
339, 33.2361 ]
-------------------------------------------------------------------------------
Subtraction in place - AVX<int32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<int32_t, 10> with size 10 and content [ -895856343, -32852,
65656330, -21926, -895856780, -32741, -77, -20, -895856240, -32772 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = int; ArgA = int; ArgB =
int; R (* t)(ArgA, ArgB) = subtraction<int>; std::string_view = std::
basic_string_view<char> ([ -39, -85, -87, -29, 4, 26, -77, -20, 64, -5 ], -
39) = [ 0, -46, -48, 10, 43, 65, -38, 19, 103, 34 ]
-------------------------------------------------------------------------------
Subtraction in place - AVX<uint32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<uint32_t, 10> with size 10 and content [ 3399110953, 4294934444,
64914452, 4294945370, 4294967292, 26, 3399110531, 4294934509, 3399111056,
4294934524 ] Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = unsigned int; ArgA =
unsigned int; ArgB = unsigned int; R (* t)(ArgA, ArgB) = subtraction<unsigned
int>; std::string_view = std::basic_string_view<char> ([ 4294967257,
4294967211, 4294967209, 4294967267, 4, 26, 4294967219, 4294967276, 64,
4294967291 ], 4294967257) = [ 0, 4294967250, 4294967248, 10, 43, 65,
4294967258, 19, 103, 34 ]
-------------------------------------------------------------------------------
Subtraction in place - AVX<int64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<int64_t, 10> with size 10 and content [ -39, -140734089244741, -
140734089244311, -94051127592077, 4, -140734089244630, -140734089244301, -
94051127592068, 64, -140734089244661 ] Equals: consteval std::string_view
vctr::detail::functionNameWrappedInFunctionTemplateName() [with R = long int;
ArgA = long int; ArgB = long int; R (* t)(ArgA, ArgB) = subtraction<long int>
; std::string_view = std::basic_string_view<char> ([ -39, -85, -87, -29, 4,
26, -77, -20, 64, -5 ], -39) = [ 0, -46, -48, 10, 43, 65, -38, 19, 103, 34 ]
-------------------------------------------------------------------------------
Subtraction in place - AVX<uint64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<uint64_t, 10> with size 10 and content [ 18446744073709551577,
18446603339620306875, 18446744073709551521, 18446603339620307027, 4,
18446603339620306986, 18446744073709551531, 18446603339620307036, 64,
18446603339620306955 ] Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = long unsigned int; ArgA
= long unsigned int; ArgB = long unsigned int; R (* t)(ArgA, ArgB) =
subtraction<long unsigned int>; std::string_view = std::basic_string_view
<char> ([ 18446744073709551577, 18446744073709551531, 18446744073709551529,
18446744073709551587, 4, 26, 18446744073709551539, 18446744073709551596, 64,
18446744073709551611 ], 18446744073709551577) = [ 0, 18446744073709551570,
18446744073709551568, 10, 43, 65, 18446744073709551578, 19, 103, 34 ]
-------------------------------------------------------------------------------
Subtraction in place - SSE<float>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<float, 10> with size 10 and content [ -38.0826, -84.8975, 1.
30935e+37, -28.4435, 4.3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = float; ArgA = float;
ArgB = float; R (* t)(ArgA, ArgB) = subtraction<float>; std::string_view =
std::basic_string_view<char> ([ -38.0826, -84.8975, -86.3547, -28.4435, 4.
3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ], -38.2175) = [ 0.
134865, -46.68, -48.1373, 9.77397, 42.5312, 64.8074, -38.6034, 19.1514, 102.
339, 33.2361 ]
-------------------------------------------------------------------------------
Subtraction in place - SSE<double>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<double, 10> with size 10 and content [ -38.0826, -84.8975, -86.
3547, -28.4435, 4.3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ]
Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = double; ArgA = double;
ArgB = double; R (* t)(ArgA, ArgB) = subtraction<double>; std::string_view =
std::basic_string_view<char> ([ -38.0826, -84.8975, -86.3547, -28.4435, 4.
3137, 26.5899, -76.8208, -19.066, 64.1212, -4.98139 ], -38.2175) = [ 0.
134868, -46.68, -48.1373, 9.77397, 42.5312, 64.8074, -38.6034, 19.1514, 102.
339, 33.2361 ]
-------------------------------------------------------------------------------
Subtraction in place - SSE<int32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<int32_t, 10> with size 10 and content [ -895856343, -32852,
65656330, -21926, -895856780, -32741, -77, -20, -895856240, -32772 ] Equals:
consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = int; ArgA = int; ArgB =
int; R (* t)(ArgA, ArgB) = subtraction<int>; std::string_view = std::
basic_string_view<char> ([ -39, -85, -87, -29, 4, 26, -77, -20, 64, -5 ], -
39) = [ 0, -46, -48, 10, 43, 65, -38, 19, 103, 34 ]
-------------------------------------------------------------------------------
Subtraction in place - SSE<uint32_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<uint32_t, 10> with size 10 and content [ 3399110953, 4294934444,
64914452, 4294945370, 4294967292, 26, 3399110531, 4294934509, 3399111056,
4294934524 ] Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = unsigned int; ArgA =
unsigned int; ArgB = unsigned int; R (* t)(ArgA, ArgB) = subtraction<unsigned
int>; std::string_view = std::basic_string_view<char> ([ 4294967257,
4294967211, 4294967209, 4294967267, 4, 26, 4294967219, 4294967276, 64,
4294967291 ], 4294967257) = [ 0, 4294967250, 4294967248, 10, 43, 65,
4294967258, 19, 103, 34 ]
-------------------------------------------------------------------------------
Subtraction in place - SSE<int64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<int64_t, 10> with size 10 and content [ -39, -140734089244741, -
140734089244311, -94051127592077, 4, -140734089244630, -140734089244301, -
94051127592068, 64, -140734089244661 ] Equals: consteval std::string_view
vctr::detail::functionNameWrappedInFunctionTemplateName() [with R = long int;
ArgA = long int; ArgB = long int; R (* t)(ArgA, ArgB) = subtraction<long int>
; std::string_view = std::basic_string_view<char> ([ -39, -85, -87, -29, 4,
26, -77, -20, 64, -5 ], -39) = [ 0, -46, -48, 10, 43, 65, -38, 19, 103, 34 ]
-------------------------------------------------------------------------------
Subtraction in place - SSE<uint64_t>
-------------------------------------------------------------------------------
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:43
...............................................................................
/home/fred/spline/VCTR/test/TestCases/Expressions/Subtract.cpp:56: FAILED:
REQUIRE_THAT( diff2, vctr::EqualsTransformedBy<subtraction> (srcA, c).withEpsilon() )
with expansion:
vctr::Array<uint64_t, 10> with size 10 and content [ 18446744073709551577,
18446603339620306875, 18446744073709551521, 18446603339620307027, 4,
18446603339620306986, 18446744073709551531, 18446603339620307036, 64,
18446603339620306955 ] Equals: consteval std::string_view vctr::detail::
functionNameWrappedInFunctionTemplateName() [with R = long unsigned int; ArgA
= long unsigned int; ArgB = long unsigned int; R (* t)(ArgA, ArgB) =
subtraction<long unsigned int>; std::string_view = std::basic_string_view
<char> ([ 18446744073709551577, 18446744073709551531, 18446744073709551529,
18446744073709551587, 4, 26, 18446744073709551539, 18446744073709551596, 64,
18446744073709551611 ], 18446744073709551577) = [ 0, 18446744073709551570,
18446744073709551568, 10, 43, 65, 18446744073709551578, 19, 103, 34 ]
===============================================================================
test cases: 800 | 730 passed | 70 failed
assertions: 3448 | 3378 passed | 70 failed
Okay, this looks like there is a lot going wrong, can't really tell what from the output, but I assume it's likely a systematic problem rather than all of these expressions being broken individually. I see a lot of failures for SIMD based expression evaluations but not exclusively. Just for the record, do you use VCTR with Intel IPP?
One thing that I noted that you mentioned you used gcc 11.4.0, we use gcc 12 for the Linux based CI builds (and actually specify that compiler as minimum requirement). I'm not aware of any specific issues with gcc 11, it's just that we don't run tests with it. I'll see if I can spin up a gcc 11 test on GitHub Actions to check if that fails in a similar way...
I didn't enable IPP so far.
we use gcc 12 for the Linux based CI builds (and actually specify that compiler as minimum requirement)
Ok I didn't know. I could try upgrading to gcc 12 for testing and report back.
What's also weird is that this change only started appearing at some point. I'll try and do a bisect to see where this issue first showed!
I started a Actions build using GCC 11.4 and it works fine: https://github.com/sonible/VCTR/pull/122
So the compiler version is not the problem here (tbh. I would have been surprised if that was the case). It would be great if you could bisect it to find the problematic commit. Just a shot in the dark, but commit 6eb5fe81fbb8c9c2af20eafa29854a00c6450f6a was the last big change regarding SIMD evaluation of expressions, maybe you want to start with that one first before really bisecting.
@JanosGit 6eb5fe8 is indeed the first commit where the problem appears!
Could you try putting a breakpoint into e.g. vctr::expressions:: AddSingleToVec::prepareAVXEvaluation
or similar functions and see if it ever gets called during the corresponding unit test? It should be called once before the simd based evaluation loop of the expression is executed. If it is not called, the computation is performed using an uninitialised SIMD register as one operand, which would explain random results as we see above.
Okay, I managed to reproduce the fails with GCC 12 on my Windows WSL environment. Will try to find out what's wrong there...
I think I found the source of the problem: All those prepareAVXEvaluation
and prepareSSEEvaluation
functions added with that commit are not prefixed with VCTR_TARGET ("avx")
etc. which translates to an __attribute__ ((target ("avx")))
when building with GCC. In those functions, usually SIMD registers are populated with values, using broadcast intrinsics. When the functions are not prefixed with the attribute, I noted that the calls to the broadcast functions populate the registers with random values. Adding the attribute fixes that. I'll try to get a fix out soon, this should be relatively straightforward.
The one thing that I don't understand however is why the GCC builds on GitHub actions seem to not generate such failures...
Sorry for the late response! Just wanted to report back that the PR did fix the issue on my machine! Thank you very much!
Updating to develop tip seems to make division operator not play nicely anymore. Consider the following code:
The output is
Ubuntu 20.04 gcc 11.4.0
Happy to provide more details if needed :slightly_smiling_face: