packed intersection and matrix

This commit is contained in:
Jorijn van der Graaf 2026-05-18 19:57:40 +02:00
commit f0becd1582
7 changed files with 948 additions and 557 deletions

View file

@ -429,7 +429,7 @@ std::string* TestAllCombinations() {
VectorType<Len, Packing> vecC = vecA * 3;
VectorType<Len, Packing> vecD = vecA * 4;
auto result = VectorType<Len, Packing>::Normalize(vecA, vecB, vecC, vecD);
VectorType<1, 4> result2 = VectorType<Len, Packing>::Length(std::get<0>(result), std::get<1>(result), std::get<2>(result), std::get<3>(result));
VectorType<1, 4> result2 = VectorType<Len, Packing>::Length(result[0], result[1], result[2], result[3]);
std::array<T, VectorType<Len, Packing>::AlignmentElement> stored = result2.template Store<T>();
for(std::uint8_t i = 0; i < Len*Packing; i++) {
@ -472,7 +472,7 @@ std::string* TestAllCombinations() {
VectorType<Len, Packing> vecC = vecA * 3;
VectorType<Len, Packing> vecD = vecA * 4;
auto result = VectorType<Len, Packing>::Normalize(vecA, vecB, vecC, vecD);
VectorType<1, 8> result2 = VectorType<Len, Packing>::Length(std::get<0>(result), std::get<1>(result), std::get<2>(result), std::get<3>(result));
VectorType<1, 8> result2 = VectorType<Len, Packing>::Length(result[0], result[1], result[2], result[3]);
std::array<T, VectorType<Len, Packing>::AlignmentElement> stored = result2.template Store<T>();
for(std::uint8_t i = 0; i < Len*Packing; i++) {
@ -509,7 +509,7 @@ std::string* TestAllCombinations() {
VectorType<Len, Packing> vecB = vecA * 2;
VectorType<Len, Packing> vecC = vecA * 3;
auto result = VectorType<Len, Packing>::Normalize(vecA, vecB, vecC);
VectorType<1, 15> result2 = VectorType<Len, Packing>::Length(std::get<0>(result), std::get<1>(result), std::get<2>(result));
VectorType<1, 15> result2 = VectorType<Len, Packing>::Length(result[0], result[1], result[2]);
std::array<T, VectorType<Len, Packing>::AlignmentElement> stored = result2.template Store<T>();
for(std::uint8_t i = 0; i < Len*Packing; i++) {
@ -540,7 +540,7 @@ std::string* TestAllCombinations() {
VectorType<Len, Packing> vecA(floats);
VectorType<Len, Packing> vecE = vecA * 2;
auto result = VectorType<Len, Packing>::Normalize(vecA, vecE);
VectorType<1, Packing*2> result2 = VectorType<Len, Packing>::Length(std::get<0>(result), std::get<1>(result));
VectorType<1, Packing*2> result2 = VectorType<Len, Packing>::Length(result[0], result[1]);
std::array<T, VectorType<Len, Packing>::AlignmentElement> stored = result2.template Store<T>();
for(std::uint8_t i = 0; i < Len*Packing; i++) {
@ -583,7 +583,7 @@ std::string* TestAllCombinations() {
VectorType<Len, Packing> vecE = vecA * 3;
VectorType<Len, Packing> vecG = vecA * 4;
auto result = VectorType<Len, Packing>::Normalize(vecA, vecC, vecE, vecG);
VectorType<1, Packing*4> result2 = VectorType<Len, Packing>::Length(std::get<0>(result), std::get<1>(result), std::get<2>(result), std::get<3>(result));
VectorType<1, Packing*4> result2 = VectorType<Len, Packing>::Length(result[0], result[1], result[2], result[3]);
std::array<T, VectorType<Len, Packing>::AlignmentElement> stored = result2.template Store<T>();
for(std::uint8_t i = 0; i < Len*Packing; i++) {