Effekseer
|
simd class for generic [詳解]
#include <Effekseer.SIMD.h>
公開メンバ関数 | |
Float4 (const Float4 &rhs)=default | |
Float4 (float x, float y, float z, float w) | |
Float4 (float i) | |
float | GetX () const |
float | GetY () const |
float | GetZ () const |
float | GetW () const |
void | SetX (float o) |
void | SetY (float o) |
void | SetZ (float o) |
void | SetW (float o) |
template<size_t LANE> | |
Float4 | Dup () |
Int4 | Convert4i () const |
Int4 | Cast4i () const |
Float4 & | operator+= (const Float4 &rhs) |
Float4 & | operator-= (const Float4 &rhs) |
Float4 & | operator*= (const Float4 &rhs) |
Float4 & | operator*= (float rhs) |
Float4 & | operator/= (const Float4 &rhs) |
Float4 & | operator/= (float rhs) |
静的公開メンバ関数 | |
static Float4 | Load2 (const void *mem) |
static void | Store2 (void *mem, const Float4 &i) |
static Float4 | Load3 (const void *mem) |
static void | Store3 (void *mem, const Float4 &i) |
static Float4 | Load4 (const void *mem) |
static void | Store4 (void *mem, const Float4 &i) |
static Float4 | SetZero () |
static Float4 | SetInt (int32_t x, int32_t y, int32_t z, int32_t w) |
static Float4 | SetUInt (uint32_t x, uint32_t y, uint32_t z, uint32_t w) |
static Float4 | Sqrt (const Float4 &in) |
static Float4 | Rsqrt (const Float4 &in) |
static Float4 | Abs (const Float4 &in) |
static Float4 | Min (const Float4 &lhs, const Float4 &rhs) |
static Float4 | Max (const Float4 &lhs, const Float4 &rhs) |
static Float4 | Floor (const Float4 &in) |
static Float4 | Ceil (const Float4 &in) |
static Float4 | MulAdd (const Float4 &a, const Float4 &b, const Float4 &c) |
static Float4 | MulSub (const Float4 &a, const Float4 &b, const Float4 &c) |
template<size_t LANE> | |
static Float4 | MulLane (const Float4 &lhs, const Float4 &rhs) |
template<size_t LANE> | |
static Float4 | MulAddLane (const Float4 &a, const Float4 &b, const Float4 &c) |
template<size_t LANE> | |
static Float4 | MulSubLane (const Float4 &a, const Float4 &b, const Float4 &c) |
template<uint32_t indexX, uint32_t indexY, uint32_t indexZ, uint32_t indexW> | |
static Float4 | Swizzle (const Float4 &in) |
static Float4 | Dot3 (const Float4 &lhs, const Float4 &rhs) |
static Float4 | Cross3 (const Float4 &lhs, const Float4 &rhs) |
template<uint32_t X, uint32_t Y, uint32_t Z, uint32_t W> | |
static Float4 | Mask () |
static uint32_t | MoveMask (const Float4 &in) |
static Float4 | Select (const Float4 &mask, const Float4 &sel1, const Float4 &sel2) |
static Float4 | Equal (const Float4 &lhs, const Float4 &rhs) |
static Float4 | NotEqual (const Float4 &lhs, const Float4 &rhs) |
static Float4 | LessThan (const Float4 &lhs, const Float4 &rhs) |
static Float4 | LessEqual (const Float4 &lhs, const Float4 &rhs) |
static Float4 | GreaterThan (const Float4 &lhs, const Float4 &rhs) |
static Float4 | GreaterEqual (const Float4 &lhs, const Float4 &rhs) |
static Float4 | NearEqual (const Float4 &lhs, const Float4 &rhs, float epsilon=DefaultEpsilon) |
static Float4 | IsZero (const Float4 &in, float epsilon=DefaultEpsilon) |
static void | Transpose (Float4 &s0, Float4 &s1, Float4 &s2, Float4 &s3) |
公開変数類 | |
union { | |
float vf [4] | |
int32_t vi [4] | |
uint32_t vu [4] | |
}; | |
simd class for generic