glm/doc/html/a00109_source.html
Christophe Riccio 7c7b1d0b3d Added GLM 0.8.4
2010-04-29 11:54:07 +01:00

224 lines
48 KiB
HTML

<!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: type_precision.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>type_precision.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-06-04</span>
<a name="l00005"></a>00005 <span class="comment">// Updated : 2009-06-04</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/gtc/type_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="l00011"></a>00011 <span class="comment">// - GLM_GTC_half</span>
<a name="l00012"></a>00012 <span class="comment">// - GLM_GTC_double</span>
<a name="l00013"></a>00013 <span class="comment">// - GLM_GTC_quaternion</span>
<a name="l00015"></a>00015 <span class="comment"></span>
<a name="l00016"></a>00016 <span class="preprocessor">#ifndef glm_gtc_type_precision</span>
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define glm_gtc_type_precision</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span>
<a name="l00019"></a>00019 <span class="comment">// Dependency:</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &quot;../glm.hpp&quot;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &quot;../gtc/half_float.hpp&quot;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &quot;../gtc/double_float.hpp&quot;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &quot;../gtc/quaternion.hpp&quot;</span>
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">namespace </span>glm
<a name="l00026"></a>00026 {
<a name="l00027"></a>00027 <span class="keyword">namespace </span>test{
<a name="l00028"></a>00028 <span class="keywordtype">bool</span> main_gtc_type_precision();
<a name="l00029"></a>00029 }<span class="comment">//namespace test</span>
<a name="l00030"></a>00030
<a name="l00031"></a>00031 <span class="keyword">namespace </span>gtc{
<a name="l00033"></a><a class="code" href="a00149.html">00033</a> <span class="keyword">namespace </span>type_precision
<a name="l00034"></a>00034 {
<a name="l00036"></a>00036 <span class="comment">// Dependences</span>
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="keyword">using namespace </span>gtc::half_float;
<a name="l00039"></a>00039 <span class="keyword">using namespace </span>gtc::double_float;
<a name="l00040"></a>00040 <span class="keyword">using namespace </span>gtc::quaternion;
<a name="l00041"></a>00041
<a name="l00043"></a>00043 <span class="comment">// Signed int vector types </span>
<a name="l00044"></a>00044
<a name="l00045"></a><a class="code" href="a00149.html#a41c6189f6485c2825d60fdc835b3a2b0">00045</a> <span class="keyword">typedef</span> detail::int8 <a class="code" href="a00149.html#a41c6189f6485c2825d60fdc835b3a2b0" title="8bit signed integer. (from GLM_GTC_type_precision extension)">int8</a>;
<a name="l00046"></a><a class="code" href="a00149.html#a302041c186d0d028bea31b711fe16759">00046</a> <span class="keyword">typedef</span> detail::int16 <a class="code" href="a00149.html#a302041c186d0d028bea31b711fe16759" title="16bit signed integer. (from GLM_GTC_type_precision extension)">int16</a>;
<a name="l00047"></a><a class="code" href="a00149.html#a8df669f4e7698dfe0c0354d92578d74f">00047</a> <span class="keyword">typedef</span> detail::int32 <a class="code" href="a00149.html#a8df669f4e7698dfe0c0354d92578d74f" title="32bit signed integer. (from GLM_GTC_type_precision extension)">int32</a>;
<a name="l00048"></a><a class="code" href="a00149.html#aff5189f97f9e842d9636a0f240001b2e">00048</a> <span class="keyword">typedef</span> detail::int64 <a class="code" href="a00149.html#aff5189f97f9e842d9636a0f240001b2e" title="64bit signed integer. (from GLM_GTC_type_precision extension)">int64</a>;
<a name="l00049"></a>00049
<a name="l00050"></a><a class="code" href="a00149.html#a112f99168645b5338136b72eddd12895">00050</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a41c6189f6485c2825d60fdc835b3a2b0" title="8bit signed integer. (from GLM_GTC_type_precision extension)">int8</a> <a class="code" href="a00149.html#a112f99168645b5338136b72eddd12895" title="8bit signed integer. (from GLM_GTC_type_precision extension)">i8</a>;
<a name="l00051"></a><a class="code" href="a00149.html#a47ad84e86d8eef23a5ebab2815242a0d">00051</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a302041c186d0d028bea31b711fe16759" title="16bit signed integer. (from GLM_GTC_type_precision extension)">int16</a> <a class="code" href="a00149.html#a47ad84e86d8eef23a5ebab2815242a0d" title="16bit signed integer. (from GLM_GTC_type_precision extension)">i16</a>;
<a name="l00052"></a><a class="code" href="a00149.html#a324db08ffb2a193f9a10864288b94523">00052</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a8df669f4e7698dfe0c0354d92578d74f" title="32bit signed integer. (from GLM_GTC_type_precision extension)">int32</a> <a class="code" href="a00149.html#a324db08ffb2a193f9a10864288b94523" title="32bit signed integer. (from GLM_GTC_type_precision extension)">i32</a>;
<a name="l00053"></a><a class="code" href="a00149.html#a60abe2e6e0bacb893a2d6d17cc50f753">00053</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#aff5189f97f9e842d9636a0f240001b2e" title="64bit signed integer. (from GLM_GTC_type_precision extension)">int64</a> <a class="code" href="a00149.html#a60abe2e6e0bacb893a2d6d17cc50f753" title="64bit signed integer. (from GLM_GTC_type_precision extension)">i64</a>;
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="comment">//typedef i8 i8vec1; //!&lt; \brief 8bit signed integer scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00056"></a><a class="code" href="a00149.html#a9ab3f26fa232d5a4d2397d7904eb9069">00056</a> <span class="keyword">typedef</span> detail::tvec2&lt;i8&gt; <a class="code" href="a00149.html#a9ab3f26fa232d5a4d2397d7904eb9069" title="8bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)...">i8vec2</a>;
<a name="l00057"></a><a class="code" href="a00149.html#aa8c91ad088bbbd51f2ef3b7701f00ed9">00057</a> <span class="keyword">typedef</span> detail::tvec3&lt;i8&gt; <a class="code" href="a00149.html#aa8c91ad088bbbd51f2ef3b7701f00ed9" title="8bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension)...">i8vec3</a>;
<a name="l00058"></a><a class="code" href="a00149.html#a792e1b3e596a020df28a8eb4ec3c0708">00058</a> <span class="keyword">typedef</span> detail::tvec4&lt;i8&gt; <a class="code" href="a00149.html#a792e1b3e596a020df28a8eb4ec3c0708" title="8bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension)...">i8vec4</a>;
<a name="l00059"></a>00059
<a name="l00060"></a>00060 <span class="comment">//typedef i16 i16vec1; //!&lt; \brief 16bit signed integer scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00061"></a><a class="code" href="a00149.html#a6a9c8e79629016f081cd3274eeafe429">00061</a> <span class="keyword">typedef</span> detail::tvec2&lt;i16&gt; <a class="code" href="a00149.html#a6a9c8e79629016f081cd3274eeafe429" title="16bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)...">i16vec2</a>;
<a name="l00062"></a><a class="code" href="a00149.html#a539ac09149e338c783bc492fd25d504c">00062</a> <span class="keyword">typedef</span> detail::tvec3&lt;i16&gt; <a class="code" href="a00149.html#a539ac09149e338c783bc492fd25d504c" title="16bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension)...">i16vec3</a>;
<a name="l00063"></a><a class="code" href="a00149.html#a09c99e80eb63c8df7a9cc4021c8a2811">00063</a> <span class="keyword">typedef</span> detail::tvec4&lt;i16&gt; <a class="code" href="a00149.html#a09c99e80eb63c8df7a9cc4021c8a2811" title="16bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension)...">i16vec4</a>;
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="comment">//typedef i32 i32vec1; //!&lt; \brief 32bit signed integer scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00066"></a><a class="code" href="a00149.html#a587a33330386e50f7ff9a870f1b62ab1">00066</a> <span class="keyword">typedef</span> detail::tvec2&lt;i32&gt; <a class="code" href="a00149.html#a587a33330386e50f7ff9a870f1b62ab1" title="32bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)...">i32vec2</a>;
<a name="l00067"></a><a class="code" href="a00149.html#ae8b7bb7698c98fb69f2a4aff8a757416">00067</a> <span class="keyword">typedef</span> detail::tvec3&lt;i32&gt; <a class="code" href="a00149.html#ae8b7bb7698c98fb69f2a4aff8a757416" title="32bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension)...">i32vec3</a>;
<a name="l00068"></a><a class="code" href="a00149.html#aa82f1d2958dfcc463a2498d52ee80a0a">00068</a> <span class="keyword">typedef</span> detail::tvec4&lt;i32&gt; <a class="code" href="a00149.html#aa82f1d2958dfcc463a2498d52ee80a0a" title="32bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension)...">i32vec4</a>;
<a name="l00069"></a>00069
<a name="l00070"></a>00070 <span class="comment">//typedef i64 i64vec1; //!&lt; \brief 32bit signed integer scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00071"></a><a class="code" href="a00149.html#a7a6245c652f68ba306c05bb0d4ca1361">00071</a> <span class="keyword">typedef</span> detail::tvec2&lt;i64&gt; <a class="code" href="a00149.html#a7a6245c652f68ba306c05bb0d4ca1361" title="64bit signed integer vector of 2 components. (from GLM_GTC_type_precision extension)...">i64vec2</a>;
<a name="l00072"></a><a class="code" href="a00149.html#a78ad50b24382913ef6068ded644c9f3f">00072</a> <span class="keyword">typedef</span> detail::tvec3&lt;i64&gt; <a class="code" href="a00149.html#a78ad50b24382913ef6068ded644c9f3f" title="64bit signed integer vector of 3 components. (from GLM_GTC_type_precision extension)...">i64vec3</a>;
<a name="l00073"></a><a class="code" href="a00149.html#a8392ac39a51731ab9a5b3f23a5eaf1d7">00073</a> <span class="keyword">typedef</span> detail::tvec4&lt;i64&gt; <a class="code" href="a00149.html#a8392ac39a51731ab9a5b3f23a5eaf1d7" title="64bit signed integer vector of 4 components. (from GLM_GTC_type_precision extension)...">i64vec4</a>;
<a name="l00074"></a>00074
<a name="l00076"></a>00076 <span class="comment">// Unsigned int vector types </span>
<a name="l00077"></a>00077
<a name="l00078"></a><a class="code" href="a00149.html#a36475e31b1992cfde54c1a6f5a148865">00078</a> <span class="keyword">typedef</span> detail::uint8 <a class="code" href="a00149.html#a36475e31b1992cfde54c1a6f5a148865" title="8bit unsigned integer. (from GLM_GTC_type_precision extension)">uint8</a>;
<a name="l00079"></a><a class="code" href="a00149.html#a13471cbbe74e4303a57f3743d007b74d">00079</a> <span class="keyword">typedef</span> detail::uint16 <a class="code" href="a00149.html#a13471cbbe74e4303a57f3743d007b74d" title="16bit unsigned integer. (from GLM_GTC_type_precision extension)">uint16</a>;
<a name="l00080"></a><a class="code" href="a00149.html#a5fa3ddcab56c789bc272ff5651faa12d">00080</a> <span class="keyword">typedef</span> detail::uint32 <a class="code" href="a00149.html#a5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">uint32</a>;
<a name="l00081"></a><a class="code" href="a00149.html#ab630f76c26b50298187f7889104d4b9c">00081</a> <span class="keyword">typedef</span> detail::uint64 <a class="code" href="a00149.html#ab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">uint64</a>;
<a name="l00082"></a>00082
<a name="l00083"></a><a class="code" href="a00149.html#ad8d9dbef83392da434801486bf814fe4">00083</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a36475e31b1992cfde54c1a6f5a148865" title="8bit unsigned integer. (from GLM_GTC_type_precision extension)">uint8</a> <a class="code" href="a00149.html#ad8d9dbef83392da434801486bf814fe4" title="8bit unsigned integer. (from GLM_GTC_type_precision extension)">u8</a>;
<a name="l00084"></a><a class="code" href="a00149.html#a91ec65f57d610f6902fd081f1d1e265a">00084</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a13471cbbe74e4303a57f3743d007b74d" title="16bit unsigned integer. (from GLM_GTC_type_precision extension)">uint16</a> <a class="code" href="a00149.html#a91ec65f57d610f6902fd081f1d1e265a" title="16bit unsigned integer. (from GLM_GTC_type_precision extension)">u16</a>;
<a name="l00085"></a><a class="code" href="a00149.html#a0bb0c4c53d0a5ea2c01d0bb363b56722">00085</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a5fa3ddcab56c789bc272ff5651faa12d" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">uint32</a> <a class="code" href="a00149.html#a0bb0c4c53d0a5ea2c01d0bb363b56722" title="32bit unsigned integer. (from GLM_GTC_type_precision extension)">u32</a>;
<a name="l00086"></a><a class="code" href="a00149.html#a02ecb7390e4c4515df2268d18f99abc0">00086</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#ab630f76c26b50298187f7889104d4b9c" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">uint64</a> <a class="code" href="a00149.html#a02ecb7390e4c4515df2268d18f99abc0" title="64bit unsigned integer. (from GLM_GTC_type_precision extension)">u64</a>;
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="comment">//typedef u8 u8vec1; //!&lt; \brief 8bit unsigned integer scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00089"></a><a class="code" href="a00149.html#a8f78a1ea21be24a89da31928fc037bfd">00089</a> <span class="keyword">typedef</span> detail::tvec2&lt;u8&gt; <a class="code" href="a00149.html#a8f78a1ea21be24a89da31928fc037bfd" title="8bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension)...">u8vec2</a>;
<a name="l00090"></a><a class="code" href="a00149.html#a7a4cb62a556ad09c7e0721aecac64dbd">00090</a> <span class="keyword">typedef</span> detail::tvec3&lt;u8&gt; <a class="code" href="a00149.html#a7a4cb62a556ad09c7e0721aecac64dbd" title="8bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension)...">u8vec3</a>;
<a name="l00091"></a><a class="code" href="a00149.html#a83091381b9b909057004c4de7896d072">00091</a> <span class="keyword">typedef</span> detail::tvec4&lt;u8&gt; <a class="code" href="a00149.html#a83091381b9b909057004c4de7896d072" title="8bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension)...">u8vec4</a>;
<a name="l00092"></a>00092
<a name="l00093"></a>00093 <span class="comment">//typedef u16 u16vec1; //!&lt; \brief 16bit unsigned integer scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00094"></a><a class="code" href="a00149.html#a63f78111033fd19335588c549fcc0512">00094</a> <span class="keyword">typedef</span> detail::tvec2&lt;u16&gt; <a class="code" href="a00149.html#a63f78111033fd19335588c549fcc0512" title="16bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension)...">u16vec2</a>;
<a name="l00095"></a><a class="code" href="a00149.html#a53d4785d0f40c66bf58b315dd1122fe4">00095</a> <span class="keyword">typedef</span> detail::tvec3&lt;u16&gt; <a class="code" href="a00149.html#a53d4785d0f40c66bf58b315dd1122fe4" title="16bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension)...">u16vec3</a>;
<a name="l00096"></a><a class="code" href="a00149.html#a0331a2b68ce5f72a450f6d45c90f7709">00096</a> <span class="keyword">typedef</span> detail::tvec4&lt;u16&gt; <a class="code" href="a00149.html#a0331a2b68ce5f72a450f6d45c90f7709" title="16bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension)...">u16vec4</a>;
<a name="l00097"></a>00097
<a name="l00098"></a>00098 <span class="comment">//typedef u32 u32vec1; //!&lt; \brief 32bit unsigned integer scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00099"></a><a class="code" href="a00149.html#aae1d6aa5d86a2744294b97e05b623e29">00099</a> <span class="keyword">typedef</span> detail::tvec2&lt;u32&gt; <a class="code" href="a00149.html#aae1d6aa5d86a2744294b97e05b623e29" title="32bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension)...">u32vec2</a>;
<a name="l00100"></a><a class="code" href="a00149.html#ae013bd205f900d8ac3d783e62c9fa294">00100</a> <span class="keyword">typedef</span> detail::tvec3&lt;u32&gt; <a class="code" href="a00149.html#ae013bd205f900d8ac3d783e62c9fa294" title="32bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension)...">u32vec3</a>;
<a name="l00101"></a><a class="code" href="a00149.html#ac61f03e72cbcace4582b0c11859f54c7">00101</a> <span class="keyword">typedef</span> detail::tvec4&lt;u32&gt; <a class="code" href="a00149.html#ac61f03e72cbcace4582b0c11859f54c7" title="32bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension)...">u32vec4</a>;
<a name="l00102"></a>00102
<a name="l00103"></a>00103 <span class="comment">//typedef u64 u64vec1; //!&lt; \brief 64bit unsigned integer scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00104"></a><a class="code" href="a00149.html#a98265c5d66ab4bf19f4242746233526c">00104</a> <span class="keyword">typedef</span> detail::tvec2&lt;u64&gt; <a class="code" href="a00149.html#a98265c5d66ab4bf19f4242746233526c" title="64bit unsigned integer vector of 2 components. (from GLM_GTC_type_precision extension)...">u64vec2</a>;
<a name="l00105"></a><a class="code" href="a00149.html#a470cfa496aae49e63c5becee347651a1">00105</a> <span class="keyword">typedef</span> detail::tvec3&lt;u64&gt; <a class="code" href="a00149.html#a470cfa496aae49e63c5becee347651a1" title="64bit unsigned integer vector of 3 components. (from GLM_GTC_type_precision extension)...">u64vec3</a>;
<a name="l00106"></a><a class="code" href="a00149.html#a34a421d3df867266c9437dc00897edeb">00106</a> <span class="keyword">typedef</span> detail::tvec4&lt;u64&gt; <a class="code" href="a00149.html#a34a421d3df867266c9437dc00897edeb" title="64bit unsigned integer vector of 4 components. (from GLM_GTC_type_precision extension)...">u64vec4</a>;
<a name="l00107"></a>00107
<a name="l00109"></a>00109 <span class="comment">// Float vector types </span>
<a name="l00110"></a>00110
<a name="l00111"></a><a class="code" href="a00149.html#a19287ee46bd37d1459731d7191bc2f66">00111</a> <span class="keyword">typedef</span> detail::float16 <a class="code" href="a00149.html#a19287ee46bd37d1459731d7191bc2f66" title="Half-precision floating-point scalar. (from GLM_GTC_type_precision extension).">float16</a>;
<a name="l00112"></a><a class="code" href="a00149.html#ad3c127f8bf8d7d4e738037c257abb5b1">00112</a> <span class="keyword">typedef</span> detail::float32 <a class="code" href="a00149.html#ad3c127f8bf8d7d4e738037c257abb5b1" title="Single-precision floating-point scalar. (from GLM_GTC_type_precision extension).">float32</a>;
<a name="l00113"></a><a class="code" href="a00149.html#ab5596d48586414c91ccb270962dc14d3">00113</a> <span class="keyword">typedef</span> detail::float64 <a class="code" href="a00149.html#ab5596d48586414c91ccb270962dc14d3" title="Double-precision floating-point scalar. (from GLM_GTC_type_precision extension).">float64</a>;
<a name="l00114"></a>00114
<a name="l00115"></a><a class="code" href="a00149.html#a3ca1b6511bcc12516b5fd76c7976f01b">00115</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#a19287ee46bd37d1459731d7191bc2f66" title="Half-precision floating-point scalar. (from GLM_GTC_type_precision extension).">float16</a> <a class="code" href="a00149.html#a3ca1b6511bcc12516b5fd76c7976f01b" title="Half-precision floating-point scalar. (from GLM_GTC_type_precision extension).">f16</a>;
<a name="l00116"></a><a class="code" href="a00149.html#abe6a542dd6c1d5ffd847f1b9b4c9c9b7">00116</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#ad3c127f8bf8d7d4e738037c257abb5b1" title="Single-precision floating-point scalar. (from GLM_GTC_type_precision extension).">float32</a> <a class="code" href="a00149.html#abe6a542dd6c1d5ffd847f1b9b4c9c9b7" title="Single-precision floating-point scalar. (from GLM_GTC_type_precision extension).">f32</a>;
<a name="l00117"></a><a class="code" href="a00149.html#a1d794d240091678f602e8de225b8d8c9">00117</a> <span class="keyword">typedef</span> <a class="code" href="a00149.html#ab5596d48586414c91ccb270962dc14d3" title="Double-precision floating-point scalar. (from GLM_GTC_type_precision extension).">float64</a> <a class="code" href="a00149.html#a1d794d240091678f602e8de225b8d8c9" title="Double-precision floating-point scalar. (from GLM_GTC_type_precision extension).">f64</a>;
<a name="l00118"></a>00118
<a name="l00119"></a>00119 <span class="comment">//typedef f16 f16vec1; //!&lt; \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00120"></a><a class="code" href="a00149.html#ac29c0992aa0fe2df8f9b6b9edc220822">00120</a> <span class="keyword">typedef</span> detail::tvec2&lt;f16&gt; <a class="code" href="a00149.html#ac29c0992aa0fe2df8f9b6b9edc220822" title="Half-precision floating-point vector of 2 components. (from GLM_GTC_type_precision...">f16vec2</a>;
<a name="l00121"></a><a class="code" href="a00149.html#aa68a583d3e3b202e1b48c7bc94964c78">00121</a> <span class="keyword">typedef</span> detail::tvec3&lt;f16&gt; <a class="code" href="a00149.html#aa68a583d3e3b202e1b48c7bc94964c78" title="Half-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">f16vec3</a>;
<a name="l00122"></a><a class="code" href="a00149.html#ae77767db0311f307255a057fd7358704">00122</a> <span class="keyword">typedef</span> detail::tvec4&lt;f16&gt; <a class="code" href="a00149.html#ae77767db0311f307255a057fd7358704" title="Half-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">f16vec4</a>;
<a name="l00123"></a>00123
<a name="l00124"></a>00124 <span class="comment">//typedef f32 f32vec1; //!&lt; \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00125"></a><a class="code" href="a00149.html#a6a1674122ce80c7f3b77ddbc85b4d9f1">00125</a> <span class="keyword">typedef</span> detail::tvec2&lt;f32&gt; <a class="code" href="a00149.html#a6a1674122ce80c7f3b77ddbc85b4d9f1" title="Single-precision floating-point vector of 2 components. (from GLM_GTC_type_precision...">f32vec2</a>;
<a name="l00126"></a><a class="code" href="a00149.html#a81353c6a9b282b2b34185306a40040ad">00126</a> <span class="keyword">typedef</span> detail::tvec3&lt;f32&gt; <a class="code" href="a00149.html#a81353c6a9b282b2b34185306a40040ad" title="Single-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">f32vec3</a>;
<a name="l00127"></a><a class="code" href="a00149.html#a58dbce28a4d4b0d72c239cf3069bd28b">00127</a> <span class="keyword">typedef</span> detail::tvec4&lt;f32&gt; <a class="code" href="a00149.html#a58dbce28a4d4b0d72c239cf3069bd28b" title="Single-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">f32vec4</a>;
<a name="l00128"></a>00128
<a name="l00129"></a>00129 <span class="comment">//typedef f64 f64vec1; //!&lt; \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00130"></a><a class="code" href="a00149.html#a1de31e7b24d714613b83fb704b8b1fd1">00130</a> <span class="keyword">typedef</span> detail::tvec2&lt;f64&gt; <a class="code" href="a00149.html#a1de31e7b24d714613b83fb704b8b1fd1" title="Double-precision floating-point vector of 2 components. (from GLM_GTC_type_precision...">f64vec2</a>;
<a name="l00131"></a><a class="code" href="a00149.html#a2a4b3d9e62dc8c9b970e91c38bb56997">00131</a> <span class="keyword">typedef</span> detail::tvec3&lt;f64&gt; <a class="code" href="a00149.html#a2a4b3d9e62dc8c9b970e91c38bb56997" title="Double-precision floating-point vector of 3 components. (from GLM_GTC_type_precision...">f64vec3</a>;
<a name="l00132"></a><a class="code" href="a00149.html#a66999872051fdf1934199af093eedece">00132</a> <span class="keyword">typedef</span> detail::tvec4&lt;f64&gt; <a class="code" href="a00149.html#a66999872051fdf1934199af093eedece" title="Double-precision floating-point vector of 4 components. (from GLM_GTC_type_precision...">f64vec4</a>;
<a name="l00133"></a>00133
<a name="l00135"></a>00135 <span class="comment">// Float matrix types </span>
<a name="l00136"></a>00136
<a name="l00137"></a>00137 <span class="comment">//typedef f16 f16mat1; //!&lt; \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00138"></a><a class="code" href="a00149.html#ae16f41dbae14d92fb946080a0a868de9">00138</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;f16&gt; <a class="code" href="a00149.html#ae16f41dbae14d92fb946080a0a868de9" title="Half-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)...">f16mat2</a>;
<a name="l00139"></a><a class="code" href="a00149.html#a3ada76173b353ee8615dcd70dbf7fe7f">00139</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;f16&gt; <a class="code" href="a00149.html#a3ada76173b353ee8615dcd70dbf7fe7f" title="Half-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)...">f16mat3</a>;
<a name="l00140"></a><a class="code" href="a00149.html#ac12c1d9b5e7ef301c81b23cd555c5be9">00140</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;f16&gt; <a class="code" href="a00149.html#ac12c1d9b5e7ef301c81b23cd555c5be9" title="Half-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)...">f16mat4</a>;
<a name="l00141"></a>00141
<a name="l00142"></a>00142 <span class="comment">//typedef f16 f16mat1x1; //!&lt; \brief Half-precision floating-point scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00143"></a><a class="code" href="a00149.html#a0251c24813cf14f31851e506ccaca8e3">00143</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;f16&gt; <a class="code" href="a00149.html#a0251c24813cf14f31851e506ccaca8e3" title="Half-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)...">f16mat2x2</a>;
<a name="l00144"></a><a class="code" href="a00149.html#a75b44fd9278b87d63926bf6cb83a90ce">00144</a> <span class="keyword">typedef</span> detail::tmat2x3&lt;f16&gt; <a class="code" href="a00149.html#a75b44fd9278b87d63926bf6cb83a90ce" title="Half-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension)...">f16mat2x3</a>;
<a name="l00145"></a><a class="code" href="a00149.html#a5f7b279e5d36687a69f75cf2f95b64c5">00145</a> <span class="keyword">typedef</span> detail::tmat2x4&lt;f16&gt; <a class="code" href="a00149.html#a5f7b279e5d36687a69f75cf2f95b64c5" title="Half-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension)...">f16mat2x4</a>;
<a name="l00146"></a><a class="code" href="a00149.html#acc55b3fc1bd509b96f5f291b019b0c3a">00146</a> <span class="keyword">typedef</span> detail::tmat3x2&lt;f16&gt; <a class="code" href="a00149.html#acc55b3fc1bd509b96f5f291b019b0c3a" title="Half-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension)...">f16mat3x2</a>;
<a name="l00147"></a><a class="code" href="a00149.html#a4fe684c085caee45c79f6b8e2a8a498e">00147</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;f16&gt; <a class="code" href="a00149.html#a4fe684c085caee45c79f6b8e2a8a498e" title="Half-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)...">f16mat3x3</a>;
<a name="l00148"></a><a class="code" href="a00149.html#aeefd948e1360ef7fe65201482f07e379">00148</a> <span class="keyword">typedef</span> detail::tmat3x4&lt;f16&gt; <a class="code" href="a00149.html#aeefd948e1360ef7fe65201482f07e379" title="Half-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension)...">f16mat3x4</a>;
<a name="l00149"></a><a class="code" href="a00149.html#ad18e575d7bc47e6d696366712724c31a">00149</a> <span class="keyword">typedef</span> detail::tmat4x2&lt;f16&gt; <a class="code" href="a00149.html#ad18e575d7bc47e6d696366712724c31a" title="Half-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension)...">f16mat4x2</a>;
<a name="l00150"></a><a class="code" href="a00149.html#a38e54b583ed34891b3dc3fcd8f194a44">00150</a> <span class="keyword">typedef</span> detail::tmat4x3&lt;f16&gt; <a class="code" href="a00149.html#a38e54b583ed34891b3dc3fcd8f194a44" title="Half-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension)...">f16mat4x3</a>;
<a name="l00151"></a><a class="code" href="a00149.html#a996f1e97233164dd076fad915b1f4b2a">00151</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;f16&gt; <a class="code" href="a00149.html#a996f1e97233164dd076fad915b1f4b2a" title="Half-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)...">f16mat4x4</a>;
<a name="l00152"></a>00152
<a name="l00153"></a>00153 <span class="comment">//typedef f32 f32mat1; //!&lt; \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00154"></a><a class="code" href="a00149.html#aaffc1dddbdfee9006f65dec7490cef35">00154</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;f32&gt; <a class="code" href="a00149.html#aaffc1dddbdfee9006f65dec7490cef35" title="Single-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)...">f32mat2</a>;
<a name="l00155"></a><a class="code" href="a00149.html#a2da36e87f1f319cd99d2870ab3be4799">00155</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;f32&gt; <a class="code" href="a00149.html#a2da36e87f1f319cd99d2870ab3be4799" title="Single-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)...">f32mat3</a>;
<a name="l00156"></a><a class="code" href="a00149.html#ae84e6d0a740dbbefeb29c72ca93b9202">00156</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;f32&gt; <a class="code" href="a00149.html#ae84e6d0a740dbbefeb29c72ca93b9202" title="Single-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)...">f32mat4</a>;
<a name="l00157"></a>00157
<a name="l00158"></a>00158 <span class="comment">//typedef f32 f32mat1x1; //!&lt; \brief Single-precision floating-point scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00159"></a><a class="code" href="a00149.html#a9b851abbec4f37c06604e5b612b764a3">00159</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;f32&gt; <a class="code" href="a00149.html#a9b851abbec4f37c06604e5b612b764a3" title="Single-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)...">f32mat2x2</a>;
<a name="l00160"></a><a class="code" href="a00149.html#abc06add14a487def0be0a88cb7191310">00160</a> <span class="keyword">typedef</span> detail::tmat2x3&lt;f32&gt; <a class="code" href="a00149.html#abc06add14a487def0be0a88cb7191310" title="Single-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension)...">f32mat2x3</a>;
<a name="l00161"></a><a class="code" href="a00149.html#ae7d246881a2b9bbf2933e9aa32c873f9">00161</a> <span class="keyword">typedef</span> detail::tmat2x4&lt;f32&gt; <a class="code" href="a00149.html#ae7d246881a2b9bbf2933e9aa32c873f9" title="Single-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension)...">f32mat2x4</a>;
<a name="l00162"></a><a class="code" href="a00149.html#a3c2727aca36e2f45f4eaabc06fe859e5">00162</a> <span class="keyword">typedef</span> detail::tmat3x2&lt;f32&gt; <a class="code" href="a00149.html#a3c2727aca36e2f45f4eaabc06fe859e5" title="Single-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension)...">f32mat3x2</a>;
<a name="l00163"></a><a class="code" href="a00149.html#ad60954ab0fcc5d2fdf2573be7d359920">00163</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;f32&gt; <a class="code" href="a00149.html#ad60954ab0fcc5d2fdf2573be7d359920" title="Single-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)...">f32mat3x3</a>;
<a name="l00164"></a><a class="code" href="a00149.html#a76466bef28f20c754b6f25da8138033b">00164</a> <span class="keyword">typedef</span> detail::tmat3x4&lt;f32&gt; <a class="code" href="a00149.html#a76466bef28f20c754b6f25da8138033b" title="Single-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension)...">f32mat3x4</a>;
<a name="l00165"></a><a class="code" href="a00149.html#af81550e292ce3d4dd2c22960713188f3">00165</a> <span class="keyword">typedef</span> detail::tmat4x2&lt;f32&gt; <a class="code" href="a00149.html#af81550e292ce3d4dd2c22960713188f3" title="Single-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension)...">f32mat4x2</a>;
<a name="l00166"></a><a class="code" href="a00149.html#a0a78d326a35e18803e7ae7a49d2c738c">00166</a> <span class="keyword">typedef</span> detail::tmat4x3&lt;f32&gt; <a class="code" href="a00149.html#a0a78d326a35e18803e7ae7a49d2c738c" title="Single-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension)...">f32mat4x3</a>;
<a name="l00167"></a><a class="code" href="a00149.html#a390ae17a61ddb8a7702cd92065754633">00167</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;f32&gt; <a class="code" href="a00149.html#a390ae17a61ddb8a7702cd92065754633" title="Single-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)...">f32mat4x4</a>;
<a name="l00168"></a>00168
<a name="l00169"></a>00169 <span class="comment">//typedef f64 f64mat1; //!&lt; \brief Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00170"></a><a class="code" href="a00149.html#a8e6af45d08751da72ddb3c8380028d0b">00170</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;f64&gt; <a class="code" href="a00149.html#a8e6af45d08751da72ddb3c8380028d0b" title="Double-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)...">f64mat2</a>;
<a name="l00171"></a><a class="code" href="a00149.html#ae394301075475e6759f0835a251d497e">00171</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;f64&gt; <a class="code" href="a00149.html#ae394301075475e6759f0835a251d497e" title="Double-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)...">f64mat3</a>;
<a name="l00172"></a><a class="code" href="a00149.html#a4c6042a4ef0df9c92b94dd8a30df3f82">00172</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;f64&gt; <a class="code" href="a00149.html#a4c6042a4ef0df9c92b94dd8a30df3f82" title="Double-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)...">f64mat4</a>;
<a name="l00173"></a>00173
<a name="l00174"></a>00174 <span class="comment">//typedef f64 f64mat1x1; //!&lt; \brief Double-precision floating-point scalar. (from GLM_GTC_type_precision extension)</span>
<a name="l00175"></a><a class="code" href="a00149.html#a48dfaa0c23e89839f9fd43ae1d03f5de">00175</a> <span class="keyword">typedef</span> detail::tmat2x2&lt;f64&gt; <a class="code" href="a00149.html#a48dfaa0c23e89839f9fd43ae1d03f5de" title="Double-precision floating-point 2x2 matrix. (from GLM_GTC_type_precision extension)...">f64mat2x2</a>;
<a name="l00176"></a><a class="code" href="a00149.html#a0ee61da67c73edc53648db680e0a6d59">00176</a> <span class="keyword">typedef</span> detail::tmat2x3&lt;f64&gt; <a class="code" href="a00149.html#a0ee61da67c73edc53648db680e0a6d59" title="Double-precision floating-point 2x3 matrix. (from GLM_GTC_type_precision extension)...">f64mat2x3</a>;
<a name="l00177"></a><a class="code" href="a00149.html#a95a3099cce2b620027a9164324787a14">00177</a> <span class="keyword">typedef</span> detail::tmat2x4&lt;f64&gt; <a class="code" href="a00149.html#a95a3099cce2b620027a9164324787a14" title="Double-precision floating-point 2x4 matrix. (from GLM_GTC_type_precision extension)...">f64mat2x4</a>;
<a name="l00178"></a><a class="code" href="a00149.html#a24ab90298c753e8da92ba333ef2f7f71">00178</a> <span class="keyword">typedef</span> detail::tmat3x2&lt;f64&gt; <a class="code" href="a00149.html#a24ab90298c753e8da92ba333ef2f7f71" title="Double-precision floating-point 3x2 matrix. (from GLM_GTC_type_precision extension)...">f64mat3x2</a>;
<a name="l00179"></a><a class="code" href="a00149.html#a5dfbb37bd5e0a221b1627172e052a168">00179</a> <span class="keyword">typedef</span> detail::tmat3x3&lt;f64&gt; <a class="code" href="a00149.html#a5dfbb37bd5e0a221b1627172e052a168" title="Double-precision floating-point 3x3 matrix. (from GLM_GTC_type_precision extension)...">f64mat3x3</a>;
<a name="l00180"></a><a class="code" href="a00149.html#aecc98ee8c67aaca82e817d2cf4028cd7">00180</a> <span class="keyword">typedef</span> detail::tmat3x4&lt;f64&gt; <a class="code" href="a00149.html#aecc98ee8c67aaca82e817d2cf4028cd7" title="Double-precision floating-point 3x4 matrix. (from GLM_GTC_type_precision extension)...">f64mat3x4</a>;
<a name="l00181"></a><a class="code" href="a00149.html#ac99d22a5ada54ab33aad0cd208d20e48">00181</a> <span class="keyword">typedef</span> detail::tmat4x2&lt;f64&gt; <a class="code" href="a00149.html#ac99d22a5ada54ab33aad0cd208d20e48" title="Double-precision floating-point 4x2 matrix. (from GLM_GTC_type_precision extension)...">f64mat4x2</a>;
<a name="l00182"></a><a class="code" href="a00149.html#a1e10cbf50386189533011ef827204920">00182</a> <span class="keyword">typedef</span> detail::tmat4x3&lt;f64&gt; <a class="code" href="a00149.html#a1e10cbf50386189533011ef827204920" title="Double-precision floating-point 4x3 matrix. (from GLM_GTC_type_precision extension)...">f64mat4x3</a>;
<a name="l00183"></a><a class="code" href="a00149.html#a5efb4fb73bf79baf00cda64d318bfdb5">00183</a> <span class="keyword">typedef</span> detail::tmat4x4&lt;f64&gt; <a class="code" href="a00149.html#a5efb4fb73bf79baf00cda64d318bfdb5" title="Double-precision floating-point 4x4 matrix. (from GLM_GTC_type_precision extension)...">f64mat4x4</a>;
<a name="l00184"></a>00184
<a name="l00186"></a>00186 <span class="comment">// Float quaternion types </span>
<a name="l00187"></a>00187
<a name="l00188"></a><a class="code" href="a00149.html#a38cc7dfd875fb2a5d07101972bf96bfb">00188</a> <span class="keyword">typedef</span> detail::tquat&lt;f16&gt; <a class="code" href="a00149.html#a38cc7dfd875fb2a5d07101972bf96bfb" title="Half-precision floating-point quaternion. (from GLM_GTC_type_precision extension)...">f16quat</a>;
<a name="l00189"></a><a class="code" href="a00149.html#ad073de7365e4b6771de824b18b0ea7a9">00189</a> <span class="keyword">typedef</span> detail::tquat&lt;f32&gt; <a class="code" href="a00149.html#ad073de7365e4b6771de824b18b0ea7a9" title="Single-precision floating-point quaternion. (from GLM_GTC_type_precision extension)...">f32quat</a>;
<a name="l00190"></a><a class="code" href="a00149.html#a38a458ff317f21cf58ceed99dde5daaa">00190</a> <span class="keyword">typedef</span> detail::tquat&lt;f64&gt; <a class="code" href="a00149.html#a38a458ff317f21cf58ceed99dde5daaa" title="Double-precision floating-point quaternion. (from GLM_GTC_type_precision extension)...">f64quat</a>;
<a name="l00191"></a>00191
<a name="l00192"></a>00192 }<span class="comment">//namespace type_precision</span>
<a name="l00193"></a>00193 }<span class="comment">//namespace gtc</span>
<a name="l00194"></a>00194 }<span class="comment">//namespace glm</span>
<a name="l00195"></a>00195
<a name="l00196"></a>00196 <span class="preprocessor">#define GLM_GTC_type_precision namespace gtc::type_precision </span>
<a name="l00197"></a>00197 <span class="preprocessor"></span>
<a name="l00198"></a>00198 <span class="preprocessor">#ifndef GLM_GTC_GLOBAL</span>
<a name="l00199"></a>00199 <span class="preprocessor"></span><span class="keyword">namespace </span>glm {<span class="keyword">using</span> GLM_GTC_type_precision;}
<a name="l00200"></a>00200 <span class="preprocessor">#endif//GLM_GTC_GLOBAL</span>
<a name="l00201"></a>00201 <span class="preprocessor"></span>
<a name="l00202"></a>00202 <span class="preprocessor">#include &quot;type_precision.inl&quot;</span>
<a name="l00203"></a>00203
<a name="l00204"></a>00204 <span class="preprocessor">#endif//glm_gtc_type_precision</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>