|
@@ -194,6 +194,15 @@ namespace detail
|
|
|
|
|
|
|
|
// -- Conversion scalar constructors --
|
|
// -- Conversion scalar constructors --
|
|
|
|
|
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename U, qualifier P>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, U, P> const& v)
|
|
|
|
|
+ : x(static_cast<T>(v.x))
|
|
|
|
|
+ , y(static_cast<T>(v.x))
|
|
|
|
|
+ , z(static_cast<T>(v.x))
|
|
|
|
|
+ , w(static_cast<T>(v.x))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
template<typename T, qualifier Q>
|
|
template<typename T, qualifier Q>
|
|
|
template<typename X, typename Y, typename Z, typename W>
|
|
template<typename X, typename Y, typename Z, typename W>
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, T, Q>::vec(X _x, Y _y, Z _z, W _w)
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD vec<4, T, Q>::vec(X _x, Y _y, Z _z, W _w)
|
|
@@ -203,6 +212,123 @@ namespace detail
|
|
|
, w(static_cast<T>(_w))
|
|
, w(static_cast<T>(_w))
|
|
|
{}
|
|
{}
|
|
|
|
|
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, Y _y, Z _z, W _w)
|
|
|
|
|
+ : x(static_cast<T>(_x.x))
|
|
|
|
|
+ , y(static_cast<T>(_y))
|
|
|
|
|
+ , z(static_cast<T>(_z))
|
|
|
|
|
+ , w(static_cast<T>(_w))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(X _x, vec<1, Y, Q> const& _y, Z _z, W _w)
|
|
|
|
|
+ : x(static_cast<T>(_x))
|
|
|
|
|
+ , y(static_cast<T>(_y.x))
|
|
|
|
|
+ , z(static_cast<T>(_z))
|
|
|
|
|
+ , w(static_cast<T>(_w))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, Z _z, W _w)
|
|
|
|
|
+ : x(static_cast<T>(_x.x))
|
|
|
|
|
+ , y(static_cast<T>(_y.x))
|
|
|
|
|
+ , z(static_cast<T>(_z))
|
|
|
|
|
+ , w(static_cast<T>(_w))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(X _x, Y _y, vec<1, Z, Q> const& _z, W _w)
|
|
|
|
|
+ : x(static_cast<T>(_x))
|
|
|
|
|
+ , y(static_cast<T>(_y))
|
|
|
|
|
+ , z(static_cast<T>(_z.x))
|
|
|
|
|
+ , w(static_cast<T>(_w))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, Y _y, vec<1, Z, Q> const& _z, W _w)
|
|
|
|
|
+ : x(static_cast<T>(_x.x))
|
|
|
|
|
+ , y(static_cast<T>(_y))
|
|
|
|
|
+ , z(static_cast<T>(_z.x))
|
|
|
|
|
+ , w(static_cast<T>(_w))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(X _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, W _w)
|
|
|
|
|
+ : x(static_cast<T>(_x))
|
|
|
|
|
+ , y(static_cast<T>(_y.x))
|
|
|
|
|
+ , z(static_cast<T>(_z.x))
|
|
|
|
|
+ , w(static_cast<T>(_w))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, W _w)
|
|
|
|
|
+ : x(static_cast<T>(_x.x))
|
|
|
|
|
+ , y(static_cast<T>(_y.x))
|
|
|
|
|
+ , z(static_cast<T>(_z.x))
|
|
|
|
|
+ , w(static_cast<T>(_w))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, Y _y, Z _z, vec<1, W, Q> const& _w)
|
|
|
|
|
+ : x(static_cast<T>(_x.x))
|
|
|
|
|
+ , y(static_cast<T>(_y))
|
|
|
|
|
+ , z(static_cast<T>(_z))
|
|
|
|
|
+ , w(static_cast<T>(_w.x))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(X _x, vec<1, Y, Q> const& _y, Z _z, vec<1, W, Q> const& _w)
|
|
|
|
|
+ : x(static_cast<T>(_x))
|
|
|
|
|
+ , y(static_cast<T>(_y.x))
|
|
|
|
|
+ , z(static_cast<T>(_z))
|
|
|
|
|
+ , w(static_cast<T>(_w.x))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, Z _z, vec<1, W, Q> const& _w)
|
|
|
|
|
+ : x(static_cast<T>(_x.x))
|
|
|
|
|
+ , y(static_cast<T>(_y.x))
|
|
|
|
|
+ , z(static_cast<T>(_z))
|
|
|
|
|
+ , w(static_cast<T>(_w.x))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(X _x, Y _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w)
|
|
|
|
|
+ : x(static_cast<T>(_x))
|
|
|
|
|
+ , y(static_cast<T>(_y))
|
|
|
|
|
+ , z(static_cast<T>(_z.x))
|
|
|
|
|
+ , w(static_cast<T>(_w.x))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, Y _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w)
|
|
|
|
|
+ : x(static_cast<T>(_x.x))
|
|
|
|
|
+ , y(static_cast<T>(_y))
|
|
|
|
|
+ , z(static_cast<T>(_z.x))
|
|
|
|
|
+ , w(static_cast<T>(_w.x))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
|
|
+ template<typename T, qualifier Q>
|
|
|
|
|
+ template<typename X, typename Y, typename Z, typename W>
|
|
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(X _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w)
|
|
|
|
|
+ : x(static_cast<T>(_x))
|
|
|
|
|
+ , y(static_cast<T>(_y.x))
|
|
|
|
|
+ , z(static_cast<T>(_z.x))
|
|
|
|
|
+ , w(static_cast<T>(_w.x))
|
|
|
|
|
+ {}
|
|
|
|
|
+
|
|
|
template<typename T, qualifier Q>
|
|
template<typename T, qualifier Q>
|
|
|
template<typename X, typename Y, typename Z, typename W>
|
|
template<typename X, typename Y, typename Z, typename W>
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w)
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w)
|