SIMD improvement.

This commit is contained in:
scorpioblood 2024-06-07 16:56:41 +02:00
parent e545c1078f
commit 62e60cdb81

View File

@ -234,6 +234,12 @@ namespace Phanes::Core::Math::Detail
r.x = v1.x | v2.x; r.x = v1.x | v2.x;
r.y = v1.y | v2.y; r.y = v1.y | v2.y;
} }
static constexpr void map(Phanes::Core::Math::TIntVector2<T, false>& r, const Phanes::Core::Math::TIntVector2<T, false>& v1, const T s)
{
r.x = v1.x | s;
r.y = v1.y | s;
}
}; };
template<IntType T> template<IntType T>
@ -244,6 +250,12 @@ namespace Phanes::Core::Math::Detail
r.x = v1.x ^ v2.x; r.x = v1.x ^ v2.x;
r.y = v1.y ^ v2.y; r.y = v1.y ^ v2.y;
} }
static constexpr void map(Phanes::Core::Math::TIntVector2<T, false>& r, const Phanes::Core::Math::TIntVector2<T, false>& v1, const T s)
{
r.x = v1.x ^ s;
r.y = v1.y ^ s;
}
}; };
template<IntType T> template<IntType T>
@ -254,6 +266,12 @@ namespace Phanes::Core::Math::Detail
r.x = v1.x << v2.x; r.x = v1.x << v2.x;
r.y = v1.y << v2.y; r.y = v1.y << v2.y;
} }
static constexpr void map(Phanes::Core::Math::TIntVector2<T, false>& r, const Phanes::Core::Math::TIntVector2<T, false>& v1, const T s)
{
r.x = v1.x << s;
r.y = v1.y << s;
}
}; };
template<IntType T> template<IntType T>
@ -264,6 +282,12 @@ namespace Phanes::Core::Math::Detail
r.x = v1.x >> v2.x; r.x = v1.x >> v2.x;
r.y = v1.y >> v2.y; r.y = v1.y >> v2.y;
} }
static constexpr void map(Phanes::Core::Math::TIntVector2<T, false>& r, const Phanes::Core::Math::TIntVector2<T, false>& v1, const T s)
{
r.x = v1.x >> s;
r.y = v1.y >> s;
}
}; };
template<IntType T> template<IntType T>