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