|
|
|
@ -188,26 +188,26 @@ namespace detail |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD tvec4<T, P>::tvec4(T a, T b, T c, T d) |
|
|
|
|
: x(a), y(b), z(c), w(d) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD tvec4<T, P>::tvec4(T _a, T _b, T c, T d) |
|
|
|
|
: x(_a), y(_b), z(c), w(d) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
// -- Conversion scalar constructors -- |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
template <typename A, typename B, typename C, typename D> |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD tvec4<T, P>::tvec4(A a, B b, C c, D d) : |
|
|
|
|
x(static_cast<T>(a)), |
|
|
|
|
y(static_cast<T>(b)), |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_SIMD tvec4<T, P>::tvec4(A _a, B _b, C c, D d) : |
|
|
|
|
x(static_cast<T>(_a)), |
|
|
|
|
y(static_cast<T>(_b)), |
|
|
|
|
z(static_cast<T>(c)), |
|
|
|
|
w(static_cast<T>(d)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
template <typename A, typename B, typename C, typename D> |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR tvec4<T, P>::tvec4(tvec1<A, P> const & a, tvec1<B, P> const & b, tvec1<C, P> const & c, tvec1<D, P> const & d) : |
|
|
|
|
x(static_cast<T>(a.x)), |
|
|
|
|
y(static_cast<T>(b.x)), |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR tvec4<T, P>::tvec4(tvec1<A, P> const & _a, tvec1<B, P> const & _b, tvec1<C, P> const & c, tvec1<D, P> const & d) : |
|
|
|
|
x(static_cast<T>(_a.x)), |
|
|
|
|
y(static_cast<T>(_b.x)), |
|
|
|
|
z(static_cast<T>(c.x)), |
|
|
|
|
w(static_cast<T>(d.x)) |
|
|
|
|
{} |
|
|
|
@ -216,19 +216,19 @@ namespace detail |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
template <typename A, typename B, typename C, precision Q> |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec2<A, Q> const & a, B b, C c) : |
|
|
|
|
x(static_cast<T>(a.x)), |
|
|
|
|
y(static_cast<T>(a.y)), |
|
|
|
|
z(static_cast<T>(b)), |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec2<A, Q> const & _a, B _b, C c) : |
|
|
|
|
x(static_cast<T>(_a.x)), |
|
|
|
|
y(static_cast<T>(_a.y)), |
|
|
|
|
z(static_cast<T>(_b)), |
|
|
|
|
w(static_cast<T>(c)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
template <typename A, typename B, typename C, precision Q> |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec2<A, Q> const & a, tvec1<B, Q> const & b, tvec1<C, Q> const & c) : |
|
|
|
|
x(static_cast<T>(a.x)), |
|
|
|
|
y(static_cast<T>(a.y)), |
|
|
|
|
z(static_cast<T>(b.x)), |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec2<A, Q> const & _a, tvec1<B, Q> const & _b, tvec1<C, Q> const & c) : |
|
|
|
|
x(static_cast<T>(_a.x)), |
|
|
|
|
y(static_cast<T>(_a.y)), |
|
|
|
|
z(static_cast<T>(_b.x)), |
|
|
|
|
w(static_cast<T>(c.x)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
@ -243,10 +243,10 @@ namespace detail |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
template <typename A, typename B, typename C, precision Q> |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec1<A, Q> const & a, tvec2<B, Q> const & b, tvec1<C, Q> const & c) : |
|
|
|
|
x(static_cast<T>(a.x)), |
|
|
|
|
y(static_cast<T>(b.x)), |
|
|
|
|
z(static_cast<T>(b.y)), |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec1<A, Q> const & _a, tvec2<B, Q> const & _b, tvec1<C, Q> const & c) : |
|
|
|
|
x(static_cast<T>(_a.x)), |
|
|
|
|
y(static_cast<T>(_b.x)), |
|
|
|
|
z(static_cast<T>(_b.y)), |
|
|
|
|
w(static_cast<T>(c.x)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
@ -261,56 +261,56 @@ namespace detail |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
template <typename A, typename B, typename C, precision Q> |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec1<A, Q> const & a, tvec1<B, Q> const & b, tvec2<C, Q> const & c) : |
|
|
|
|
x(static_cast<T>(a.x)), |
|
|
|
|
y(static_cast<T>(b.x)), |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec1<A, Q> const & _a, tvec1<B, Q> const & _b, tvec2<C, Q> const & c) : |
|
|
|
|
x(static_cast<T>(_a.x)), |
|
|
|
|
y(static_cast<T>(_b.x)), |
|
|
|
|
z(static_cast<T>(c.x)), |
|
|
|
|
w(static_cast<T>(c.y)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
template <typename A, typename B, precision Q> |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec3<A, Q> const & a, B b) : |
|
|
|
|
x(static_cast<T>(a.x)), |
|
|
|
|
y(static_cast<T>(a.y)), |
|
|
|
|
z(static_cast<T>(a.z)), |
|
|
|
|
w(static_cast<T>(b)) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec3<A, Q> const & _a, B _b) : |
|
|
|
|
x(static_cast<T>(_a.x)), |
|
|
|
|
y(static_cast<T>(_a.y)), |
|
|
|
|
z(static_cast<T>(_a.z)), |
|
|
|
|
w(static_cast<T>(_b)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
template <typename A, typename B, precision Q> |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec3<A, Q> const & a, tvec1<B, Q> const & b) : |
|
|
|
|
x(static_cast<T>(a.x)), |
|
|
|
|
y(static_cast<T>(a.y)), |
|
|
|
|
z(static_cast<T>(a.z)), |
|
|
|
|
w(static_cast<T>(b.x)) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec3<A, Q> const & _a, tvec1<B, Q> const & _b) : |
|
|
|
|
x(static_cast<T>(_a.x)), |
|
|
|
|
y(static_cast<T>(_a.y)), |
|
|
|
|
z(static_cast<T>(_a.z)), |
|
|
|
|
w(static_cast<T>(_b.x)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
template <typename A, typename B, precision Q> |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(A a, tvec3<B, Q> const & b) : |
|
|
|
|
x(static_cast<T>(a)), |
|
|
|
|
y(static_cast<T>(b.x)), |
|
|
|
|
z(static_cast<T>(b.y)), |
|
|
|
|
w(static_cast<T>(b.z)) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(A _a, tvec3<B, Q> const & _b) : |
|
|
|
|
x(static_cast<T>(_a)), |
|
|
|
|
y(static_cast<T>(_b.x)), |
|
|
|
|
z(static_cast<T>(_b.y)), |
|
|
|
|
w(static_cast<T>(_b.z)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
template <typename A, typename B, precision Q> |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec1<A, Q> const & a, tvec3<B, Q> const & b) : |
|
|
|
|
x(static_cast<T>(a.x)), |
|
|
|
|
y(static_cast<T>(b.x)), |
|
|
|
|
z(static_cast<T>(b.y)), |
|
|
|
|
w(static_cast<T>(b.z)) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec1<A, Q> const & _a, tvec3<B, Q> const & _b) : |
|
|
|
|
x(static_cast<T>(_a.x)), |
|
|
|
|
y(static_cast<T>(_b.x)), |
|
|
|
|
z(static_cast<T>(_b.y)), |
|
|
|
|
w(static_cast<T>(_b.z)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
template <typename A, typename B, precision Q> |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec2<A, Q> const & a, tvec2<B, Q> const & b) : |
|
|
|
|
x(static_cast<T>(a.x)), |
|
|
|
|
y(static_cast<T>(a.y)), |
|
|
|
|
z(static_cast<T>(b.x)), |
|
|
|
|
w(static_cast<T>(b.y)) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR tvec4<T, P>::tvec4(tvec2<A, Q> const & _a, tvec2<B, Q> const & _b) : |
|
|
|
|
x(static_cast<T>(_a.x)), |
|
|
|
|
y(static_cast<T>(_a.y)), |
|
|
|
|
z(static_cast<T>(_b.x)), |
|
|
|
|
w(static_cast<T>(_b.y)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|