Sophie

Sophie

distrib > Mageia > 6 > i586 > media > core-release > by-pkgid > 3d21bba46faba8ab8bc0569a35594b3e > files > 36

ocaml-gg-devel-0.8.0-6.mga6.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="previous" href="Gg.V2.html">
<link rel="next" href="Gg.V4.html">
<link rel="Up" href="Gg.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Index of module types" rel=Appendix href="index_module_types.html">
<link title="Gg" rel="Chapter" href="Gg.html"><link title="Constructors, accessors and constants" rel="Section" href="#cons">
<link title="Functions" rel="Section" href="#functions">
<link title="Overridden Pervasives operators" rel="Section" href="#ops">
<link title="Traversal" rel="Section" href="#traversal">
<link title="Predicates and comparisons" rel="Section" href="#1_Predicatesandcomparisons">
<link title="Printers" rel="Section" href="#printers">
<title>Gg.V3</title>
</head>
<body>
<div class="navbar"><a class="pre" href="Gg.V2.html" title="Gg.V2">Previous</a>
&nbsp;<a class="up" href="Gg.html" title="Gg">Up</a>
&nbsp;<a class="post" href="Gg.V4.html" title="Gg.V4">Next</a>
</div>
<h1>Module <a href="type_Gg.V3.html">Gg.V3</a></h1>
<pre><span class="keyword">module</span> V3: <code class="code"><span class="keyword">sig</span></code> <a href="Gg.V3.html">..</a> <code class="code"><span class="keyword">end</span></code></pre><hr width="100%">
<pre><span id="TYPEt"><span class="keyword">type</span> <code class="type"></code>t</span> = <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a></code> </pre>
<div class="info">
The type for 3D vectors.<br>
</div>

<pre><span id="VALdim"><span class="keyword">val</span> dim</span> : <code class="type">int</code></pre><div class="info">
<code class="code">dim</code> is the dimension of vectors of type <a href="Gg.html#TYPEv3"><code class="code"><span class="constructor">Gg</span>.v3</code></a>.<br>
</div>
<pre><span id="TYPEm"><span class="keyword">type</span> <code class="type"></code>m</span> = <code class="type"><a href="Gg.html#TYPEm3">Gg.m3</a></code> </pre>
<div class="info">
The type for matrices representing
      <a href="http://mathworld.wolfram.com/LinearTransformation.html">linear 
      transformations</a>
      of 3D space.<br>
</div>

<br>
<h1 id="cons">Constructors, accessors and constants</h1><br>
<pre><span id="VALv"><span class="keyword">val</span> v</span> : <code class="type">float -> float -> float -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">v x y z</code> is the vector <code class="code">(x y z)</code>.<br>
</div>
<pre><span id="VALcomp"><span class="keyword">val</span> comp</span> : <code class="type">int -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> float</code></pre><div class="info">
<code class="code">comp i v</code> is <code class="code">v</code><sub class="subscript"><code class="code">i</code></sub>, the <code class="code">i</code>th component of <code class="code">v</code>.<br>
<b>Raises</b> <code>Invalid_argument</code> if <code class="code">i</code> is not in [<code class="code">0;</code><a href="Gg.V3.html#VALdim"><code class="code"><span class="constructor">Gg</span>.<span class="constructor">V3</span>.dim</code></a>[.<br>
</div>
<pre><span id="VALx"><span class="keyword">val</span> x</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> float</code></pre><div class="info">
<code class="code">x v</code> is the x component of <code class="code">v</code>.<br>
</div>
<pre><span id="VALy"><span class="keyword">val</span> y</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> float</code></pre><div class="info">
<code class="code">y v</code> is the y component of <code class="code">v</code>.<br>
</div>
<pre><span id="VALz"><span class="keyword">val</span> z</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> float</code></pre><div class="info">
<code class="code">z v</code> is the z component of <code class="code">v</code>.<br>
</div>
<pre><span id="VALox"><span class="keyword">val</span> ox</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">ox</code> is the unit vector <code class="code">(1. 0. 0.)</code>.<br>
</div>
<pre><span id="VALoy"><span class="keyword">val</span> oy</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">oy</code> is the unit vector <code class="code">(0. 1. 0.)</code>.<br>
</div>
<pre><span id="VALoz"><span class="keyword">val</span> oz</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">oz</code> is the unit vector <code class="code">(0. 0. 1.)</code>.<br>
</div>
<pre><span id="VALzero"><span class="keyword">val</span> zero</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">zero</code> is the neutral element for <a href="Gg.V3.html#VALadd"><code class="code"><span class="constructor">Gg</span>.<span class="constructor">V3</span>.add</code></a>.<br>
</div>
<pre><span id="VALinfinity"><span class="keyword">val</span> infinity</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">infinity</code> is the vector whose components are <code class="code">infinity</code>.<br>
</div>
<pre><span id="VALneg_infinity"><span class="keyword">val</span> neg_infinity</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">neg_infinity</code> is the vector whose components are <code class="code">neg_infinity</code>.<br>
</div>
<pre><span id="VALbasis"><span class="keyword">val</span> basis</span> : <code class="type">int -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">basis i</code> is the <code class="code">i</code>th vector of an 
      <a href="http://mathworld.wolfram.com/OrthonormalBasis.html">orthonormal basis</a> 
      of the vector space <a href="Gg.V3.html#TYPEt"><code class="code"><span class="constructor">Gg</span>.<span class="constructor">V3</span>.t</code></a> with inner product <a href="Gg.V3.html#VALdot"><code class="code"><span class="constructor">Gg</span>.<span class="constructor">V3</span>.dot</code></a>.<br>
<b>Raises</b> <code>Invalid_argument</code> if <code class="code">i</code> is not in [<code class="code">0;</code><a href="Gg.V3.html#VALdim"><code class="code"><span class="constructor">Gg</span>.<span class="constructor">V3</span>.dim</code></a>[.<br>
</div>
<pre><span id="VALof_tuple"><span class="keyword">val</span> of_tuple</span> : <code class="type">float * float * float -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">of_tuple (x, y, z)</code> is <code class="code">v x y z</code>.<br>
</div>
<pre><span id="VALto_tuple"><span class="keyword">val</span> to_tuple</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> float * float * float</code></pre><div class="info">
<code class="code">to_tuple v</code> is <code class="code">(x v, y v, z v)</code>.<br>
</div>
<pre><span id="VALof_spherical"><span class="keyword">val</span> of_spherical</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">of_spherical sv</code> is the vector whose cartesian coordinates 
      <code class="code">(x, y, z)</code> correspond to the radial, azimuth
      angle and zenith angle
      <a href="http://mathworld.wolfram.com/SphericalCoordinates.html">spherical
      coordinates</a> <code class="code">(r, theta, phi)</code> given by <code class="code">(<span class="constructor">V3</span>.x sv, <span class="constructor">V2</span>.y sv, <span class="constructor">V3</span>.z sv)</code>.<br>
</div>
<pre><span id="VALto_spherical"><span class="keyword">val</span> to_spherical</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">to_spherical v</code> is the vector whose coordinate <code class="code">(r, theta,
      phi)</code> are the radial, azimuth angle and zenith angle
      <a href="http://mathworld.wolfram.com/SphericalCoordinates.html">spherical
      coordinates</a> of <code class="code">v</code>. <code class="code">theta</code> is in [<code class="code">-pi;pi</code>] and <code class="code">phi</code> in
      [<code class="code">0;pi</code>].<br>
</div>
<pre><span id="VALof_v2"><span class="keyword">val</span> of_v2</span> : <code class="type"><a href="Gg.html#TYPEv2">Gg.v2</a> -> z:float -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">of_v2 u z</code> is <code class="code">v (<span class="constructor">V2</span>.x u) (<span class="constructor">V2</span>.y u) z</code>.<br>
</div>
<pre><span id="VALof_v4"><span class="keyword">val</span> of_v4</span> : <code class="type"><a href="Gg.html#TYPEv4">Gg.v4</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">of_v4 u z</code> is <code class="code">v (<span class="constructor">V4</span>.x u) (<span class="constructor">V4</span>.y u) (<span class="constructor">V4</span>.z u)</code>.<br>
</div>
<br>
<h1 id="functions">Functions</h1><br>
<pre><span id="VALneg"><span class="keyword">val</span> neg</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">neg v</code> is the inverse vector <code class="code">-v</code>.<br>
</div>
<pre><span id="VALadd"><span class="keyword">val</span> add</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">add u v</code> is the vector addition <code class="code">u + v</code>.<br>
</div>
<pre><span id="VALsub"><span class="keyword">val</span> sub</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">sub u v</code> is the vector subtraction <code class="code">u - v</code>.<br>
</div>
<pre><span id="VALmul"><span class="keyword">val</span> mul</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">mul u v</code> is the component wise multiplication <code class="code">u * v</code>.<br>
</div>
<pre><span id="VALdiv"><span class="keyword">val</span> div</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">div u v</code> is the component wise division <code class="code">u / v</code>.<br>
</div>
<pre><span id="VALsmul"><span class="keyword">val</span> smul</span> : <code class="type">float -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">smul s v</code> is the scalar multiplication <code class="code">sv</code>.<br>
</div>
<pre><span id="VALhalf"><span class="keyword">val</span> half</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">half v</code> is the half vector <code class="code">smul 0.5 v</code>.<br>
</div>
<pre><span id="VALcross"><span class="keyword">val</span> cross</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">cross u v</code> is the 
      <a href="http://mathworld.wolfram.com/CrossProduct.html">cross product</a> 
      <code class="code">u x v</code>.<br>
</div>
<pre><span id="VALdot"><span class="keyword">val</span> dot</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> float</code></pre><div class="info">
<code class="code">dot u v</code> is the 
      <a href="http://mathworld.wolfram.com/DotProduct.html">dot product</a> <code class="code">u.v</code>.<br>
</div>
<pre><span id="VALnorm"><span class="keyword">val</span> norm</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> float</code></pre><div class="info">
<code class="code">norm v</code> is the norm <code class="code"><span class="keywordsign">|</span>v<span class="keywordsign">|</span> = sqrt v.v</code>.<br>
</div>
<pre><span id="VALnorm2"><span class="keyword">val</span> norm2</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> float</code></pre><div class="info">
<code class="code">norm2 v</code> is the squared norm <code class="code"><span class="keywordsign">|</span>v<span class="keywordsign">|</span></code><sup class="superscript">2</sup> .<br>
</div>
<pre><span id="VALunit"><span class="keyword">val</span> unit</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">unit v</code> is the unit vector <code class="code">v/|v<span class="keywordsign">|</span></code>.<br>
</div>
<pre><span id="VALspherical"><span class="keyword">val</span> spherical</span> : <code class="type">float -> float -> float -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">spherical r theta phi</code> is <code class="code">of_spherical (<span class="constructor">V3</span>.v r theta phi)</code>.<br>
</div>
<pre><span id="VALazimuth"><span class="keyword">val</span> azimuth</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> float</code></pre><div class="info">
<code class="code">azimuth v</code> is the azimuth angle
      <a href="http://mathworld.wolfram.com/SphericalCoordinates.html">spherical
      coordinates</a> of <code class="code">v</code>. The result is in [<code class="code">-pi;pi</code>].<br>
</div>
<pre><span id="VALzenith"><span class="keyword">val</span> zenith</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> float</code></pre><div class="info">
<code class="code">zenith v</code> is the zenith angle
      <a href="http://mathworld.wolfram.com/SphericalCoordinates.html">spherical
      coordinates</a> of <code class="code">v</code>. The result is in [<code class="code">0;pi</code>].<br>
</div>
<pre><span id="VALhomogene"><span class="keyword">val</span> homogene</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">homogene v</code> is the vector <code class="code">v/v</code><sub class="subscript">z</sub> if <code class="code">v</code><sub class="subscript">z</sub><code class="code"> &lt;&gt; 0</code> and
      <code class="code">v</code> otherwise.<br>
</div>
<pre><span id="VALmix"><span class="keyword">val</span> mix</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> float -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">mix u v t</code> is the linear interpolation <code class="code">u + t(v - u)</code>.<br>
</div>
<pre><span id="VALltr"><span class="keyword">val</span> ltr</span> : <code class="type"><a href="Gg.html#TYPEm3">Gg.m3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">ltr m v</code> is the 
      <a href="http://mathworld.wolfram.com/LinearTransformation.html">linear 
      transform</a> <code class="code">mv</code>.<br>
</div>
<pre><span id="VALtr"><span class="keyword">val</span> tr</span> : <code class="type"><a href="Gg.html#TYPEm4">Gg.m4</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">tr m v</code> is the 
      <a href="http://mathworld.wolfram.com/AffineTransformation.html">affine 
      transform</a> in <a href="http://mathworld.wolfram.com/HomogeneousCoordinates.html">
      homogenous</a> 3D space of the <em>vector</em> <code class="code">v</code> by <code class="code">m</code>.
<p>

      <b>Note.</b> Since <code class="code">m</code> is supposed to be affine the function
      ignores the last row of <code class="code">m</code>. <code class="code">v</code> is treated as a vector
      (infinite point, its last coordinate in homogenous space is 0) 
      and is thus translationally invariant. Use <a href="Gg.P3.html#VALtr"><code class="code"><span class="constructor">Gg</span>.<span class="constructor">P3</span>.tr</code></a> to
      transform finite points.<br>
</div>
<br>
<h1 id="ops">Overridden <code class="code"><span class="constructor">Pervasives</span></code> operators</h1><br>
<pre><span id="VAL(+)"><span class="keyword">val</span> (+)</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">u + v</code> is <code class="code">add u v</code>.<br>
</div>
<pre><span id="VAL(-)"><span class="keyword">val</span> (-)</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">u - v</code> is <code class="code">sub u v</code>.<br>
</div>
<pre><span id="VAL( * )"><span class="keyword">val</span> ( * )</span> : <code class="type">float -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">t * v</code> is <code class="code">smul t v</code>.<br>
</div>
<pre><span id="VAL(/)"><span class="keyword">val</span> (/)</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> float -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">v / t</code> is <code class="code">smul (1. /. t) v</code>.<br>
</div>
<br>
<h1 id="traversal">Traversal</h1><br>
<pre><span id="VALmap"><span class="keyword">val</span> map</span> : <code class="type">(float -> float) -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">map f v</code> is the component wise application of <code class="code">f</code> to <code class="code">v</code>.<br>
</div>
<pre><span id="VALmapi"><span class="keyword">val</span> mapi</span> : <code class="type">(int -> float -> float) -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a></code></pre><div class="info">
<code class="code">mapi f v</code> is like <a href="Gg.V3.html#VALmap"><code class="code"><span class="constructor">Gg</span>.<span class="constructor">V3</span>.map</code></a> but the component index is also given.<br>
</div>
<pre><span id="VALfold"><span class="keyword">val</span> fold</span> : <code class="type">('a -> float -> 'a) -> 'a -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> 'a</code></pre><div class="info">
<code class="code">fold f acc v</code> is <code class="code">f (</code>...<code class="code">(f (f acc v</code><sub class="subscript">0</sub><code class="code">) v</code><sub class="subscript">1</sub><code class="code">)</code>...<code class="code">)</code>.<br>
</div>
<pre><span id="VALfoldi"><span class="keyword">val</span> foldi</span> : <code class="type">('a -> int -> float -> 'a) -> 'a -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> 'a</code></pre><div class="info">
<code class="code">foldi f acc v</code> is <code class="code">f (</code>...<code class="code">(f (f acc 0 v</code><sub class="subscript">0</sub><code class="code">) 1 v</code><sub class="subscript">1</sub><code class="code">)</code>...<code class="code">)</code>.<br>
</div>
<pre><span id="VALiter"><span class="keyword">val</span> iter</span> : <code class="type">(float -> unit) -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> unit</code></pre><div class="info">
<code class="code">iter f v</code> is <code class="code">f v</code><sub class="subscript">0</sub><code class="code">; f v</code><sub class="subscript">1</sub><code class="code">;</code> ...<br>
</div>
<pre><span id="VALiteri"><span class="keyword">val</span> iteri</span> : <code class="type">(int -> float -> unit) -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> unit</code></pre><div class="info">
<code class="code">iteri f v</code> is <code class="code">f 0 v</code><sub class="subscript">0</sub><code class="code">; f 1 v</code><sub class="subscript">1</sub><code class="code">;</code> ...<br>
</div>
<br>
<h1 id="1_Predicatesandcomparisons">Predicates and comparisons</h1><br>
<pre><span id="VALfor_all"><span class="keyword">val</span> for_all</span> : <code class="type">(float -> bool) -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> bool</code></pre><div class="info">
<code class="code">for_all p v</code> is <code class="code">p v</code><sub class="subscript">0</sub><code class="code"> <span class="keywordsign">&amp;&amp;</span> p v</code><sub class="subscript">1</sub><code class="code"> <span class="keywordsign">&amp;&amp;</span></code> ...<br>
</div>
<pre><span id="VALexists"><span class="keyword">val</span> exists</span> : <code class="type">(float -> bool) -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> bool</code></pre><div class="info">
<code class="code">exists p v</code> is <code class="code">p v</code><sub class="subscript">0</sub><code class="code"> <span class="keywordsign">||</span> p v</code><sub class="subscript">1</sub><code class="code"> <span class="keywordsign">||</span></code> ...<br>
</div>
<pre><span id="VALequal"><span class="keyword">val</span> equal</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> bool</code></pre><div class="info">
<code class="code">equal u v</code> is <code class="code">u = v</code>.<br>
</div>
<pre><span id="VALequal_f"><span class="keyword">val</span> equal_f</span> : <code class="type">(float -> float -> bool) -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> bool</code></pre><div class="info">
<code class="code">equal_f eq u v</code> tests <code class="code">u</code> and <code class="code">v</code> like <a href="Gg.V3.html#VALequal"><code class="code"><span class="constructor">Gg</span>.<span class="constructor">V3</span>.equal</code></a> but
      uses <code class="code">eq</code> to test floating point values.<br>
</div>
<pre><span id="VALcompare"><span class="keyword">val</span> compare</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> int</code></pre><div class="info">
<code class="code">compare u v</code> is <code class="code"><span class="constructor">Pervasives</span>.compare u v</code>.<br>
</div>
<pre><span id="VALcompare_f"><span class="keyword">val</span> compare_f</span> : <code class="type">(float -> float -> int) -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> int</code></pre><div class="info">
<code class="code">compare_f cmp u v</code> compares <code class="code">u</code> and <code class="code">v</code> like <a href="Gg.V3.html#VALcompare"><code class="code"><span class="constructor">Gg</span>.<span class="constructor">V3</span>.compare</code></a>
      but uses <code class="code">cmp</code> to compare floating point values.<br>
</div>
<br>
<h1 id="printers">Printers</h1><br>
<pre><span id="VALto_string"><span class="keyword">val</span> to_string</span> : <code class="type"><a href="Gg.html#TYPEv3">Gg.v3</a> -> string</code></pre><div class="info">
<code class="code">to_string v</code> is a textual representation of <code class="code">v</code>.<br>
</div>
<pre><span id="VALpp"><span class="keyword">val</span> pp</span> : <code class="type">Format.formatter -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> unit</code></pre><div class="info">
<code class="code">pp ppf v</code> prints a textual representation of <code class="code">v</code> on <code class="code">ppf</code>.<br>
</div>
<pre><span id="VALpp_f"><span class="keyword">val</span> pp_f</span> : <code class="type">(Format.formatter -> float -> unit) -> Format.formatter -> <a href="Gg.html#TYPEv3">Gg.v3</a> -> unit</code></pre><div class="info">
<code class="code">pp_f pp_comp ppf v</code> prints <code class="code">v</code> like <a href="Gg.V3.html#VALpp"><code class="code"><span class="constructor">Gg</span>.<span class="constructor">V3</span>.pp</code></a> but uses 
      <code class="code">pp_comp</code> to print floating point values.<br>
</div>
</body></html>