|
template<typename T , template< typename, SIMD > class VecT> |
LM_INLINE auto | operator+ (const VecT< T, SIMD::None > &v1, const VecT< T, SIMD::None > &v2) -> VecT< T, SIMD::None > |
|
template<template< typename, SIMD > class VecT> |
LM_INLINE auto | operator+ (const VecT< float, SIMD::SSE > &v1, const VecT< float, SIMD::SSE > &v2) -> VecT< float, SIMD::SSE > |
|
template<template< typename, SIMD > class VecT> |
LM_INLINE auto | operator+ (const VecT< double, SIMD::AVX > &v1, const VecT< double, SIMD::AVX > &v2) -> VecT< double, SIMD::AVX > |
|
template<typename T , template< typename, SIMD > class VecT> |
LM_INLINE auto | operator- (const VecT< T, SIMD::None > &v1, const VecT< T, SIMD::None > &v2) -> VecT< T, SIMD::None > |
|
template<template< typename, SIMD > class VecT> |
LM_INLINE auto | operator- (const VecT< float, SIMD::SSE > &v1, const VecT< float, SIMD::SSE > &v2) -> VecT< float, SIMD::SSE > |
|
template<template< typename, SIMD > class VecT> |
LM_INLINE auto | operator- (const VecT< double, SIMD::AVX > &v1, const VecT< double, SIMD::AVX > &v2) -> VecT< double, SIMD::AVX > |
|
template<typename T , SIMD Opt, template< typename, SIMD > class VecT, typename = EnableIfVecType<T, Opt, VecT>> |
LM_INLINE auto | operator* (const VecT< T, Opt > &v1, const VecT< T, Opt > &v2) -> VecT< T, Opt > |
|
template<typename T , SIMD Opt, template< typename, SIMD > class VecT, typename = EnableIfVecType<T, Opt, VecT>> |
LM_INLINE auto | operator* (const VecT< T, Opt > &v, const T &s) -> VecT< T, Opt > |
|
template<typename T , SIMD Opt, template< typename, SIMD > class VecT, typename = EnableIfVecType<T, Opt, VecT>> |
LM_INLINE auto | operator* (const T &s, const VecT< T, Opt > &v) -> VecT< T, Opt > |
|
template<typename T , SIMD Opt> |
LM_INLINE auto | operator* (const TMat3< T, Opt > &m1, const TMat3< T, Opt > &m2) -> TMat3< T, Opt > |
|
template<typename T , SIMD Opt> |
LM_INLINE auto | operator* (const TMat4< T, Opt > &m1, const TMat4< T, Opt > &m2) -> TMat4< T, Opt > |
|
template<typename T , SIMD Opt> |
LM_INLINE auto | operator* (const TMat3< T, Opt > &m, const TVec3< T, Opt > &v) -> TVec3< T, Opt > |
|
template<typename T , SIMD Opt> |
LM_INLINE auto | operator* (const TMat4< T, Opt > &m, const TVec4< T, Opt > &v) -> TVec4< T, Opt > |
|
template<typename T , SIMD Opt> |
LM_INLINE auto | operator* (const TMat3< T, Opt > &m, const T &s) -> TMat3< T, Opt > |
|
template<typename T , SIMD Opt> |
LM_INLINE auto | operator* (const TMat4< T, Opt > &m, const T &s) -> TMat4< T, Opt > |
|
template<typename T , SIMD Opt, template< typename, SIMD > class VecT> |
LM_INLINE auto | operator/ (const VecT< T, Opt > &v1, const VecT< T, Opt > &v2) -> VecT< T, Opt > |
|
template<typename T , SIMD Opt, template< typename, SIMD > class VecT, typename = EnableIfVecType<T, Opt, VecT>> |
LM_INLINE auto | operator/ (const VecT< T, Opt > &v, const T &s) -> VecT< T, Opt > |
|
template<typename T , template< typename, SIMD > class VecT> |
LM_INLINE auto | operator- (const VecT< T, SIMD::None > &v) -> VecT< T, SIMD::None > |
|
Basic math objects.