|
#define | vec_splat(a, e) _mm_shuffle_ps((a), (a), _MM_SHUFFLE((e), (e), (e), (e))) |
|
#define | vec_splatd(a, e) _mm_shuffle_pd((a), (a), _MM_SHUFFLE2((e), (e))) |
|
#define | _mm_ror_ps(x, e) (((e) % 4) ? _mm_shuffle_ps((x), (x), _MM_SHUFFLE(((e)+3)%4, ((e)+2)%4, ((e)+1)%4, (e)%4)) : (x)) |
|
#define | _mm_rol_ps(x, e) (((e) % 4) ? _mm_shuffle_ps((x), (x), _MM_SHUFFLE((7-(e))%4, (6-(e))%4, (5-(e))%4, (4-(e))%4)) : (x)) |
|
|
static __m128 | fcl::details::vec_sel (__m128 a, __m128 b, __m128 mask) |
|
static __m128 | fcl::details::vec_sel (__m128 a, __m128 b, const unsigned int *mask) |
|
static __m128 | fcl::details::vec_sel (__m128 a, __m128 b, unsigned int mask) |
|
static __m128 | fcl::details::newtonraphson_rsqrt4 (const __m128 v) |
|
struct fcl::details::sse_meta_f4 | fcl::details::__attribute__ ((aligned(16))) |
|
| sse_meta_f4 () |
|
| sse_meta_f4 (float x) |
|
| sse_meta_f4 (float *px) |
|
| sse_meta_f4 (__m128 x) |
|
| sse_meta_f4 (float x, float y, float z, float w=1) |
|
void | setValue (float x, float y, float z, float w=1) |
|
void | setValue (float x) |
|
void | setValue (__m128 x) |
|
void | negate () |
|
sse_meta_f4 & | ubound (const sse_meta_f4 &u) |
|
sse_meta_f4 & | lbound (const sse_meta_f4 &l) |
|
void * | operator new[] (size_t n) |
|
void | operator delete[] (void *x) |
|
float | operator[] (size_t i) const |
|
sse_meta_f4 | operator+ (const sse_meta_f4 &other) const |
|
sse_meta_f4 | operator- (const sse_meta_f4 &other) const |
|
sse_meta_f4 | operator* (const sse_meta_f4 &other) const |
|
sse_meta_f4 | operator/ (const sse_meta_f4 &other) const |
|
sse_meta_f4 & | operator+= (const sse_meta_f4 &other) |
|
sse_meta_f4 & | operator-= (const sse_meta_f4 &other) |
|
sse_meta_f4 & | operator*= (const sse_meta_f4 &other) |
|
sse_meta_f4 & | operator/= (const sse_meta_f4 &other) |
|
sse_meta_f4 | operator+ (float t) const |
|
sse_meta_f4 | operator- (float t) const |
|
sse_meta_f4 | operator* (float t) const |
|
sse_meta_f4 | operator/ (float t) const |
|
sse_meta_f4 & | operator+= (float t) |
|
sse_meta_f4 & | operator-= (float t) |
|
sse_meta_f4 & | operator*= (float t) |
|
sse_meta_f4 & | operator/= (float t) |
|
sse_meta_f4 | operator- () const |
|
| sse_meta_d4 () |
|
| sse_meta_d4 (double x) |
|
| sse_meta_d4 (double *px) |
|
| sse_meta_d4 (__m128d x, __m128d y) |
|
| sse_meta_d4 (double x, double y, double z, double w=0) |
|
void | setValue (double x, double y, double z, double w=0) |
|
void | setValue (double x) |
|
void | setValue (__m128d x, __m128d y) |
|
sse_meta_d4 & | ubound (const sse_meta_d4 &u) |
|
sse_meta_d4 & | lbound (const sse_meta_d4 &l) |
|
sse_meta_d4 | operator+ (const sse_meta_d4 &other) const |
|
sse_meta_d4 | operator- (const sse_meta_d4 &other) const |
|
sse_meta_d4 | operator* (const sse_meta_d4 &other) const |
|
sse_meta_d4 | operator/ (const sse_meta_d4 &other) const |
|
sse_meta_d4 & | operator+= (const sse_meta_d4 &other) |
|
sse_meta_d4 & | operator-= (const sse_meta_d4 &other) |
|
sse_meta_d4 & | operator*= (const sse_meta_d4 &other) |
|
sse_meta_d4 & | operator/= (const sse_meta_d4 &other) |
|
sse_meta_d4 | operator+ (double t) const |
|
sse_meta_d4 | operator- (double t) const |
|
sse_meta_d4 | operator* (double t) const |
|
sse_meta_d4 | operator/ (double t) const |
|
sse_meta_d4 & | operator+= (double t) |
|
sse_meta_d4 & | operator-= (double t) |
|
sse_meta_d4 & | operator*= (double t) |
|
sse_meta_d4 & | operator/= (double t) |
|
static __m128 | fcl::details::cross_prod (__m128 x, __m128 y) |
|
static sse_meta_f4 | fcl::details::cross_prod (const sse_meta_f4 &x, const sse_meta_f4 &y) |
|
static void | fcl::details::cross_prod (__m128d x0, __m128d x1, __m128d y0, __m128d y1, __m128d *z0, __m128d *z1) |
|
static sse_meta_d4 | fcl::details::cross_prod (const sse_meta_d4 &x, const sse_meta_d4 &y) |
|
static __m128 | fcl::details::dot_prod3 (__m128 x, __m128 y) |
|
static float | fcl::details::dot_prod3 (const sse_meta_f4 &x, const sse_meta_f4 &y) |
|
static __m128d | fcl::details::dot_prod3 (__m128d x0, __m128d x1, __m128d y0, __m128d y1) |
|
static double | fcl::details::dot_prod3 (const sse_meta_d4 &x, const sse_meta_d4 &y) |
|
static __m128 | fcl::details::dot_prod4 (__m128 x, __m128 y) |
|
static float | fcl::details::dot_prod4 (const sse_meta_f4 &x, const sse_meta_f4 &y) |
|
static __m128d | fcl::details::dot_prod4 (__m128d x0, __m128d x1, __m128d y0, __m128d y1) |
|
static double | fcl::details::dot_prod4 (const sse_meta_d4 &x, const sse_meta_d4 &y) |
|
static sse_meta_f4 | fcl::details::min (const sse_meta_f4 &x, const sse_meta_f4 &y) |
|
static sse_meta_d4 | fcl::details::min (const sse_meta_d4 &x, const sse_meta_d4 &y) |
|
static sse_meta_f4 | fcl::details::max (const sse_meta_f4 &x, const sse_meta_f4 &y) |
|
static sse_meta_d4 | fcl::details::max (const sse_meta_d4 &x, const sse_meta_d4 &y) |
|
static sse_meta_f4 | fcl::details::abs (const sse_meta_f4 &x) |
|
static sse_meta_d4 | fcl::details::abs (const sse_meta_d4 &x) |
|
static bool | fcl::details::equal (const sse_meta_f4 &x, const sse_meta_f4 &y, float epsilon) |
|
static bool | fcl::details::equal (const sse_meta_d4 &x, const sse_meta_d4 &y, double epsilon) |
|
static sse_meta_f4 | fcl::details::normalize3 (const sse_meta_f4 &x) |
|
static sse_meta_f4 | fcl::details::normalize3_approx (const sse_meta_f4 &x) |
|
static void | fcl::details::transpose (__m128 c0, __m128 c1, __m128 c2, __m128 *r0, __m128 *r1, __m128 *r2) |
|
static void | fcl::details::inverse (__m128 c0, __m128 c1, __m128 c2, __m128 *i0, __m128 *i1, __m128 *i2) |
|
static sse_meta_f12 | fcl::details::abs (const sse_meta_f12 &mat) |
|
static sse_meta_f12 | fcl::details::transpose (const sse_meta_f12 &mat) |
|
static sse_meta_f12 | fcl::details::inverse (const sse_meta_f12 &mat) |
|
static void | fcl::details::transpose (__m128 c0, __m128 c1, __m128 c2, __m128 c3, __m128 *r0, __m128 *r1, __m128 *r2, __m128 *r3) |
|
static void | fcl::details::inverse (__m128 c0, __m128 c1, __m128 c2, __m128 c3, __m128 *res0, __m128 *res1, __m128 *res2, __m128 *res3) |
|
static sse_meta_f16 | fcl::details::abs (const sse_meta_f16 &mat) |
|
static sse_meta_f16 | fcl::details::transpose (const sse_meta_f16 &mat) |
|
static sse_meta_f16 | fcl::details::inverse (const sse_meta_f16 &mat) |
|