|
template<size_t N> |
static f128 | SetZeroToLane (f128arg value) noexcept |
| value のレーンN に0.fを設定します。 [詳解]
|
|
|
static f128 | SetValue (float v, each_float_tag) noexcept |
| 4個の32bitのレーンに単精度浮動小数点数を設定します。
|
|
static f128 | SetValue (uint32_t v, each_uint32_tag) noexcept |
| 4個の32bitのレーンに32bit符号なし整数をビットをそのままに設定します。
|
|
static f128 | SetValue (float a, float b, float c, float d) noexcept |
| 4個の32bitのレーンにそれぞれ単精度浮動小数点数を設定します。
|
|
template<size_t N> |
static f128 | SetValue (f128arg value, each_select32_tag) noexcept |
| value のレーンN の単精度浮動小数点数を全てのレーンに設定します。 [詳解]
|
|
static f128 | SetZero () noexcept |
| 全てのレーンに0.fを設定します。
|
|
static f128 | SetOne () noexcept |
| 全てのレーンに1.fを設定します。
|
|
static f128 | SetNegativeOne () noexcept |
| 全てのレーンに-1.fを設定します。
|
|
static f128 | SetEpsilon () noexcept |
| 全てのレーンにepsilon (1.0e-7f)を設定します。
|
|
static f128 | SetInfinity () noexcept |
| 全てのレーンに正の無限大(0x7F800000U)を設定します。
|
|
static f128 | SetNaN () noexcept |
| 全てのレーンにNaN (0x7FC00000U)を設定します。
|
|
static f128 | SetSignMask () noexcept |
| 全てのレーンに-0.f(0x80000000U)を設定します。
|
|
|
static f128 | LoadA16 (const float *p) noexcept |
| 16バイトアライメントのアドレスp から16バイトのデータを読み込み値を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static f128 | LoadA8 (const float *p) noexcept |
| 8バイトアライメントのアドレスp から16バイトのデータを読み込み値を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static f128 | LoadA4 (const float *p) noexcept |
| 4バイトアライメントのアドレスp から16バイトのデータを読み込み値を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static f128 | LoadA16 (uintptr_t p) noexcept |
| LoadA16(const float* p) をラップします。
|
|
static f128 | LoadA8 (uintptr_t p) noexcept |
| LoadA8(const float* p) をラップします。
|
|
static f128 | LoadA4 (uintptr_t p) noexcept |
| LoadA4(const float* p) をラップします。
|
|
static f128 | LoadA16 (intptr_t p) noexcept |
| LoadA16(const float* p) をラップします。
|
|
static f128 | LoadA8 (intptr_t p) noexcept |
| LoadA8(const float* p) をラップします。
|
|
static f128 | LoadA4 (intptr_t p) noexcept |
| LoadA4(const float* p) をラップします。
|
|
|
static void | StoreA16 (float *p, f128arg value) noexcept |
| 16バイトアライメントのアドレスp へvalue の16バイトのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreA8 (float *p, f128arg value) noexcept |
| 8バイトアライメントのアドレスp へvalue の16バイトのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreA4 (float *p, f128arg value) noexcept |
| 4バイトアライメントのアドレスp へvalue の16バイトのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreA16 (uintptr_t p, f128arg value) noexcept |
| StoreA16(float* p, f128arg value) をラップします。
|
|
static void | StoreA8 (uintptr_t p, f128arg value) noexcept |
| StoreA8(float* p, f128arg value) をラップします。
|
|
static void | StoreA4 (uintptr_t p, f128arg value) noexcept |
| StoreA4(float* p, f128arg value) をラップします。
|
|
static void | StoreA16 (intptr_t p, f128arg value) noexcept |
| StoreA16(float* p, f128arg value) をラップします。
|
|
static void | StoreA8 (intptr_t p, f128arg value) noexcept |
| StoreA8(float* p, f128arg value) をラップします。
|
|
static void | StoreA4 (intptr_t p, f128arg value) noexcept |
| StoreA4(float* p, f128arg value) をラップします。
|
|
static void | StoreLoA8 (float *p, f128arg value) noexcept |
| 8バイトアライメントのアドレスp へvalue の下位64bitのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreLoA4 (float *p, f128arg value) noexcept |
| 4バイトアライメントのアドレスp へvalue の下位64bitのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreLoA8 (uintptr_t p, f128arg value) noexcept |
| StoreLoA8(float* p, f128arg value) をラップします。
|
|
static void | StoreLoA4 (uintptr_t p, f128arg value) noexcept |
| StoreLoA4(float* p, f128arg value) をラップします。
|
|
static void | StoreLoA8 (intptr_t p, f128arg value) noexcept |
| StoreLoA8(float* p, f128arg value) をラップします。
|
|
static void | StoreLoA4 (intptr_t p, f128arg value) noexcept |
| StoreLoA4(float* p, f128arg value) をラップします。
|
|
static void | StoreHiA8 (float *p, f128arg value) noexcept |
| 8バイトアライメントのアドレスp へvalue の上位64bitのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreHiA4 (float *p, f128arg value) noexcept |
| 4バイトアライメントのアドレスp へvalue の上位64bitのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreHiA8 (uintptr_t p, f128arg value) noexcept |
| StoreHiA8(float* p, f128arg value) をラップします。
|
|
static void | StoreHiA4 (uintptr_t p, f128arg value) noexcept |
| StoreHiA4(float* p, f128arg value) をラップします。
|
|
static void | StoreHiA8 (intptr_t p, f128arg value) noexcept |
| StoreHiA8(float* p, f128arg value) をラップします。
|
|
static void | StoreHiA4 (intptr_t p, f128arg value) noexcept |
| StoreHiA4(float* p, f128arg value) をラップします。
|
|
|
static f128 | ConvertFromI128 (i128 value) noexcept |
| value から32bitの符号付き整数をそれぞれ単精度浮動小数点数に変換して返します。 [詳解]
|
|
static i128 | ConvertToI128Round (f128 value) noexcept |
| value を4つの32bitの符号付き整数に変換して返します。小数点以下は0の方向に丸められます。 [詳解]
|
|
static i128 | ConvertToI128Truncate (f128 value) noexcept |
| value を4つの32bitの符号付き整数に変換して返します。小数点以下は0の方向に切り捨てられます。 [詳解]
|
|
static f128 | CastFromI128 (i128 value) noexcept |
| value の全てのビットをそのままに f128 に変換して返します。 [詳解]
|
|
static i128 | CastToI128 (f128 value) noexcept |
| value の全てのビットをそのままに i128 に変換して返します。 [詳解]
|
|
template<int N> |
static f128 | ConvertFromFixedPoint (i128arg value) noexcept |
| 4個の固定小数点数を4個の単精度浮動小数点数に変換します。 [詳解]
|
|
template<int N> |
static i128 | ConvertToFixedPoint (f128arg value) noexcept |
| 4個の単精度浮動小数点数を4個の固定小数点数に変換します。 [詳解]
|
|
|
static f128 | Add (f128arg a, f128arg b) noexcept |
| a , b の同一レーンの浮動小数点数を加算した値を返します。
|
|
static f128 | Sub (f128arg a, f128arg b) noexcept |
| a , b の同一レーンの浮動小数点数を減算した値を返します。
|
|
static f128 | Mult (f128arg a, f128arg b) noexcept |
| a , b の同一レーンの浮動小数点数を乗算した値を返します。
|
|
static f128 | Mult (float a, f128arg b) noexcept |
| b の各レーンに対して、a を乗算した値を返します。
|
|
template<size_t N> |
static f128 | Mult (f128arg a, f128arg b, each_select32_tag) noexcept |
| a[N] * b に相当する乗算を行います。
|
|
static f128 | Div (f128arg a, f128arg b) noexcept |
| a , b の同一レーンの浮動小数点数を除算した値を返します。ゼロ除算の場合は正か負の無限大を返します。
|
|
static f128 | Negate (f128arg value) noexcept |
| value の各レーンの浮動小数点数の符号を反転させます。
|
|
template<bool NegateLane0, bool NegateLane1, bool NegateLane2, bool NegateLane3> |
static f128 | NegateEx (f128arg value) noexcept |
| value の各レーンの符号を反転します。レーン毎に符号を反転するかどうかを設定できます。 [詳解]
|
|
static f128 | MultAdd (f128arg a, f128arg b, f128arg c) noexcept |
| c + a * b に相当する積和演算を行います。
|
|
static f128 | MultAdd (float a, f128arg b, f128arg c) noexcept |
| c + a * b に相当する積和演算を行います。
|
|
template<size_t N> |
static f128 | MultAdd (f128arg a, f128arg b, f128arg c, each_select32_tag) noexcept |
| c + a[N] * b に相当する積和演算を行います。
|
|
static f128 | MultSub (f128arg a, f128arg b, f128arg c) noexcept |
| c - a * b に相当する積和演算を行います。
|
|
static f128 | MultSub (float a, f128arg b, f128arg c) noexcept |
| c - a * b に相当する積和演算を行います。
|
|
template<size_t N> |
static f128 | MultSub (f128arg a, f128arg b, f128arg c, each_select32_tag) noexcept |
| c - a[N] * b に相当する積和演算を行います。
|
|
static f128 | PairwiseAdd (f128arg a, f128arg b) noexcept |
| a , b に対して水平加算を行い、結果を1つの128bit値にまとめます。 [詳解]
|
|
static f128 | Abs (f128arg value) noexcept |
| value の各レーンの絶対値を計算して返します。
|
|
static f128 | AbsDiff (f128arg a, f128arg b) noexcept |
| a と b の各レーンの差分の絶対値を計算して返します。
|
|
|
static f128 | Max (f128arg a, f128arg b) noexcept |
| a , b の同一レーンの値を比較して、大きい方の値を選択した値を返します。 [詳解]
|
|
static f128 | Min (f128arg a, f128arg b) noexcept |
| a , b の同一レーンの値を比較して、小さい方の値を選択した値を返します。 [詳解]
|
|
static f128 | PairwiseMax (f128arg a, f128arg b) noexcept |
| a , b の隣り合うレーンの値を比較して、大きい方の値を選択した値を返します。 [詳解]
|
|
static f128 | PairwiseMin (f128arg a, f128arg b) noexcept |
| a , b の隣り合うレーンの値を比較して、小さい方の値を選択した値を返します。 [詳解]
|
|
static f128 | Clamp (f128arg value, f128arg min, f128arg max) noexcept |
| value の各レーンの値が、 min の同一レーンの値未満の場合はmin に、max の同一レーンの値より大きい場合はmax にクランプした値を返します。 [詳解]
|
|
static f128 | Saturate (f128arg value) noexcept |
| value の各レーンの値を、 0.0と1.0でクランプします。
|
|
|
static f128 | Recp (f128arg value) noexcept |
| value の各レーンの値の逆数を計算します。ゼロ除算の場合は正の無限大を返します。 [詳解]
|
|
static f128 | RecpEst (f128arg value) noexcept |
| value の各レーンの値の逆数を相対的に高速・低精度で計算します。ゼロ除算の場合は正の無限大を返します。 [詳解]
|
|
static f128 | Sqrt (f128arg value) noexcept |
| value の各レーンの平方根を計算します。 [詳解]
|
|
static f128 | SqrtEst (f128arg value) noexcept |
| value の各レーンの平方根を相対的に高速・低精度で計算します。 [詳解]
|
|
static f128 | RecpSqrt (f128arg value) noexcept |
| value の各レーンの逆数の平方根を計算します。ゼロ除算の場合は正の無限大を返します。 [詳解]
|
|
static f128 | RecpSqrtEst (f128arg value) noexcept |
| value の各レーンの逆数の平方根を相対的に高速・低精度で計算します。ゼロ除算の場合は正の無限大を返します。 [詳解]
|
|
|
static f128 | Round (f128arg value) noexcept |
| value の各レーンの単精度浮動小数点数の小数点以下を四捨五入した値を計算します。 [詳解]
|
|
static f128 | Truncate (f128arg value) noexcept |
| value の各レーンの単精度浮動小数点数の小数点以下を0の方向に切り捨てた値を計算します。 [詳解]
|
|
static f128 | Floor (f128arg value) noexcept |
| value の各レーンの単精度浮動小数点数以下となる最大の整数値を計算します。 [詳解]
|
|
static f128 | Ceil (f128arg value) noexcept |
| value の各レーンの単精度浮動小数点数以上となる最小の整数値を計算します。 [詳解]
|
|
|
static f128 | And (f128arg a, f128arg b) noexcept |
| a とb のビット単位での論理積を計算します。
|
|
static f128 | Or (f128arg a, f128arg b) noexcept |
| a とb のビット単位での論理和を計算します。
|
|
static f128 | Xor (f128arg a, f128arg b) noexcept |
| a とb のビット単位での排他的論理和を計算します。
|
|
static f128 | Not (f128arg a) noexcept |
| a のビット単位での否定を計算します。
|
|
static f128 | AndNot (f128arg a, f128arg b) noexcept |
| a のビット単位での否定と、b のビット単位での論理積を計算します。 [詳解]
|
|
static f128 | OrNot (f128arg a, f128arg b) noexcept |
| a のビット単位での否定と、b のビット単位での論理和を計算します。 [詳解]
|
|
|
static f128 | CmpEq (f128arg a, f128arg b) noexcept |
| a とb を単精度浮動小数点数の単位で比較を行い、比較結果に応じてビットが設定されます。 [詳解]
|
|
static f128 | CmpLt (f128arg a, f128arg b) noexcept |
| a とb を単精度浮動小数点数の単位で比較を行い、比較結果に応じてビットが設定されます。 [詳解]
|
|
static f128 | CmpLe (f128arg a, f128arg b) noexcept |
| a とb を単精度浮動小数点数の単位で比較を行い、比較結果に応じてビットが設定されます。 [詳解]
|
|
static f128 | CmpGt (f128arg a, f128arg b) noexcept |
| a とb を単精度浮動小数点数の単位で比較を行い、比較結果に応じてビットが設定されます。 [詳解]
|
|
static f128 | CmpGe (f128arg a, f128arg b) noexcept |
| a とb を単精度浮動小数点数の単位で比較を行い、比較結果に応じてビットが設定されます。 [詳解]
|
|
static f128 | CmpNe (f128arg a, f128arg b) noexcept |
| a とb を単精度浮動小数点数の単位で比較を行い、比較結果に応じてビットが設定されます。 [詳解]
|
|
static f128 | CmpNearEq (f128arg a, f128arg b, f128arg eps) noexcept |
| a とb の差がeps 以内かどうかを調べ、比較結果に応じてビットが設定されます。 [詳解]
|
|
static f128 | InBound (f128arg value, f128arg bounds) noexcept |
| value の絶対値が bounds 以下にそれぞれ収まるかどうかを調べ、比較結果に応じてビットが設定されます。 [詳解]
|
|
static f128 | CmpEqZero (f128arg value) noexcept |
| F128::CmpEq(value, F128::SetZero()) と同義です。
|
|
static f128 | CmpLtZero (f128arg value) noexcept |
| F128::CmpLt(value, F128::SetZero()) と同義です。
|
|
static f128 | CmpLeZero (f128arg value) noexcept |
| F128::CmpLe(value, F128::SetZero()) と同義です。
|
|
static f128 | CmpGtZero (f128arg value) noexcept |
| F128::CmpGt(value, F128::SetZero()) と同義です。
|
|
static f128 | CmpGeZero (f128arg value) noexcept |
| F128::CmpGe(value, F128::SetZero()) と同義です。
|
|
static f128 | CmpNeZero (f128arg value) noexcept |
| F128::CmpNe(value, F128::SetZero()) と同義です。
|
|
static f128 | CmpNearEqZero (f128arg value, f128arg eps) noexcept |
| F128::CmpNearEq(value, F128::SetZero(), eps) と同義です。
|
|
|
static f128 | AddAngle (f128arg angle1, f128arg angle2) noexcept |
| それぞれのレーンに格納された4つのラジアンを加算します。 結果は-π 以上 π 未満に正規化されます。 [詳解]
|
|
static f128 | SubAngle (f128arg angle1, f128arg angle2) noexcept |
| それぞれのレーンに格納された4つのラジアンを減算します。 結果は-π 以上 π 未満に正規化されます。 [詳解]
|
|
static f128 | ModAngle (f128arg value) noexcept |
| それぞれのレーンに格納された4つのラジアンを-π 以上 π 未満に正規化します。
|
|
static f128 | Sin (f128arg value) noexcept |
| それぞれのレーンに格納されたラジアンに対応するサインを計算します。
|
|
static f128 | Cos (f128arg value) noexcept |
| それぞれのレーンに格納されたラジアンに対応するコサインを計算します。
|
|
static f128x2 | SinCos (f128arg value) noexcept |
| サインとコサインを計算して返します。戻り値のval[0] にサインが、val[1]にコサインが格納されます。
|
|
static f128 | Tan (f128arg value) noexcept |
| それぞれのレーンに格納されたラジアンに対応するタンジェントを計算します。
|
|
static f128 | SinH (f128arg value) noexcept |
| それぞれのレーンの値のハイパボリックサインを計算します。
|
|
static f128 | CosH (f128arg value) noexcept |
| それぞれのレーンの値のハイパボリックコサインを計算します。
|
|
static f128 | TanH (f128arg value) noexcept |
| それぞれのレーンの値のハイパボリックタンジェントを計算します。
|
|
static f128 | ArcSin (f128arg value) noexcept |
| それぞれのレーンのアークサインを計算します。
|
|
static f128 | ArcCos (f128arg value) noexcept |
| それぞれのレーンのアークコサインを計算します。
|
|
static f128 | ArcTan (f128arg value) noexcept |
| それぞれのレーンのアークタンジェントを計算します。
|
|
static f128 | ArcTan2 (f128arg y, f128arg x) noexcept |
| y / x のアークタンジェントを計算します。 [詳解]
|
|
static f128 | Exp2 (f128arg value) noexcept |
| 2^value乗の計算をそれぞれのレーンに対して行い、結果をそれぞれのレーンに格納します。 [詳解]
|
|
static f128 | ExpE (f128arg value) noexcept |
| e^value乗の計算をそれぞれのレーンに対して行い、結果をそれぞれのレーンに格納します。 [詳解]
|
|
static f128 | Log2 (f128arg value) noexcept |
| それぞれのレーンに対して2を底とする対数を計算します。
|
|
static f128 | LogE (f128arg value) noexcept |
| それぞれのレーンについてe(自然対数の底)を底とする対数を計算します。
|
|
|
static f128 | Lerp (f128arg a, f128arg b, f128arg t) noexcept |
| a , b の各レーンの値ごとに線形補間を行います。 [詳解]
|
|
static f128 | Hermite (f128arg p0, f128arg v0, f128arg p1, f128arg_ex v1, f128arg_ex t) noexcept |
| 与えられた引数を用いてHermite補間を行います。 [詳解]
|
|
static f128 | CatmullRom (f128arg p0, f128arg p1, f128arg p2, f128arg_ex p3, f128arg_ex t) noexcept |
| 与えられた引数を用いてCatmull-Rom補間を行います。 [詳解]
|
|
static f128 | BaryCentric (f128arg p0, f128arg p1, f128arg p2, f128arg_ex f, f128arg_ex g) noexcept |
| 与えられた引数を用いてBaryCentric補間を行います。 [詳解]
|
|
|
static int | MoveMask (f128arg value) noexcept |
| 各32bitレーンを1bitの値に集約して整数として返します。 [詳解]
|
|
static bool | IsAllMaskFalse (f128arg value) noexcept |
| 論理演算の結果が全て偽であるかどうかを検査します。 [詳解]
|
|
static bool | IsAllMaskTrue (f128arg value) noexcept |
| 論理演算の結果が全て真であるかどうかを検査します。 [詳解]
|
|
static f128 | Select (f128arg mask, f128arg a, f128arg b) noexcept |
| mask の値に従ってa とb を合成します。この関数を使うことにより条件分岐の実行を避けることができます。 [詳解]
|
|
static f128 | IsNaN (f128arg value) noexcept |
| value のレーンの単精度浮動小数点数が非数であった場合、そのレーンのbitが全て1になります。 [詳解]
|
|
static f128 | IsInfinite (f128arg value) noexcept |
| value のレーンの単精度浮動小数点数が正の無限か負の無限であった場合、そのレーンのbitが全て1になります。 [詳解]
|
|
|
template<size_t N> |
static float | GetFloatFromLane (f128arg value) noexcept |
| value のレーン N の単精度浮動小数点数を取得します。 [詳解]
|
|
template<size_t N> |
static uint32_t | GetUint32FromLane (f128arg value) noexcept |
| value のレーン N の単精度浮動小数点数のビットパターンを32bit符号なし整数として取得します。 [詳解]
|
|
static float | GetFloatByIndex (f128arg value, size_t idx) noexcept |
| value のレーン idx の単精度浮動小数点数を習得します。 [詳解]
|
|
static uint32_t | GetUint32ByIndex (f128arg value, size_t idx) noexcept |
| value のレーン idx を符号なし32bit整数として取得します。 [詳解]
|
|
template<size_t N> |
static f128 | SetFloatToLane (f128arg value, float v) noexcept |
| value のレーン N の単精度浮動小数点数をv に設定したものを返します。 [詳解]
|
|
static f128 | SetFloatByIndex (f128arg value, float v, size_t i) noexcept |
| value のレーン i の単精度浮動小数点数をv に設定したものを返します。 [詳解]
|
|
|
template<int V0, int V1, int V2, int V3> |
static f128 | Swizzle (f128arg value) noexcept |
| 4個の単精度浮動小数点数を並べ替えて新たな128bit値を作成します。どの値になってもよい場合は-1を指定することができます。 [詳解]
|
|
template<int V0, int V1, int V2, int V3> |
static f128 | Permute (f128arg a, f128arg b) noexcept |
| 8個の単精度浮動小数点数を並べ替えて新たな128bit値を作成します。どの値になってもよい場合は-1を指定することができます。 [詳解]
|
|
template<bool SplatLane0, bool SplatLane1, bool SplatLane2, bool SplatLane3> |
static f128 | Splat (f128arg value, f128arg splat) noexcept |
| value の各レーンの値をテンプレート引数の設定によってsplat の値に置き換えます。splat の値は全てのレーンで同じである必要があります。 [詳解]
|
|
template<size_t N> |
static f128 | RotateLeft (f128arg value) noexcept |
| 4個の単精度浮動小数点数を左にN 個分回転させます。 [詳解]
|
|
template<size_t N> |
static f128 | RotateRight (f128arg value) noexcept |
| 4個の単精度浮動小数点数を右にN 個分回転させます。 [詳解]
|
|
template<size_t N> |
static f128 | ShiftRight (f128arg a, f128arg b) noexcept |
| a を右にシフトして空いた部分にb の要素を順にシフトする形で設定します。 [詳解]
|
|