diff --git a/include/J3ML/LinearAlgebra/Vector.hpp b/include/J3ML/LinearAlgebra/Vector.hpp index ec9ccfe..0bbf868 100644 --- a/include/J3ML/LinearAlgebra/Vector.hpp +++ b/include/J3ML/LinearAlgebra/Vector.hpp @@ -37,12 +37,12 @@ namespace J3ML::LinearAlgebra using value_type = T; using self_type = Vector; static const Vector Zero; - static const self_type One = self_type(1); + static const self_type One; static const self_type UnitX; static const self_type UnitY; - static const self_type NaN = self_type(std::numeric_limits::signaling_NaN()); - static const self_type Infinity = self_type(std::numeric_limits::infinity()); - static const self_type NegativeInfinity = self_type(-std::numeric_limits::infinity()); + static const self_type NaN; + static const self_type Infinity; + static const self_type NegativeInfinity; static self_type GetUnitX() requires Is1D {} static self_type GetUnitY() requires Is2D {} static self_type GetUnitZ() requires Is3D {} @@ -151,13 +151,13 @@ namespace J3ML::LinearAlgebra using v3i = Vector<3, int>; using v4i = Vector<4, int>; - const v2f Vector<2, float>::Zero = v2f(0); - const v3f Vector<3, float>::Zero = v3f(0); - const v4f Vector<4, float>::Zero = v4f(0); + template<> const v2f Vector<2, float>::Zero = v2f(0); + template<> const v3f Vector<3, float>::Zero = v3f(0); + template<> const v4f Vector<4, float>::Zero = v4f(0); - const v2f Vector<2, float>::One = v2f(1); - const v3f Vector<3, float>::One = v3f(1); - const v4f Vector<4, float>::One = v4f(1); + template<> const v2f Vector<2, float>::One = v2f(1); + template<> const v3f Vector<3, float>::One = v3f(1); + template<> const v4f Vector<4, float>::One = v4f(1); }