nlib
SimdFloat.h ファイル

単精度浮動小数点数のSIMD演算を行うためのクラスや関数が定義されています。 [詳解]

#include <math.h>
#include <float.h>
#include "nn/nlib/Config.h"
#include "nn/nlib/simd/SimdInt.h"

[ソースコード]

クラス

struct  nlib_f128x2_t
 128bitの単精度浮動小数点数用SIMDレジスタを2つ持つ型です。 [詳解]
 
struct  nn::nlib::simd::each_float_tag
 空の構造体で単精度浮動小数点数を示すためのタグです。 [詳解]
 
class  nn::nlib::simd::F128
 128bitレジスタ(SSEではXMM0-XMM15, NEONではQ0-Q15)を用いて単精度浮動小数点数のSIMD演算を行うためのクラスです。 [詳解]
 
struct  nn::nlib::simd::SimdMatrix
 4x4行列を保持する構造体です。 [詳解]
 
struct  nn::nlib::simd::Float3
 3次元ベクトルをメモリから読み出したりメモリに書き出したりするための型です。float型のx, y, zをデータメンバとして保持します。 [詳解]
 
struct  nn::nlib::simd::Float4
 4次元ベクトルをメモリから読み出したりメモリに書き出したりするための型です。float型のx, y, z, wをデータメンバとして保持します。 [詳解]
 
struct  nn::nlib::simd::Float3x3
 3x3行列をメモリから読み出したりメモリに書き出したりするための型です。データメンバmは3x3の配列です。 [詳解]
 
struct  nn::nlib::simd::Float3x4
 3x4行列をメモリから読み出したりメモリに書き出したりするための型です。データメンバmは3x4の配列で16バイトアライメントに配置されます。 [詳解]
 
struct  nn::nlib::simd::Float4x3
 4x3行列をメモリから読み出したりメモリに書き出したりするための型です。データメンバmは4x3の配列で16バイトアライメントに配置されます。 [詳解]
 
struct  nn::nlib::simd::Float4x4
 4x4行列をメモリから読み出したりメモリに書き出したりするための型です。データメンバmは4x4の配列で16バイトアライメントに配置されます。 [詳解]
 

名前空間

 nn::nlib
 共通して使われる機能やプラットフォームへの依存度が高い機能が実装されます。 nlib Platform APIs も御覧ください。nlib_nsはエイリアスです。
 
 nn::nlib::simd
 整数、単精度浮動小数点数のSIMD演算を行うためのクラスや関数が実装されています。
 

マクロ定義

#define NLIB_F128_TRANSPOSE(row0, row1, row2, row3)
 インプレイスで行列を転置するためのマクロです。
 

型定義

typedef __m128 nlib_f128_t
 128bitの単精度浮動小数点数用SIMDレジスタのための型です。 [詳解]
 
typedef nlib_f128_t nn::nlib::simd::f128
 nlib_f128_ttypedefされています。
 
typedef nlib_f128x2_t nn::nlib::simd::f128x2
 nlib_f128x2_ttypedefされています。
 
typedef const f128 nn::nlib::simd::f128arg
 const f128, 又はconst f128&typedefされています。
 
typedef f128 nn::nlib::simd::SimdVector
 f128typedefされています。3次元ベクトル又は4次元ベクトルを扱う場合に利用されます。
 
typedef f128arg nn::nlib::simd::SimdVectorArg
 f128argtypedefされています。
 
typedef f128 nn::nlib::simd::SimdQuaternion
 f128typedefされています。クォータニオンを扱う場合に利用されます。
 
typedef f128arg nn::nlib::simd::SimdQuaternionArg
 f128argtypedefされています。
 
typedef f128 nn::nlib::simd::SimdPlane
 f128typedefされています。平面を扱う場合に利用されます。
 
typedef f128arg nn::nlib::simd::SimdPlaneArg
 f128argtypedefされています。
 
typedef f128 nn::nlib::simd::SimdSphere
 f128typedefされています。球を扱う場合に利用されます。
 
typedef f128arg nn::nlib::simd::SimdSphereArg
 f128argtypedefされています。
 

変数

タグ定数
constexpr const each_float_tag nn::nlib::simd::each_float = {}
 each_float_tag型の定数オブジェクトで、単精度浮動小数点数を示すためのタグです。
 

詳解

単精度浮動小数点数のSIMD演算を行うためのクラスや関数が定義されています。

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

型定義詳解

128bitの単精度浮動小数点数用SIMDレジスタのための型です。

説明
Platform Definition
SSE __m128がtypedefされています
NEON float32x4_tがtypedefされています
Generic 構造体が定義されています

SimdFloat.h30 行目に定義があります。