|
static i128 | SetZero () noexcept |
| 全てのビットに0を設定します。
|
|
static i128 | SetFull (i128arg dummy) noexcept |
| 全てのビットに1を設定します。
|
|
|
static i128 | SetValue (int8_t v, each_int8_tag) noexcept |
| 16個の8bitのレーンに8bitの符号付き整数を設定します。
|
|
static i128 | SetValue (int16_t v, each_int16_tag) noexcept |
| 8個の16bitのレーンに16bitの符号付き整数を設定します。
|
|
static i128 | SetValue (int32_t v, each_int32_tag) noexcept |
| 4個の32bitのレーンに32bitの符号付き整数を設定します。
|
|
static i128 | SetValue (int64_t v, each_int64_tag) noexcept |
| 2個の64bitのレーンに64bitの符号付き整数を設定します。
|
|
static i128 | SetValue (uint8_t v, each_uint8_tag) noexcept |
| 16個の8bitのレーンに8bitの符号なし整数を設定します。
|
|
static i128 | SetValue (uint16_t v, each_uint16_tag) noexcept |
| 8個の16bitのレーンに16bitの符号なし整数を設定します。
|
|
static i128 | SetValue (uint32_t v, each_uint32_tag) noexcept |
| 4個の32bitのレーンに32bitの符号なし整数を設定します。
|
|
static i128 | SetValue (uint64_t v, each_uint64_tag) noexcept |
| 2個の64bitのレーンに64bitの符号なし整数を設定します。
|
|
|
template<size_t N> |
static i128 | SetValue (i128 value, each_select32_tag) noexcept |
| value のレーンN の32bit値を全てのレーンに設定します。 [詳解]
|
|
template<size_t N> |
static i128 | SetValue (i128 value, each_select16_tag) noexcept |
| value のレーンN の16bit値を全てのレーンに設定します。 [詳解]
|
|
template<size_t N> |
static i128 | SetValue (i128 value, each_select8_tag) noexcept |
| value のレーンN の8bit値を全てのレーンに設定します。 [詳解]
|
|
|
static i128 | LoadA16 (const void *p) noexcept |
| 16バイトアライメントのアドレスp から16バイトのデータを読み込み値を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static i128 | LoadA8 (const void *p) noexcept |
| 8バイトアライメントのアドレスp から16バイトのデータを読み込み値を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static i128 | LoadA4 (const void *p) noexcept |
| 4バイトアライメントのアドレスp から16バイトのデータを読み込み値を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static i128 | LoadA2 (const void *p) noexcept |
| 2バイトアライメントのアドレスp から16バイトのデータを読み込み値を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static i128 | LoadA1 (const void *p) noexcept |
| アライメントされていないアドレスp から16バイトのデータを読み込み値を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static i128 | LoadLoA8 (const void *p) noexcept |
| 8バイトアライメントのアドレスp から8バイトのデータを読み込み下位64bitに値を設定し、上位64bitに0を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static i128 | LoadLoA4 (const void *p) noexcept |
| 4バイトアライメントのアドレスp から8バイトのデータを読み込み下位64bitに値を設定し、上位64bitに0を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static i128 | LoadLoA2 (const void *p) noexcept |
| 2バイトアライメントのアドレスp から8バイトのデータを読み込み下位64bitに値を設定し、上位64bitに0を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static i128 | LoadLoA1 (const void *p) noexcept |
| アライメントされていないアドレスp から8バイトのデータを読み込み下位64bitに値を設定し、上位64bitに0を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static i128 | LoadHiA8 (const void *p) noexcept |
| 8バイトアライメントのアドレスp から8バイトのデータを読み込み上位64bitに値を設定し、下位64bitに0を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static i128 | LoadHiA4 (const void *p) noexcept |
| 4バイトアライメントのアドレスp から8バイトのデータを読み込み上位64bitに値を設定し、下位64bitに0を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static i128 | LoadHiA2 (const void *p) noexcept |
| 2バイトアライメントのアドレスp から8バイトのデータを読み込み上位64bitに値を設定し、下位64bitに0を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
static i128 | LoadHiA1 (const void *p) noexcept |
| アライメントされていないアドレスp から8バイトのデータを読み込み上位64bitに値を設定し、下位64bitに0を設定します。引数型はuintptr_t 又はintptr_t でも可。
|
|
|
static void | StoreA16 (void *p, i128arg value) noexcept |
| 16バイトアライメントのアドレスp へvalue の16バイトのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreA8 (void *p, i128arg value) noexcept |
| 8バイトアライメントのアドレスp へvalue の16バイトのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreA4 (void *p, i128arg value) noexcept |
| 4バイトアライメントのアドレスp へvalue の16バイトのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreA2 (void *p, i128arg value) noexcept |
| 2バイトアライメントのアドレスp へvalue の16バイトのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreA1 (void *p, i128arg value) noexcept |
| アライメントされていないアドレスp へvalue の16バイトのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreLoA8 (void *p, i128arg value) noexcept |
| 8バイトアライメントのアドレスp へvalue の下位64bitのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreLoA4 (void *p, i128arg value) noexcept |
| 4バイトアライメントのアドレスp へvalue の下位64bitのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreLoA2 (void *p, i128arg value) noexcept |
| 2バイトアライメントのアドレスp へvalue の下位64bitのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreLoA1 (void *p, i128arg value) noexcept |
| アライメントされていないアドレスp へvalue の下位64bitのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreHiA8 (void *p, i128arg value) noexcept |
| 8バイトアライメントのアドレスp へvalue の上位64bitのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreHiA4 (void *p, i128arg value) noexcept |
| 4バイトアライメントのアドレスp へvalue の上位64bitのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreHiA2 (void *p, i128arg value) noexcept |
| 2バイトアライメントのアドレスp へvalue の上位64bitのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
static void | StoreHiA1 (void *p, i128arg value) noexcept |
| アライメントされていないアドレスp へvalue の上位64bitのデータを書き込みます。引数型はuintptr_t 又はintptr_t でも可。
|
|
|
template<size_t N> |
static uint8_t | GetUint8FromLane (i128arg value) noexcept |
| value のレーン N の8bitの符号なし整数を取得します。 [詳解]
|
|
template<size_t N> |
static uint16_t | GetUint16FromLane (i128arg value) noexcept |
| value のレーン N の16bitの符号なし整数を取得します。 [詳解]
|
|
template<size_t N> |
static uint32_t | GetUint32FromLane (i128arg value) noexcept |
| value のレーン N の32bitの符号なし整数を取得します。 [詳解]
|
|
template<size_t N> |
static uint64_t | GetUint64FromLane (i128arg value) noexcept |
| value のレーン N の64bitの符号なし整数を取得します。 [詳解]
|
|
template<size_t N> |
static i128 | SetUint8ToLane (i128arg value, uint8_t v) noexcept |
| value のレーン N の8bit符号なし整数をv に設定します。 [詳解]
|
|
template<size_t N> |
static i128 | SetUint16ToLane (i128arg value, uint16_t v) noexcept |
| value のレーン N の16bit符号なし整数をv に設定します。 [詳解]
|
|
template<size_t N> |
static i128 | SetUint32ToLane (i128arg value, uint32_t v) noexcept |
| value のレーン N の32bit符号なし整数をv に設定します。 [詳解]
|
|
template<size_t N> |
static i128 | SetUint64ToLane (i128arg value, uint64_t v) noexcept |
| value のレーン N の64bit符号なし整数をv に設定します。 [詳解]
|
|
|
static i128 | Add8 (i128arg a, i128arg b) noexcept |
| a とb の8bitの各レーンの整数値を加算します。 [詳解]
|
|
static i128 | Add16 (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの整数値を加算します。 [詳解]
|
|
static i128 | Add32 (i128arg a, i128arg b) noexcept |
| a とb の32bitの各レーンの整数値を加算します。 [詳解]
|
|
static i128 | Add64 (i128arg a, i128arg b) noexcept |
| a とb の64bitの各レーンの整数値を加算します。 [詳解]
|
|
static i128 | AddInt8Saturated (i128arg a, i128arg b) noexcept |
| a とb の8bitの各レーンの符号付き整数値を飽和加算します。 [詳解]
|
|
static i128 | AddInt16Saturated (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの符号付き整数値を飽和加算します。 [詳解]
|
|
static i128 | AddUint8Saturated (i128arg a, i128arg b) noexcept |
| a とb の8bitの各レーンの符号なし整数値を飽和加算します。 [詳解]
|
|
static i128 | AddUint16Saturated (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの符号なし整数値を飽和加算します。 [詳解]
|
|
static i128 | Sub8 (i128arg a, i128arg b) noexcept |
| a とb の8bitの各レーンの整数値を減算します。 [詳解]
|
|
static i128 | Sub16 (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの整数値を減算します。 [詳解]
|
|
static i128 | Sub32 (i128arg a, i128arg b) noexcept |
| a とb の32bitの各レーンの整数値を減算します。 [詳解]
|
|
static i128 | Sub64 (i128arg a, i128arg b) noexcept |
| a とb の64bitの各レーンの整数値を減算します。 [詳解]
|
|
static i128 | SubInt8Saturated (i128arg a, i128arg b) noexcept |
| a とb の8bitの各レーンの符号付き整数値を飽和減算します。 [詳解]
|
|
static i128 | SubInt16Saturated (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの符号付き整数値を飽和減算します。 [詳解]
|
|
static i128 | SubUint8Saturated (i128arg a, i128arg b) noexcept |
| a とb の8bitの各レーンの符号なし整数値を飽和減算します。 [詳解]
|
|
static i128 | SubUint16Saturated (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの符号なし整数値を飽和減算します。 [詳解]
|
|
static i128 | PairwiseAdd8 (i128arg a, i128arg b) noexcept |
| a とb の8bitの各レーンの整数値を水平加算します。 [詳解]
|
|
static i128 | PairwiseAdd16 (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの整数値を水平加算します。 [詳解]
|
|
static i128 | PairwiseAdd32 (i128arg a, i128arg b) noexcept |
| a とb の32bitの各レーンの整数値を水平加算します。 [詳解]
|
|
static i128 | Mult16 (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの整数値を乗算します。 [詳解]
|
|
static i128 | MultAdd16 (i128arg a, i128arg b, i128arg c) noexcept |
| a とb の16bitの各レーンの整数値を乗算し、その結果にc の16bitの各レーンの整数値を加算します。 [詳解]
|
|
static i128 | MultSub16 (i128arg a, i128arg b, i128arg c) noexcept |
| a とb の16bitの各レーンの整数値を乗算し、その結果をc の16bitの各レーンの整数値から減算します。 [詳解]
|
|
static i128 | Mult32 (i128arg a, i128arg b) noexcept |
| a とb の32bitの各レーンの整数値を乗算します。 [詳解]
|
|
static i128 | MultAdd32 (i128arg a, i128arg b, i128arg c) noexcept |
| a とb の32bitの各レーンの整数値を乗算し、その結果にc の32bitの各レーンの整数値を加算します。 [詳解]
|
|
static i128 | MultSub32 (i128arg a, i128arg b, i128arg c) noexcept |
| a とb の32bitの各レーンの整数値を乗算し、その結果をc の32bitの各レーンの整数値から減算します。 [詳解]
|
|
static i128 | NegateInt8 (i128arg value) noexcept |
| value の8bitの各レーンの符号付き整数値の符号を反転した値を計算します。
|
|
static i128 | NegateInt16 (i128arg value) noexcept |
| value の16bitの各レーンの符号付き整数値の符号を反転した値を計算します。
|
|
static i128 | NegateInt32 (i128arg value) noexcept |
| value の32bitの各レーンの符号付き整数値の符号を反転した値を計算します。
|
|
|
static i128 | MaxInt8 (i128arg a, i128arg b) noexcept |
| a とb の8bitの各レーンの符号付き整数値で大きい方の値を設定します。 [詳解]
|
|
static i128 | MaxInt16 (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの符号付き整数値で大きい方の値を設定します。 [詳解]
|
|
static i128 | MaxInt32 (i128arg a, i128arg b) noexcept |
| a とb の32bitの各レーンの符号付き整数値で大きい方の値を設定します。 [詳解]
|
|
static i128 | MaxUint8 (i128arg a, i128arg b) noexcept |
| a とb の8bitの各レーンの符号なし整数値で大きい方の値を設定します。 [詳解]
|
|
static i128 | MaxUint16 (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの符号なし整数値で大きい方の値を設定します。 [詳解]
|
|
static i128 | MaxUint32 (i128arg a, i128arg b) noexcept |
| a とb の32bitの各レーンの符号なし整数値で大きい方の値を設定します。 [詳解]
|
|
static i128 | MinInt8 (i128arg a, i128arg b) noexcept |
| a とb の8bitの各レーンの符号付き整数値で小さい方の値を設定します。 [詳解]
|
|
static i128 | MinInt16 (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの符号付き整数値で小さい方の値を設定します。 [詳解]
|
|
static i128 | MinInt32 (i128arg a, i128arg b) noexcept |
| a とb の32bitの各レーンの符号付き整数値で小さい方の値を設定します。 [詳解]
|
|
static i128 | MinUint8 (i128arg a, i128arg b) noexcept |
| a とb の8bitの各レーンの符号なし整数値で小さい方の値を設定します。 [詳解]
|
|
static i128 | MinUint16 (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの符号なし整数値で小さい方の値を設定します。 [詳解]
|
|
static i128 | MinUint32 (i128arg a, i128arg b) noexcept |
| a とb の32bitの各レーンの符号なし整数値で小さい方の値を設定します。 [詳解]
|
|
|
static i128 | AbsInt8 (i128arg value) noexcept |
| value の8bitの各レーンの符号付き整数値の絶対値を計算します。
|
|
static i128 | AbsInt16 (i128arg value) noexcept |
| value の16bitの各レーンの符号付き整数値の絶対値を計算します。
|
|
static i128 | AbsInt32 (i128arg value) noexcept |
| value の32bitの各レーンの符号付き整数値の絶対値を計算します。
|
|
static i128 | AbsDiffInt8 (i128arg a, i128arg b) noexcept |
| a とb の8bitの各レーンの符号付き整数値の差分の絶対値を計算します。
|
|
static i128 | AbsDiffInt16 (i128arg a, i128arg b) noexcept |
| a とb の16bitの各レーンの符号付き整数値の差分の絶対値を計算します。
|
|
static i128 | AbsDiffInt32 (i128arg a, i128arg b) noexcept |
| a とb の32bitの各レーンの符号付き整数値の差分の絶対値を計算します。
|
|
|
static i128 | And (i128arg a, i128arg b) noexcept |
| a とb のビット単位での論理積を計算します。
|
|
static i128 | Or (i128arg a, i128arg b) noexcept |
| a とb のビット単位での論理和を計算します。
|
|
static i128 | Xor (i128arg a, i128arg b) noexcept |
| a とb のビット単位での排他的論理和を計算します。
|
|
static i128 | Not (i128arg a) noexcept |
| a のビット単位での否定を計算します。
|
|
static i128 | AndNot (i128arg a, i128arg b) noexcept |
| a のビット単位での否定と、b のビット単位での論理積を計算します。 [詳解]
|
|
static i128 | OrNot (i128arg a, i128arg b) noexcept |
| a のビット単位での否定と、b のビット単位での論理和を計算します。 [詳解]
|
|
static i128 | Test8 (i128arg a, i128arg b) noexcept |
| I128::Not(I128::CmpEqZero8(I128::And(a, b))) と同義です。
|
|
static i128 | Test16 (i128arg a, i128arg b) noexcept |
| I128::Not(I128::CmpEqZero16(I128::And(a, b))) と同義です。
|
|
static i128 | Test32 (i128arg a, i128arg b) noexcept |
| I128::Not(I128::CmpEqZero32(I128::And(a, b))) と同義です。
|
|
|
static i128 | CmpEq8 (i128arg a, i128arg b) noexcept |
| a とb を8bitのレーン単位で比較を行います。 [詳解]
|
|
static i128 | CmpEq16 (i128arg a, i128arg b) noexcept |
| a とb を16bitのレーン単位で比較を行います。 [詳解]
|
|
static i128 | CmpEq32 (i128arg a, i128arg b) noexcept |
| a とb を32bitのレーン単位で比較を行います。 [詳解]
|
|
static i128 | CmpEq64 (i128arg a, i128arg b) noexcept |
| a とb を64bitのレーン単位で比較を行います。 [詳解]
|
|
static i128 | CmpLtInt8 (i128arg a, i128arg b) noexcept |
| a とb を8bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpLtInt16 (i128arg a, i128arg b) noexcept |
| a とb を16bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpLtInt32 (i128arg a, i128arg b) noexcept |
| a とb を32bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpLtInt64 (i128arg a, i128arg b) noexcept |
| a とb を64bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpGtInt8 (i128arg a, i128arg b) noexcept |
| a とb を8bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpGtInt16 (i128arg a, i128arg b) noexcept |
| a とb を16bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpGtInt32 (i128arg a, i128arg b) noexcept |
| a とb を32bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpGtInt64 (i128arg a, i128arg b) noexcept |
| a とb を64bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpLtUint8 (i128arg a, i128arg b) noexcept |
| a とb を8bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpLtUint16 (i128arg a, i128arg b) noexcept |
| a とb を16bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpLtUint32 (i128arg a, i128arg b) noexcept |
| a とb を32bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpLtUint64 (i128arg a, i128arg b) noexcept |
| a とb を64bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpGtUint8 (i128arg a, i128arg b) noexcept |
| a とb を8bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpGtUint16 (i128arg a, i128arg b) noexcept |
| a とb を16bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpGtUint32 (i128arg a, i128arg b) noexcept |
| a とb を32bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpGtUint64 (i128arg a, i128arg b) noexcept |
| a とb を64bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpLeInt8 (i128arg a, i128arg b) noexcept |
| a とb を8bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpLeInt16 (i128arg a, i128arg b) noexcept |
| a とb を16bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpLeInt32 (i128arg a, i128arg b) noexcept |
| a とb を32bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpLeInt64 (i128arg a, i128arg b) noexcept |
| a とb を64bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpGeInt8 (i128arg a, i128arg b) noexcept |
| a とb を8bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpGeInt16 (i128arg a, i128arg b) noexcept |
| a とb を16bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpGeInt32 (i128arg a, i128arg b) noexcept |
| a とb を32bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpGeInt64 (i128arg a, i128arg b) noexcept |
| a とb を64bitの符号付き整数として比較を行います。 [詳解]
|
|
static i128 | CmpLeUint8 (i128arg a, i128arg b) noexcept |
| a とb を8bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpLeUint16 (i128arg a, i128arg b) noexcept |
| a とb を16bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpLeUint32 (i128arg a, i128arg b) noexcept |
| a とb を32bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpLeUint64 (i128arg a, i128arg b) noexcept |
| a とb を64bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpGeUint8 (i128arg a, i128arg b) noexcept |
| a とb を8bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpGeUint16 (i128arg a, i128arg b) noexcept |
| a とb を16bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpGeUint32 (i128arg a, i128arg b) noexcept |
| a とb を32bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpGeUint64 (i128arg a, i128arg b) noexcept |
| a とb を64bitの符号なし整数として比較を行います。 [詳解]
|
|
static i128 | CmpEqZero8 (i128arg value) noexcept |
| I128::CmpEq8(value, I128::SetZero()) と同義です。
|
|
static i128 | CmpEqZero16 (i128arg value) noexcept |
| I128::CmpEq16(value, I128::SetZero()) と同義です。
|
|
static i128 | CmpEqZero32 (i128arg value) noexcept |
| I128::CmpEq32(value, I128::SetZero()) と同義です。
|
|
static i128 | CmpEqZero64 (i128arg value) noexcept |
| I128::CmpEq64(value, I128::SetZero()) と同義です。
|
|
|
static i128 | ShiftLeftLogical8 (i128arg value, int count) noexcept |
| 8bitの各レーンをcount だけ左シフトします。
|
|
static i128 | ShiftRightLogical8 (i128arg value, int count) noexcept |
| 8bitの各レーンをcount だけ右論理シフトします。
|
|
static i128 | ShiftRightArithmetic8 (i128arg value, int count) noexcept |
| 8bitの各レーンをcount だけ右算術シフトします。
|
|
static i128 | ShiftLeftLogical16 (i128arg value, int count) noexcept |
| 16bitの各レーンをcount だけ左シフトします。
|
|
static i128 | ShiftRightLogical16 (i128arg value, int count) noexcept |
| 16bitの各レーンをcount だけ右論理シフトします。
|
|
static i128 | ShiftRightArithmetic16 (i128arg value, int count) noexcept |
| 16bitの各レーンをcount だけ右算術シフトします。
|
|
static i128 | ShiftLeftLogical32 (i128arg value, int count) noexcept |
| 32bitの各レーンをcount だけ左シフトします。
|
|
static i128 | ShiftRightLogical32 (i128arg value, int count) noexcept |
| 32bitの各レーンをcount だけ右論理シフトします。
|
|
static i128 | ShiftRightArithmetic32 (i128arg value, int count) noexcept |
| 32bitの各レーンをcount だけ右算術シフトします。
|
|
static i128 | ShiftLeftLogical64 (i128arg value, int count) noexcept |
| 64bitの各レーンをcount だけ左シフトします。
|
|
static i128 | ShiftRightLogical64 (i128arg value, int count) noexcept |
| 64bitの各レーンをcount だけ右論理シフトします。
|
|
|
template<size_t N> |
static i128 | ShiftLeftLogical8 (i128arg value) noexcept |
| 8bitの各レーンをN だけ左シフトします。 [詳解]
|
|
template<size_t N> |
static i128 | ShiftRightLogical8 (i128arg value) noexcept |
| 8bitの各レーンをN だけ右シフトします。 [詳解]
|
|
template<size_t N> |
static i128 | ShiftRightArithmetic8 (i128arg value) noexcept |
| 8bitの各レーンをN だけ算術右シフトします。 [詳解]
|
|
template<size_t N> |
static i128 | ShiftLeftLogical16 (i128arg value) noexcept |
| 16bitの各レーンをN だけ左シフトします。 [詳解]
|
|
template<size_t N> |
static i128 | ShiftRightLogical16 (i128arg value) noexcept |
| 16bitの各レーンをN だけ右シフトします。 [詳解]
|
|
template<size_t N> |
static i128 | ShiftRightArithmetic16 (i128arg value) noexcept |
| 16bitの各レーンをN だけ算術右シフトします。 [詳解]
|
|
template<size_t N> |
static i128 | ShiftLeftLogical32 (i128arg value) noexcept |
| 32bitの各レーンをN だけ左シフトします。 [詳解]
|
|
template<size_t N> |
static i128 | ShiftRightLogical32 (i128arg value) noexcept |
| 32bitの各レーンをN だけ右シフトします。 [詳解]
|
|
template<size_t N> |
static i128 | ShiftRightArithmetic32 (i128arg value) noexcept |
| 32bitの各レーンをN だけ算術右シフトします。 [詳解]
|
|
template<size_t N> |
static i128 | ShiftLeftLogical64 (i128arg value) noexcept |
| 64bitの各レーンをN だけ左シフトします。 [詳解]
|
|
template<size_t N> |
static i128 | ShiftRightLogical64 (i128arg value) noexcept |
| 64bitの各レーンをN だけ右シフトします。 [詳解]
|
|
|
template<size_t N> |
static i128 | ByteShiftLeft (i128arg value) noexcept |
| value を N バイト分左シフトします。空いたレーンには0が設定されます。 [詳解]
|
|
template<size_t N> |
static i128 | ByteShiftRight (i128arg value) noexcept |
| value を N バイト分右シフトします。空いたレーンには0が設定されます。 [詳解]
|
|
template<size_t N> |
static i128 | ByteRotateRight (i128arg value) noexcept |
| value を N バイト分右ローテートします。 [詳解]
|
|
template<size_t N> |
static i128 | AlignR (i128arg a, i128arg b) noexcept |
| a ,b を256bit値に見立てて右に N バイトシフトした後の下位128bit値を返します。 [詳解]
|
|
|
static i128 | NarrowFrom16To8 (i128arg lo, i128arg hi) noexcept |
| 16bit幅のレーンの上位8bitをカットして16個を1つの128bit値にして返します。 [詳解]
|
|
static i128 | NarrowFrom32To16 (i128arg lo, i128arg hi) noexcept |
| 32bit幅のレーンの上位16bitをカットして8個を1つの128bit値にして返します。 [詳解]
|
|
static i128 | NarrowFrom64To32 (i128arg lo, i128arg hi) noexcept |
| 64bit幅のレーンの上位32bitをカットして4個を1つの128bit値にして返します。 [詳解]
|
|
static i128 | ConvertFromUint16ToUint8Saturated (i128arg lo, i128arg hi) noexcept |
| 16bitの符号なし整数16個を8bitの符号なし整数16個に変換します。範囲外の値はクランプされます。 [詳解]
|
|
static i128 | ConvertFromInt16ToInt8Saturated (i128arg lo, i128arg hi) noexcept |
| 16bitの符号付き整数16個を8bitの符号付き整数16個に変換します。範囲外の値はクランプされます。 [詳解]
|
|
static i128 | ConvertFromUint32ToUint16Saturated (i128arg lo, i128arg hi) noexcept |
| 32bitの符号なし整数8個を16bitの符号なし整数8個に変換します。範囲外の値はクランプされます。 [詳解]
|
|
static i128 | ConvertFromInt32ToInt16Saturated (i128arg lo, i128arg hi) noexcept |
| 32bitの符号付き整数8個を16bitの符号付き整数8個に変換します。範囲外の値はクランプされます。 [詳解]
|
|
static i128 | ConvertFromInt8ToInt16Lo (i128arg value) noexcept |
| 引数の下位64bitの8bit符号付き整数8個を16bitの符号付き整数8個に符号拡張します。 [詳解]
|
|
static i128 | ConvertFromInt8ToInt16Hi (i128arg value) noexcept |
| 引数の上位64bitの8bit符号付き整数8個を16bitの符号付き整数8個に符号拡張します。 [詳解]
|
|
static i128 | ConvertFromInt16ToInt32Lo (i128arg value) noexcept |
| 引数の下位64bitの16bit符号付き整数4個を32bitの符号付き整数4個に符号拡張します。 [詳解]
|
|
static i128 | ConvertFromInt16ToInt32Hi (i128arg value) noexcept |
| 引数の上位64bitの16bit符号付き整数4個を32bitの符号付き整数4個に符号拡張します。 [詳解]
|
|
static i128 | ConvertFromInt32ToInt64Lo (i128arg value) noexcept |
| 引数の下位64bitの32bit符号付き整数2個を64bitの符号付き整数2個に符号拡張します。 [詳解]
|
|
static i128 | ConvertFromInt32ToInt64Hi (i128arg value) noexcept |
| 引数の上位64bitの32bit符号付き整数2個を64bitの符号付き整数2個に符号拡張します。 [詳解]
|
|
static i128 | ConvertFromUint8ToUint16Lo (i128arg value) noexcept |
| 引数の下位64bitの8bit符号なし整数8個を16bitの符号なし整数8個に拡張します。 [詳解]
|
|
static i128 | ConvertFromUint8ToUint16Hi (i128arg value) noexcept |
| 引数の上位64bitの8bit符号なし整数8個を16bitの符号なし整数8個に拡張します。 [詳解]
|
|
static i128 | ConvertFromUint16ToUint32Lo (i128arg value) noexcept |
| 引数の下位64bitの16bit符号なし整数4個を32bitの符号なし整数4個に変換します。 [詳解]
|
|
static i128 | ConvertFromUint16ToUint32Hi (i128arg value) noexcept |
| 引数の上位64bitの16bit符号なし整数4個を32bitの符号なし整数4個に変換します。 [詳解]
|
|
static i128 | ConvertFromUint32ToUint64Lo (i128arg value) noexcept |
| 引数の下位64bitの32bit符号なし整数2個を64bitの符号なし整数2個に変換します。 [詳解]
|
|
static i128 | ConvertFromUint32ToUint64Hi (i128arg value) noexcept |
| 引数の上位64bitの32bit符号なし整数2個を64bitの符号なし整数2個に変換します。 [詳解]
|
|
|
static i128 | Zip8Lo (i128arg a, i128arg b) noexcept |
| I128::Permute8<0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23>(a, b) と同じ結果を返します。
|
|
static i128 | Zip8Hi (i128arg a, i128arg b) noexcept |
| I128::Permute8<8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31>(a, b) と同じ結果を返します。
|
|
static i128 | Unzip8Lo (i128arg a, i128arg b) noexcept |
| I128::Permute8<0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30>(a, b) と同じ結果を返します。
|
|
static i128 | Unzip8Hi (i128arg a, i128arg b) noexcept |
| I128::Permute8<1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31>(a, b) と同じ結果を返します。
|
|
static i128 | Zip16Lo (i128arg a, i128arg b) noexcept |
| I128::Permute16<0, 8, 1, 9, 2, 10, 3, 11>(a, b) と同じ結果を返します。
|
|
static i128 | Zip16Hi (i128arg a, i128arg b) noexcept |
| I128::Permute16<4, 12, 5, 13, 6, 14, 7, 15>(a, b) と同じ結果を返します。
|
|
static i128 | Unzip16Lo (i128arg a, i128arg b) noexcept |
| I128::Permute16<0, 2, 4, 6, 8, 10, 12, 14>(a, b) と同じ結果を返します。
|
|
static i128 | Unzip16Hi (i128arg a, i128arg b) noexcept |
| I128::Permute16<1, 3, 5, 7, 9, 11, 13, 15>(a, b) と同じ結果を返します。
|
|
static i128 | Zip32Lo (i128arg a, i128arg b) noexcept |
| I128::Permute32<0, 4, 1, 5>(a, b) と同じ結果を返します。
|
|
static i128 | Zip32Hi (i128arg a, i128arg b) noexcept |
| I128::Permute32<2, 6, 3, 7>(a, b) と同じ結果を返します。
|
|
static i128 | Unzip32Lo (i128arg a, i128arg b) noexcept |
| I128::Permute32<0, 2, 4, 6>(a, b) と同じ結果を返します。
|
|
static i128 | Unzip32Hi (i128arg a, i128arg b) noexcept |
| I128::Permute32<1, 3, 5, 7>(a, b) と同じ結果を返します。
|
|
template<int V0, int V1, int V2, int V3, int V4, int V5, int V6, int V7, int V8, int V9, int V10, int V11, int V12, int V13, int V14, int V15> |
static i128 | Permute8 (i128arg a, i128arg b) noexcept |
| 32個の8bit値を並べ替えて新たな128bit値を作成します。どの値になってもよい場合は-1を指定することができます。 [詳解]
|
|
template<int V0, int V1, int V2, int V3, int V4, int V5, int V6, int V7> |
static i128 | Permute16 (i128arg a, i128arg b) noexcept |
| 16個の16bit値を並べ替えて新たな128bit値を作成します。どの値になってもよい場合は-1を指定することができます。 [詳解]
|
|
template<int V0, int V1, int V2, int V3> |
static i128 | Permute32 (i128arg a, i128arg b) noexcept |
| 8個の32bit値を並べ替えて新たな128bit値を作成します。どの値になってもよい場合は-1を指定することができます。 [詳解]
|
|
|
static i128 | Reverse16 (i128arg value) noexcept |
| 8個の16bit値のエンディアンを反転します。 [詳解]
|
|
static i128 | Reverse32 (i128arg value) noexcept |
| 4個の32bit値のエンディアンを反転します。 [詳解]
|
|
static i128 | Reverse64 (i128arg value) noexcept |
| 2個の64bit値のエンディアンを反転します。 [詳解]
|
|
|
static int | MoveMask8 (i128arg value) noexcept |
| 各8bitレーンを1bitの値に集約して整数として返します。 [詳解]
|
|
static int | MoveMask16 (i128arg value) noexcept |
| 各16bitレーンを1bitの値に集約して整数として返します。 [詳解]
|
|
static int | MoveMask32 (i128arg value) noexcept |
| 各32bitレーンを1bitの値に集約して整数として返します。 [詳解]
|
|
static i128 | SetMask8 (int mask) noexcept |
| I128::MoveMask8() の逆の計算を行います。
|
|
static i128 | SetMask16 (int mask) noexcept |
| I128::MoveMask16() の逆の計算を行います。
|
|
static i128 | SetMask32 (int mask) noexcept |
| I128::MoveMask32() の逆の計算を行います。
|
|
static bool | IsZero (i128arg value) noexcept |
| 全てのbitが0かどうかを検査します。 [詳解]
|
|
static bool | IsFull (i128arg value) noexcept |
| 全てのbitが1かどうかを検査します。 [詳解]
|
|
static i128 | Select (i128arg mask, i128arg a, i128arg b) noexcept |
| mask の値に従って各レーンについてa とb のどちらかの値を選択し、値を設定します。 [詳解]
|
|
static i128 | Shuffle8 (i128arg value, i128arg shuffle) noexcept |
| 16個の8bit値を重複も含めて任意の並びに並べ替えます。 [詳解]
|
|
static int | PopCntMask8 (i128arg value) noexcept |
| 16個の8bit幅のマスクのうち0xFF であるものの個数を返します。 [詳解]
|
|
static int | ClzMask8 (i128arg value) noexcept |
| 16個の8bit幅のマスクのうち、MSB(最も後ろのバイト)から連続する0であるバイトの数を返します。 [詳解]
|
|
static int | CtzMask8 (i128arg value) noexcept |
| 16個の8bit幅のマスクのうち、LSB(最も前のバイト)から連続する0であるバイトの数を返します。 [詳解]
|
|