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_core_intrinsic_geometric
00030 #define glm_core_intrinsic_geometric
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 #include "intrinsic_common.hpp"
00039 
00040 namespace glm{
00041 namespace detail
00042 {
00043         
00044         __m128 sse_len_ps(__m128 x);
00045 
00046         
00047         __m128 sse_dst_ps(__m128 p0, __m128 p1);
00048 
00049         
00050         __m128 sse_dot_ps(__m128 v1, __m128 v2);
00051 
00052         
00053         __m128 sse_dot_ss(__m128 v1, __m128 v2);
00054 
00055         
00056         __m128 sse_xpd_ps(__m128 v1, __m128 v2);
00057 
00058         
00059         __m128 sse_nrm_ps(__m128 v);
00060 
00061         
00062         __m128 sse_ffd_ps(__m128 N, __m128 I, __m128 Nref);
00063 
00064         
00065         __m128 sse_rfe_ps(__m128 I, __m128 N);
00066 
00067         
00068         __m128 sse_rfa_ps(__m128 I, __m128 N, __m128 eta);
00069 
00070 }
00071 }
00072 
00073 #include "intrinsic_geometric.inl"
00074 
00075 #endif//GLM_ARCH
00076 #endif//glm_core_intrinsic_geometric