nlib
SimdInt.h ファイル

整数のSIMD演算を行うためのクラスや関数が実装されています。 [詳解]

#include "nn/nlib/Config.h"

[ソースコード]

クラス

struct  nn::nlib::simd::each_int8_tag
 空の構造体で8bitの符号付き整数を示すためのタグです。 [詳解]
 
struct  nn::nlib::simd::each_int16_tag
 空の構造体で16bitの符号付き整数を示すためのタグです。 [詳解]
 
struct  nn::nlib::simd::each_int32_tag
 空の構造体で32bitの符号付き整数を示すためのタグです。 [詳解]
 
struct  nn::nlib::simd::each_int64_tag
 空の構造体で64bitの符号付き整数を示すためのタグです。 [詳解]
 
struct  nn::nlib::simd::each_uint8_tag
 空の構造体で8bitの符号なし整数を示すためのタグです。 [詳解]
 
struct  nn::nlib::simd::each_uint16_tag
 空の構造体で16bitの符号なし整数を示すためのタグです。 [詳解]
 
struct  nn::nlib::simd::each_uint32_tag
 空の構造体で32bitの符号なし整数を示すためのタグです。 [詳解]
 
struct  nn::nlib::simd::each_uint64_tag
 空の構造体で64bitの符号なし整数を示すためのタグです。 [詳解]
 
struct  nn::nlib::simd::each_select32_tag
 空の構造体で32bit単位に分けたレーンを選択することを示すためのタグです。 [詳解]
 
struct  nn::nlib::simd::each_select16_tag
 空の構造体で16bit単位に分けたレーンを選択することを示すためのタグです。 [詳解]
 
struct  nn::nlib::simd::each_select8_tag
 空の構造体で8bit単位に分けたレーンを選択することを示すためのタグです。 [詳解]
 
class  nn::nlib::simd::I128
 128bitレジスタ(SSEではXMM0-XMM15, NEONではQ0-Q15)を用いた整数SIMD演算を行うためのクラスです。 [詳解]
 

名前空間

 nn::nlib
 共通して使われることの多いストリーム関連のクラス群や各種コンテナ、及びガシェットクラスが実装されています。nlib_nsはエイリアスです。
 
 nn::nlib::simd
 整数、単精度浮動小数点数のSIMD演算を行うためのクラスや関数が実装されています。
 

マクロ定義

#define NLIB_I128_TRANSPOSE32(row0, row1, row2, row3)
 4つの128bitレジスタを32bitの4x4行列とした場合に、転置行列を求めます。
 

型定義

typedef __m128i nlib_i128_t
 128bitの整数用SIMDレジスタのための型です。 [詳解]
 
typedef nlib_i128_t nn::nlib::simd::i128
 nlib_i128_ttypedefされています。
 

変数

タグ定数
constexpr const each_int8_tag nn::nlib::simd::each_int8 = {}
 each_int8_tag型の定数オブジェクトで、8bitの符号付き整数を示すためのタグです。
 
constexpr const each_int16_tag nn::nlib::simd::each_int16 = {}
 each_int16_tag型の定数オブジェクトで、16bitの符号付き整数を示すためのタグです。
 
constexpr const each_int32_tag nn::nlib::simd::each_int32 = {}
 each_int32_tag型の定数オブジェクトで、32bitの符号付き整数を示すためのタグです。
 
constexpr const each_int64_tag nn::nlib::simd::each_int64 = {}
 each_int64_tag型の定数オブジェクトで、64bitの符号付き整数を示すためのタグです。
 
constexpr const each_uint8_tag nn::nlib::simd::each_uint8 = {}
 each_uint8_tag型の定数オブジェクトで、8bitの符号なし整数を示すためのタグです。
 
constexpr const each_uint16_tag nn::nlib::simd::each_uint16 = {}
 each_uint16_tag型の定数オブジェクトで、16bitの符号なし整数を示すためのタグです。
 
constexpr const each_uint32_tag nn::nlib::simd::each_uint32 = {}
 each_uint32_tag型の定数オブジェクトで、32bitの符号なし整数を示すためのタグです。
 
constexpr const each_uint64_tag nn::nlib::simd::each_uint64 = {}
 each_uint64_tag型の定数オブジェクトで、64bitの符号なし整数を示すためのタグです。
 
constexpr const each_select32_tag nn::nlib::simd::each_select32 = {}
 each_select32_tag型の定数オブジェクトで、32bitのレーンを選択することを示すためのタグです。
 
constexpr const each_select16_tag nn::nlib::simd::each_select16 = {}
 each_select16_tag型の定数オブジェクトで、16bitのレーンを選択することを示すためのタグです。
 
constexpr const each_select8_tag nn::nlib::simd::each_select8 = {}
 each_select8_tag型の定数オブジェクトで、8bitのレーンを選択することを示すためのタグです。
 

詳解

整数のSIMD演算を行うためのクラスや関数が実装されています。

SimdInt.h に定義があります。

型定義詳解

§ nlib_i128_t

128bitの整数用SIMDレジスタのための型です。

説明
Platform Definition
SSE __m128iがtypedefされています
NEON int8x16_tがtypedefされています

SimdInt.h9 行目に定義があります。