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{
00025 namespace ocl_type 
00026 {
00028         // Scalar types 
00029 
00032 
00033         typedef detail::int8                                            cl_char;                
00034         typedef detail::int16                                           cl_short;               
00035         typedef detail::int32                                           cl_int;                 
00036         typedef detail::int64                                           cl_long;                
00037 
00038         typedef detail::uint8                                           cl_uchar;               
00039         typedef detail::uint16                                          cl_ushort;              
00040         typedef detail::uint32                                          cl_uint;                
00041         typedef detail::uint64                                          cl_ulong;               
00042 
00043         typedef detail::float16                                         cl_half;        
00044         typedef detail::float32                                         cl_float;       
00045 
00046 
00047         typedef detail::int8                                            cl_char1;               
00048         typedef detail::int16                                           cl_short1;              
00049         typedef detail::int32                                           cl_int1;                        
00050         typedef detail::int64                                           cl_long1;               
00051 
00052         typedef detail::uint8                                           cl_uchar1;              
00053         typedef detail::uint16                                          cl_ushort1;             
00054         typedef detail::uint32                                          cl_uint1;               
00055         typedef detail::uint64                                          cl_ulong1;              
00056 
00057         //typedef detail::float16                                               cl_half1;       //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
00058         typedef detail::float32                                         cl_float1;      
00059 
00060 
00061         typedef detail::tvec2<detail::int8>                     cl_char2;               
00062         typedef detail::tvec2<detail::int16>            cl_short2;              
00063         typedef detail::tvec2<detail::int32>            cl_int2;                        
00064         typedef detail::tvec2<detail::int64>            cl_long2;               
00065 
00066         typedef detail::tvec2<detail::uint8>            cl_uchar2;              
00067         typedef detail::tvec2<detail::uint16>           cl_ushort2;             
00068         typedef detail::tvec2<detail::uint32>           cl_uint2;               
00069         typedef detail::tvec2<detail::uint64>           cl_ulong2;              
00070 
00071         //typedef detail::tvec2<detail::float16>                cl_half2;       //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
00072         typedef detail::tvec2<detail::float32>          cl_float2;      
00073 
00074 
00075         typedef detail::tvec3<detail::int8>                     cl_char3;               
00076         typedef detail::tvec3<detail::int16>            cl_short3;              
00077         typedef detail::tvec3<detail::int32>            cl_int3;                        
00078         typedef detail::tvec3<detail::int64>            cl_long3;               
00079 
00080         typedef detail::tvec3<detail::uint8>            cl_uchar3;              
00081         typedef detail::tvec3<detail::uint16>           cl_ushort3;             
00082         typedef detail::tvec3<detail::uint32>           cl_uint3;               
00083         typedef detail::tvec3<detail::uint64>           cl_ulong3;              
00084 
00085         //typedef detail::tvec3<detail::float16>                cl_half3;       //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
00086         typedef detail::tvec3<detail::float32>          cl_float3;      
00087 
00088 
00089         typedef detail::tvec4<detail::int8>                     cl_char4;               
00090         typedef detail::tvec4<detail::int16>            cl_short4;              
00091         typedef detail::tvec4<detail::int32>            cl_int4;                        
00092         typedef detail::tvec4<detail::int64>            cl_long4;               
00093         typedef detail::tvec4<detail::uint8>            cl_uchar4;              
00094         typedef detail::tvec4<detail::uint16>           cl_ushort4;             
00095         typedef detail::tvec4<detail::uint32>           cl_uint4;               
00096         typedef detail::tvec4<detail::uint64>           cl_ulong4;              
00097 
00098         //typedef detail::tvec4<detail::float16>                cl_half4;       //!< \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)
00099         typedef detail::tvec4<detail::float32>          cl_float4;      
00100 
00102 }//namespace ocl_type
00103 }//namespace gtx
00104 }//namespace glm
00105 
00106 #include "ocl_type.inl"
00107 
00108 namespace glm{using namespace gtx::ocl_type;}
00109 
00110 #endif//glm_gtx_ocl_type