ocl_type.hpp

00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2009-05-07
00005 // Updated : 2009-05-07
00006 // Licence : This source is under MIT License
00007 // File    : glm/gtx/number_precision.hpp
00009 // Dependency:
00010 // - GLM core
00012 
00013 #ifndef glm_gtx_ocl_type
00014 #define glm_gtx_ocl_type
00015 
00016 // Dependency:
00017 #include "../glm.hpp"
00018 
00019 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00020 #       pragma message("GLM: GLM_GTX_ocl_type extension included")
00021 #endif
00022 
00023 namespace glm{
00024 namespace gtx{
00026 namespace ocl_type
00027 {
00029         // Scalar types 
00030 
00033 
00034         typedef detail::int8                                            cl_char;                
00035         typedef detail::int16                                           cl_short;               
00036         typedef detail::int32                                           cl_int;                 
00037         typedef detail::int64                                           cl_long;                
00038 
00039         typedef detail::uint8                                           cl_uchar;               
00040         typedef detail::uint16                                          cl_ushort;              
00041         typedef detail::uint32                                          cl_uint;                
00042         typedef detail::uint64                                          cl_ulong;               
00043 
00044         typedef detail::float16                                         cl_half;        
00045         typedef detail::float32                                         cl_float;       
00046 
00047 
00048         typedef detail::int8                                            cl_char1;               
00049         typedef detail::int16                                           cl_short1;              
00050         typedef detail::int32                                           cl_int1;                        
00051         typedef detail::int64                                           cl_long1;               
00052 
00053         typedef detail::uint8                                           cl_uchar1;              
00054         typedef detail::uint16                                          cl_ushort1;             
00055         typedef detail::uint32                                          cl_uint1;               
00056         typedef detail::uint64                                          cl_ulong1;              
00057 
00058         //typedef detail::float16                                               cl_half1;       //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
00059         typedef detail::float32                                         cl_float1;      
00060 
00061 
00062         typedef detail::tvec2<detail::int8>                     cl_char2;               
00063         typedef detail::tvec2<detail::int16>            cl_short2;              
00064         typedef detail::tvec2<detail::int32>            cl_int2;                        
00065         typedef detail::tvec2<detail::int64>            cl_long2;               
00066 
00067         typedef detail::tvec2<detail::uint8>            cl_uchar2;              
00068         typedef detail::tvec2<detail::uint16>           cl_ushort2;             
00069         typedef detail::tvec2<detail::uint32>           cl_uint2;               
00070         typedef detail::tvec2<detail::uint64>           cl_ulong2;              
00071 
00072         //typedef detail::tvec2<detail::float16>                cl_half2;       //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
00073         typedef detail::tvec2<detail::float32>          cl_float2;      
00074 
00075 
00076         typedef detail::tvec3<detail::int8>                     cl_char3;               
00077         typedef detail::tvec3<detail::int16>            cl_short3;              
00078         typedef detail::tvec3<detail::int32>            cl_int3;                        
00079         typedef detail::tvec3<detail::int64>            cl_long3;               
00080 
00081         typedef detail::tvec3<detail::uint8>            cl_uchar3;              
00082         typedef detail::tvec3<detail::uint16>           cl_ushort3;             
00083         typedef detail::tvec3<detail::uint32>           cl_uint3;               
00084         typedef detail::tvec3<detail::uint64>           cl_ulong3;              
00085 
00086         //typedef detail::tvec3<detail::float16>                cl_half3;       //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
00087         typedef detail::tvec3<detail::float32>          cl_float3;      
00088 
00089 
00090         typedef detail::tvec4<detail::int8>                     cl_char4;               
00091         typedef detail::tvec4<detail::int16>            cl_short4;              
00092         typedef detail::tvec4<detail::int32>            cl_int4;                        
00093         typedef detail::tvec4<detail::int64>            cl_long4;               
00094         typedef detail::tvec4<detail::uint8>            cl_uchar4;              
00095         typedef detail::tvec4<detail::uint16>           cl_ushort4;             
00096         typedef detail::tvec4<detail::uint32>           cl_uint4;               
00097         typedef detail::tvec4<detail::uint64>           cl_ulong4;              
00098 
00099         //typedef detail::tvec4<detail::float16>                cl_half4;       //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
00100         typedef detail::tvec4<detail::float32>          cl_float4;      
00101 
00103 
00104 }//namespace ocl_type
00105 }//namespace gtx
00106 }//namespace glm
00107 
00108 #include "ocl_type.inl"
00109 
00110 namespace glm{using namespace gtx::ocl_type;}
00111 
00112 #endif//glm_gtx_ocl_type