이 파일의 문서화 페이지로 가기
37 #define AKSIMD_GETELEMENT_V4F32( __vName, __num__ ) ((AkReal32*)&(__vName))[(__num__)]
38 #define AKSIMD_GETELEMENT_V2F32( __vName, __num__ ) ((AkReal32*)&(__vName))[(__num__)]
39 #define AKSIMD_GETELEMENT_V2F64( __vName, __num__ ) ((AkReal64*)&(__vName))[(__num__)]
40 #define AKSIMD_GETELEMENT_V4I32( __vName, __num__ ) ((AkInt32*)&(__vName))[(__num__)]
41 #define AKSIMD_GETELEMENT_V2I64( __vName, __num__ ) ((AkInt64*)&(__vName))[(__num__)]
46 #if defined AK_CPU_X86 || defined AK_CPU_X86_64 || defined AK_CPU_WASM
48 #elif defined AK_CPU_ARM_NEON
51 #include <AK/SoundEngine/Platforms/Generic/AkSimd.h>
58 #ifndef AKSIMD_ASSERTFLUSHZEROMODE
59 #define AKSIMD_ASSERTFLUSHZEROMODE
66 inline operator const AkReal32* ()
const noexcept {
return f; }
72 inline operator const AkInt32* ()
const noexcept {
return i; }
75 #define AKSIMD_SETVR_V2F64( _a, _b ) AKSIMD_SETV_V2F64( (_b), (_a) )
76 #define AKSIMD_SETVR_V4F32( _a, _b, _c, _d ) AKSIMD_SETV_V4F32( (_d), (_c), (_b), (_a) )
77 #define AKSIMD_SETVR_V2I64( _a, _b) AKSIMD_SETV_V2I64( (_b), (_a) )
78 #define AKSIMD_SETVR_V4I32( _a, _b, _c, _d ) AKSIMD_SETV_V4I32( (_d), (_c), (_b), (_a) )
79 #define AKSIMD_DECLARE_V4F32( _x, _a, _b, _c, _d ) AKSIMD_DECLARE_V4F32_TYPE _x = { _a, _b, _c, _d };
80 #define AKSIMD_DECLARE_V4I32( _x, _a, _b, _c, _d ) AKSIMD_DECLARE_V4I32_TYPE _x = { _a, _b, _c, _d };
82 #define AKSIMD_SETELEMENT_V4F32( __vName__, __num__, __value__ ) ( AKSIMD_GETELEMENT_V4F32( __vName__, __num__ ) = (__value__) )
AkForceInline void AKSIMD_TRANSPOSE4X4_V4F32(AKSIMD_V4F32 &A, AKSIMD_V4F32 &B, AKSIMD_V4F32 &C, AKSIMD_V4F32 &D)
float AkReal32
32-bit floating point
int32_t AkInt32
Signed 32-bit integer
AK_ALIGN_SIMD(AkInt32 i[4])
AK_ALIGN_SIMD(AkReal32 f[4])
지원이 필요하신가요?
질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!
지원 페이지를 방문해 주세요
작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요