diff options
Diffstat (limited to '')
-rw-r--r-- | external/include/glm/detail/_vectorize.hpp | 102 |
1 files changed, 51 insertions, 51 deletions
diff --git a/external/include/glm/detail/_vectorize.hpp b/external/include/glm/detail/_vectorize.hpp index a08ed34..2e577a8 100644 --- a/external/include/glm/detail/_vectorize.hpp +++ b/external/include/glm/detail/_vectorize.hpp @@ -11,120 +11,120 @@ namespace glm{ namespace detail { - template <typename R, typename T, precision P, template <typename, precision> class vecType> + template<length_t L, typename R, typename T, qualifier Q> struct functor1{}; - template <typename R, typename T, precision P> - struct functor1<R, T, P, tvec1> + template<typename R, typename T, qualifier Q> + struct functor1<1, R, T, Q> { - GLM_FUNC_QUALIFIER static tvec1<R, P> call(R (*Func) (T x), tvec1<T, P> const & v) + GLM_FUNC_QUALIFIER static vec<1, R, Q> call(R (*Func) (T x), vec<1, T, Q> const& v) { - return tvec1<R, P>(Func(v.x)); + return vec<1, R, Q>(Func(v.x)); } }; - template <typename R, typename T, precision P> - struct functor1<R, T, P, tvec2> + template<typename R, typename T, qualifier Q> + struct functor1<2, R, T, Q> { - GLM_FUNC_QUALIFIER static tvec2<R, P> call(R (*Func) (T x), tvec2<T, P> const & v) + GLM_FUNC_QUALIFIER static vec<2, R, Q> call(R (*Func) (T x), vec<2, T, Q> const& v) { - return tvec2<R, P>(Func(v.x), Func(v.y)); + return vec<2, R, Q>(Func(v.x), Func(v.y)); } }; - template <typename R, typename T, precision P> - struct functor1<R, T, P, tvec3> + template<typename R, typename T, qualifier Q> + struct functor1<3, R, T, Q> { - GLM_FUNC_QUALIFIER static tvec3<R, P> call(R (*Func) (T x), tvec3<T, P> const & v) + GLM_FUNC_QUALIFIER static vec<3, R, Q> call(R (*Func) (T x), vec<3, T, Q> const& v) { - return tvec3<R, P>(Func(v.x), Func(v.y), Func(v.z)); + return vec<3, R, Q>(Func(v.x), Func(v.y), Func(v.z)); } }; - template <typename R, typename T, precision P> - struct functor1<R, T, P, tvec4> + template<typename R, typename T, qualifier Q> + struct functor1<4, R, T, Q> { - GLM_FUNC_QUALIFIER static tvec4<R, P> call(R (*Func) (T x), tvec4<T, P> const & v) + GLM_FUNC_QUALIFIER static vec<4, R, Q> call(R (*Func) (T x), vec<4, T, Q> const& v) { - return tvec4<R, P>(Func(v.x), Func(v.y), Func(v.z), Func(v.w)); + return vec<4, R, Q>(Func(v.x), Func(v.y), Func(v.z), Func(v.w)); } }; - template <typename T, precision P, template <typename, precision> class vecType> + template<length_t L, typename T, qualifier Q> struct functor2{}; - template <typename T, precision P> - struct functor2<T, P, tvec1> + template<typename T, qualifier Q> + struct functor2<1, T, Q> { - GLM_FUNC_QUALIFIER static tvec1<T, P> call(T (*Func) (T x, T y), tvec1<T, P> const & a, tvec1<T, P> const & b) + GLM_FUNC_QUALIFIER static vec<1, T, Q> call(T (*Func) (T x, T y), vec<1, T, Q> const& a, vec<1, T, Q> const& b) { - return tvec1<T, P>(Func(a.x, b.x)); + return vec<1, T, Q>(Func(a.x, b.x)); } }; - template <typename T, precision P> - struct functor2<T, P, tvec2> + template<typename T, qualifier Q> + struct functor2<2, T, Q> { - GLM_FUNC_QUALIFIER static tvec2<T, P> call(T (*Func) (T x, T y), tvec2<T, P> const & a, tvec2<T, P> const & b) + GLM_FUNC_QUALIFIER static vec<2, T, Q> call(T (*Func) (T x, T y), vec<2, T, Q> const& a, vec<2, T, Q> const& b) { - return tvec2<T, P>(Func(a.x, b.x), Func(a.y, b.y)); + return vec<2, T, Q>(Func(a.x, b.x), Func(a.y, b.y)); } }; - template <typename T, precision P> - struct functor2<T, P, tvec3> + template<typename T, qualifier Q> + struct functor2<3, T, Q> { - GLM_FUNC_QUALIFIER static tvec3<T, P> call(T (*Func) (T x, T y), tvec3<T, P> const & a, tvec3<T, P> const & b) + GLM_FUNC_QUALIFIER static vec<3, T, Q> call(T (*Func) (T x, T y), vec<3, T, Q> const& a, vec<3, T, Q> const& b) { - return tvec3<T, P>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z)); + return vec<3, T, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z)); } }; - template <typename T, precision P> - struct functor2<T, P, tvec4> + template<typename T, qualifier Q> + struct functor2<4, T, Q> { - GLM_FUNC_QUALIFIER static tvec4<T, P> call(T (*Func) (T x, T y), tvec4<T, P> const & a, tvec4<T, P> const & b) + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(T (*Func) (T x, T y), vec<4, T, Q> const& a, vec<4, T, Q> const& b) { - return tvec4<T, P>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w)); + return vec<4, T, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w)); } }; - template <typename T, precision P, template <typename, precision> class vecType> + template<length_t L, typename T, qualifier Q> struct functor2_vec_sca{}; - template <typename T, precision P> - struct functor2_vec_sca<T, P, tvec1> + template<typename T, qualifier Q> + struct functor2_vec_sca<1, T, Q> { - GLM_FUNC_QUALIFIER static tvec1<T, P> call(T (*Func) (T x, T y), tvec1<T, P> const & a, T b) + GLM_FUNC_QUALIFIER static vec<1, T, Q> call(T (*Func) (T x, T y), vec<1, T, Q> const& a, T b) { - return tvec1<T, P>(Func(a.x, b)); + return vec<1, T, Q>(Func(a.x, b)); } }; - template <typename T, precision P> - struct functor2_vec_sca<T, P, tvec2> + template<typename T, qualifier Q> + struct functor2_vec_sca<2, T, Q> { - GLM_FUNC_QUALIFIER static tvec2<T, P> call(T (*Func) (T x, T y), tvec2<T, P> const & a, T b) + GLM_FUNC_QUALIFIER static vec<2, T, Q> call(T (*Func) (T x, T y), vec<2, T, Q> const& a, T b) { - return tvec2<T, P>(Func(a.x, b), Func(a.y, b)); + return vec<2, T, Q>(Func(a.x, b), Func(a.y, b)); } }; - template <typename T, precision P> - struct functor2_vec_sca<T, P, tvec3> + template<typename T, qualifier Q> + struct functor2_vec_sca<3, T, Q> { - GLM_FUNC_QUALIFIER static tvec3<T, P> call(T (*Func) (T x, T y), tvec3<T, P> const & a, T b) + GLM_FUNC_QUALIFIER static vec<3, T, Q> call(T (*Func) (T x, T y), vec<3, T, Q> const& a, T b) { - return tvec3<T, P>(Func(a.x, b), Func(a.y, b), Func(a.z, b)); + return vec<3, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b)); } }; - template <typename T, precision P> - struct functor2_vec_sca<T, P, tvec4> + template<typename T, qualifier Q> + struct functor2_vec_sca<4, T, Q> { - GLM_FUNC_QUALIFIER static tvec4<T, P> call(T (*Func) (T x, T y), tvec4<T, P> const & a, T b) + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(T (*Func) (T x, T y), vec<4, T, Q> const& a, T b) { - return tvec4<T, P>(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b)); + return vec<4, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b)); } }; }//namespace detail |