Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef glm_detail_intrinsic_common
00030 #define glm_detail_intrinsic_common
00031
00032 #include "setup.hpp"
00033
00034 #if((GLM_ARCH & GLM_ARCH_SSE2) != GLM_ARCH_SSE2)
00035 # error "SSE2 instructions not supported or enabled"
00036 #else
00037
00038 namespace glm{
00039 namespace detail
00040 {
00041 __m128 sse_abs_ps(__m128 x);
00042
00043 __m128 sse_sgn_ps(__m128 x);
00044
00045
00046 __m128 sse_flr_ps(__m128 v);
00047
00048
00049 __m128 sse_trc_ps(__m128 v);
00050
00051
00052 __m128 sse_nd_ps(__m128 v);
00053
00054
00055 __m128 sse_rde_ps(__m128 v);
00056
00057 __m128 sse_rnd_ps(__m128 x);
00058
00059 __m128 sse_ceil_ps(__m128 v);
00060
00061 __m128 sse_frc_ps(__m128 x);
00062
00063 __m128 sse_mod_ps(__m128 x, __m128 y);
00064
00065 __m128 sse_modf_ps(__m128 x, __m128i & i);
00066
00067
00068
00069
00070
00071 __m128 sse_clp_ps(__m128 v, __m128 minVal, __m128 maxVal);
00072
00073 __m128 sse_mix_ps(__m128 v1, __m128 v2, __m128 a);
00074
00075 __m128 sse_stp_ps(__m128 edge, __m128 x);
00076
00077 __m128 sse_ssp_ps(__m128 edge0, __m128 edge1, __m128 x);
00078
00079 __m128 sse_nan_ps(__m128 x);
00080
00081 __m128 sse_inf_ps(__m128 x);
00082
00083 }
00084 }
00085
00086 #include "intrinsic_common.inl"
00087
00088 #endif//GLM_ARCH
00089 #endif//glm_detail_intrinsic_common