glm/doc/html/a00072_source.html

131 lines
21 KiB
HTML
Raw Normal View History

2010-04-29 10:54:07 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>GLM: ocl_type.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
</ul>
</div>
<h1>ocl_type.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="comment">// OpenGL Mathematics Copyright (c) 2005 - 2009 G-Truc Creation (www.g-truc.net)</span>
<a name="l00004"></a>00004 <span class="comment"></span><span class="comment">// Created : 2009-05-07</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-05-07</span>
<a name="l00006"></a>00006 <span class="comment">// Licence : This source is under MIT License</span>
<a name="l00007"></a>00007 <span class="comment">// File : glm/gtx/number_precision.hpp</span>
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">// Dependency:</span>
<a name="l00010"></a>00010 <span class="comment">// - GLM core</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="preprocessor">#ifndef glm_gtx_ocl_type</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtx_ocl_type</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span>
<a name="l00016"></a>00016 <span class="comment">// Dependency:</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="keyword">namespace </span>glm{
<a name="l00020"></a>00020 <span class="keyword">namespace </span>gtx{
<a name="l00022"></a><a class="code" href="a00191.html">00022</a> <span class="keyword">namespace </span>ocl_type
<a name="l00023"></a>00023 {
<a name="l00025"></a>00025 <span class="comment">// Scalar types </span>
<a name="l00026"></a>00026
<a name="l00027"></a><a class="code" href="a00191.html#a595300752d3c11b13411074df8fcadc7">00027</a> <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00191.html#a595300752d3c11b13411074df8fcadc7" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char</a>;
<a name="l00028"></a><a class="code" href="a00191.html#a30b0387f3031a789362d91fc2dd2dc3f">00028</a> <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00191.html#a30b0387f3031a789362d91fc2dd2dc3f" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short</a>;
<a name="l00029"></a><a class="code" href="a00191.html#a15daeef78674bfa6218f1fc8050e0967">00029</a> <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00191.html#a15daeef78674bfa6218f1fc8050e0967" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int</a>;
<a name="l00030"></a><a class="code" href="a00191.html#a58de53886632d819d967a2972a977c37">00030</a> <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00191.html#a58de53886632d819d967a2972a977c37" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long</a>;
<a name="l00031"></a>00031
<a name="l00032"></a><a class="code" href="a00191.html#a791bdd6f40533322f03efcc031dc43e7">00032</a> <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00191.html#a791bdd6f40533322f03efcc031dc43e7" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar</a>;
<a name="l00033"></a><a class="code" href="a00191.html#a17431e27a8e8d20ec69a3ba3f6557a2d">00033</a> <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00191.html#a17431e27a8e8d20ec69a3ba3f6557a2d" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort</a>;
<a name="l00034"></a><a class="code" href="a00191.html#afab0cba90c3db2c143bb3e1bc38ac41f">00034</a> <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00191.html#afab0cba90c3db2c143bb3e1bc38ac41f" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint</a>;
<a name="l00035"></a><a class="code" href="a00191.html#af00884c494b2bd9d47c739847c5e8eaf">00035</a> <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00191.html#af00884c494b2bd9d47c739847c5e8eaf" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong</a>;
<a name="l00036"></a>00036
<a name="l00037"></a><a class="code" href="a00191.html#a8bb152355ac899354df1742c673faad0">00037</a> <span class="keyword">typedef</span> detail::float16 <a class="code" href="a00191.html#a8bb152355ac899354df1742c673faad0" title="Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension).">cl_half</a>;
<a name="l00038"></a><a class="code" href="a00191.html#a6a505bfaeb7d16f0aee456c238d31f06">00038</a> <span class="keyword">typedef</span> detail::float32 <a class="code" href="a00191.html#a6a505bfaeb7d16f0aee456c238d31f06" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension).">cl_float</a>;
<a name="l00039"></a>00039
<a name="l00040"></a>00040
<a name="l00041"></a><a class="code" href="a00191.html#afe341e63c543ce750d41ed776ca0f8cc">00041</a> <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00191.html#afe341e63c543ce750d41ed776ca0f8cc" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char1</a>;
<a name="l00042"></a><a class="code" href="a00191.html#acedae42c667e97db08055a962e4ac73f">00042</a> <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00191.html#acedae42c667e97db08055a962e4ac73f" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short1</a>;
<a name="l00043"></a><a class="code" href="a00191.html#a929eeb0ebaa707edf32fe6381eac38a2">00043</a> <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00191.html#a929eeb0ebaa707edf32fe6381eac38a2" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int1</a>;
<a name="l00044"></a><a class="code" href="a00191.html#a23c699d4f4ccf698822b67da14b87481">00044</a> <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00191.html#a23c699d4f4ccf698822b67da14b87481" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long1</a>;
<a name="l00045"></a>00045
<a name="l00046"></a><a class="code" href="a00191.html#a458a3244086d84cb4a02356e17e10e41">00046</a> <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00191.html#a458a3244086d84cb4a02356e17e10e41" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar1</a>;
<a name="l00047"></a><a class="code" href="a00191.html#a2765c8e248830f14881cafc7ff08ce48">00047</a> <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00191.html#a2765c8e248830f14881cafc7ff08ce48" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort1</a>;
<a name="l00048"></a><a class="code" href="a00191.html#a463351df94e9f31c91787e9ead1d0f5e">00048</a> <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00191.html#a463351df94e9f31c91787e9ead1d0f5e" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint1</a>;
<a name="l00049"></a><a class="code" href="a00191.html#a38c51ec5073e63c422c741cf7e40a6a8">00049</a> <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00191.html#a38c51ec5073e63c422c741cf7e40a6a8" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong1</a>;
<a name="l00050"></a>00050
<a name="l00051"></a>00051 <span class="comment">//typedef detail::float16 cl_half1; //!&lt; \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)</span>
<a name="l00052"></a><a class="code" href="a00191.html#abd9de5d6f4075dcf643bcb3c74b4d169">00052</a> <span class="keyword">typedef</span> detail::float32 <a class="code" href="a00191.html#abd9de5d6f4075dcf643bcb3c74b4d169" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension).">cl_float1</a>;
<a name="l00053"></a>00053
<a name="l00054"></a>00054
<a name="l00055"></a><a class="code" href="a00191.html#a5eaab898e9289ffad98798d96a8ff22e">00055</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::int8&gt; <a class="code" href="a00191.html#a5eaab898e9289ffad98798d96a8ff22e" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char2</a>;
<a name="l00056"></a><a class="code" href="a00191.html#a035b54a5fd591587d9fa6131e8a0c73c">00056</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::int16&gt; <a class="code" href="a00191.html#a035b54a5fd591587d9fa6131e8a0c73c" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short2</a>;
<a name="l00057"></a><a class="code" href="a00191.html#a75d44bea03be3491e5636dea711b70eb">00057</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::int32&gt; <a class="code" href="a00191.html#a75d44bea03be3491e5636dea711b70eb" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int2</a>;
<a name="l00058"></a><a class="code" href="a00191.html#a64aa9b2dc534ebd9cb26010e2eabd987">00058</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::int64&gt; <a class="code" href="a00191.html#a64aa9b2dc534ebd9cb26010e2eabd987" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long2</a>;
<a name="l00059"></a>00059
<a name="l00060"></a><a class="code" href="a00191.html#afee78def47febbb4ff7789df67f80e67">00060</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::uint8&gt; <a class="code" href="a00191.html#afee78def47febbb4ff7789df67f80e67" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar2</a>;
<a name="l00061"></a><a class="code" href="a00191.html#a83879286ad8a304211a9bd1dec8a81b9">00061</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::uint16&gt; <a class="code" href="a00191.html#a83879286ad8a304211a9bd1dec8a81b9" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort2</a>;
<a name="l00062"></a><a class="code" href="a00191.html#af64dcd996174ae3271a9590c232d680f">00062</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::uint32&gt; <a class="code" href="a00191.html#af64dcd996174ae3271a9590c232d680f" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint2</a>;
<a name="l00063"></a><a class="code" href="a00191.html#a983b584fd1a89ba357c4d161f57a97a5">00063</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::uint64&gt; <a class="code" href="a00191.html#a983b584fd1a89ba357c4d161f57a97a5" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong2</a>;
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="comment">//typedef detail::tvec2&lt;detail::float16&gt; cl_half2; //!&lt; \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)</span>
<a name="l00066"></a><a class="code" href="a00191.html#a1d631e031b44406b9ecf4c9390ff4aaf">00066</a> <span class="keyword">typedef</span> detail::tvec2&lt;detail::float32&gt; <a class="code" href="a00191.html#a1d631e031b44406b9ecf4c9390ff4aaf" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension).">cl_float2</a>;
<a name="l00067"></a>00067
<a name="l00068"></a>00068
<a name="l00069"></a><a class="code" href="a00191.html#a3f60c528dc517a88386358e525238198">00069</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::int8&gt; <a class="code" href="a00191.html#a3f60c528dc517a88386358e525238198" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char3</a>;
<a name="l00070"></a><a class="code" href="a00191.html#aacc919abeb1dac5c46b35cba6f2ff1f6">00070</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::int16&gt; <a class="code" href="a00191.html#aacc919abeb1dac5c46b35cba6f2ff1f6" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short3</a>;
<a name="l00071"></a><a class="code" href="a00191.html#a685501809b08b64d48ede7cd04818675">00071</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::int32&gt; <a class="code" href="a00191.html#a685501809b08b64d48ede7cd04818675" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int3</a>;
<a name="l00072"></a><a class="code" href="a00191.html#a6deed316e020729bc448758fc2e72388">00072</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::int64&gt; <a class="code" href="a00191.html#a6deed316e020729bc448758fc2e72388" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long3</a>;
<a name="l00073"></a>00073
<a name="l00074"></a><a class="code" href="a00191.html#a03f1fdd60172bf92db40de83e13ab2f8">00074</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::uint8&gt; <a class="code" href="a00191.html#a03f1fdd60172bf92db40de83e13ab2f8" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar3</a>;
<a name="l00075"></a><a class="code" href="a00191.html#a8ffa538b79f80a173f52a83c3bcc0587">00075</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::uint16&gt; <a class="code" href="a00191.html#a8ffa538b79f80a173f52a83c3bcc0587" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort3</a>;
<a name="l00076"></a><a class="code" href="a00191.html#a423c13d5b93ab6f5fcdf248e0c89fb8d">00076</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::uint32&gt; <a class="code" href="a00191.html#a423c13d5b93ab6f5fcdf248e0c89fb8d" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint3</a>;
<a name="l00077"></a><a class="code" href="a00191.html#aad8f2d09028d9522ff6b792ceaeeebbc">00077</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::uint64&gt; <a class="code" href="a00191.html#aad8f2d09028d9522ff6b792ceaeeebbc" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong3</a>;
<a name="l00078"></a>00078
<a name="l00079"></a>00079 <span class="comment">//typedef detail::tvec3&lt;detail::float16&gt; cl_half3; //!&lt; \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)</span>
<a name="l00080"></a><a class="code" href="a00191.html#aad4526a10e23f201f55649f264856683">00080</a> <span class="keyword">typedef</span> detail::tvec3&lt;detail::float32&gt; <a class="code" href="a00191.html#aad4526a10e23f201f55649f264856683" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension).">cl_float3</a>;
<a name="l00081"></a>00081
<a name="l00082"></a>00082
<a name="l00083"></a><a class="code" href="a00191.html#a7235804672db90b3b2e8bba142ff4977">00083</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::int8&gt; <a class="code" href="a00191.html#a7235804672db90b3b2e8bba142ff4977" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_char4</a>;
<a name="l00084"></a><a class="code" href="a00191.html#a4682ecd16257fe283e891b3979e3037c">00084</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::int16&gt; <a class="code" href="a00191.html#a4682ecd16257fe283e891b3979e3037c" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_short4</a>;
<a name="l00085"></a><a class="code" href="a00191.html#a7cf765cb37a5717826260a44e7c37d03">00085</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::int32&gt; <a class="code" href="a00191.html#a7cf765cb37a5717826260a44e7c37d03" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_int4</a>;
<a name="l00086"></a><a class="code" href="a00191.html#a4f38be1bb22d86fa7617da6f6907b74c">00086</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::int64&gt; <a class="code" href="a00191.html#a4f38be1bb22d86fa7617da6f6907b74c" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_long4</a>;
<a name="l00087"></a><a class="code" href="a00191.html#a1ba627aa90581618f0aff17a4f52ebc6">00087</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::uint8&gt; <a class="code" href="a00191.html#a1ba627aa90581618f0aff17a4f52ebc6" title="8bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uchar4</a>;
<a name="l00088"></a><a class="code" href="a00191.html#aef286e330c9eaa72e71c5081a85592b3">00088</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::uint16&gt; <a class="code" href="a00191.html#aef286e330c9eaa72e71c5081a85592b3" title="16bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ushort4</a>;
<a name="l00089"></a><a class="code" href="a00191.html#ae75d9f1c7e3cebf862623eb3073870b0">00089</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::uint32&gt; <a class="code" href="a00191.html#ae75d9f1c7e3cebf862623eb3073870b0" title="32bit signed integer. (from GLM_GTX_ocl_type extension)">cl_uint4</a>;
<a name="l00090"></a><a class="code" href="a00191.html#a5724575e5574de465785f06eeefd8789">00090</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::uint64&gt; <a class="code" href="a00191.html#a5724575e5574de465785f06eeefd8789" title="64bit signed integer. (from GLM_GTX_ocl_type extension)">cl_ulong4</a>;
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="comment">//typedef detail::tvec4&lt;detail::float16&gt; cl_half4; //!&lt; \brief Half-precision floating-point scalar. (from GLM_GTX_ocl_type extension)</span>
<a name="l00093"></a><a class="code" href="a00191.html#a6a4d1b4f7bfdb1721f1554b30096b325">00093</a> <span class="keyword">typedef</span> detail::tvec4&lt;detail::float32&gt; <a class="code" href="a00191.html#a6a4d1b4f7bfdb1721f1554b30096b325" title="Single-precision floating-point scalar. (from GLM_GTX_ocl_type extension).">cl_float4</a>;
<a name="l00094"></a>00094
<a name="l00095"></a>00095 }<span class="comment">//namespace ocl_type</span>
<a name="l00096"></a>00096 }<span class="comment">//namespace gtx</span>
<a name="l00097"></a>00097 }<span class="comment">//namespace glm</span>
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <span class="preprocessor">#define GLM_GTX_ocl_type namespace gtx::ocl_type;</span>
<a name="l00100"></a>00100 <span class="preprocessor"></span><span class="preprocessor">#ifndef GLM_GTX_GLOBAL</span>
<a name="l00101"></a>00101 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTX_ocl_type;}
<a name="l00102"></a>00102 <span class="preprocessor">#endif//GLM_GTX_GLOBAL</span>
<a name="l00103"></a>00103 <span class="preprocessor"></span>
<a name="l00104"></a>00104 <span class="preprocessor">#include &quot;ocl_type.inl&quot;</span>
<a name="l00105"></a>00105
<a name="l00106"></a>00106 <span class="preprocessor">#endif//glm_gtx_ocl_type</span>
</pre></div></div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Mon Nov 16 11:23:23 2009 for GLM by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>