<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
              "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
<refentry>
	<refentryinfo>
		<keywordset>
			<keyword>Geometric Built-In Functions</keyword>
		</keywordset>
	</refentryinfo>
    <refmeta>
        <refentrytitle>Geometric Built-In Functions</refentrytitle>
		<refmiscinfo>
            <copyright>
                <year>2007-2009</year>
                <holder>The Khronos Group Inc. 
 Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.</holder>
            </copyright>
        </refmiscinfo>
        <manvolnum>2</manvolnum>
    </refmeta>
  	<refnamediv>
		<refname>Geometric Built-In Functions</refname> 
		<refpurpose>Click an item in the table below for details about that function.</refpurpose> 
	</refnamediv>
	 
<refsect1 id="springboard"><title></title>
	<informaltable frame="all"><tgroup cols="2" align="left" colsep="1" rowsep="1">
	<colspec colnum="1" colwidth="2*" colname="col1" />
	<colspec colnum="2" colwidth="8*" colname="col2" />
	<tbody>
		<row>
			<entry><citerefentry>
				<refentrytitle>cross</refentrytitle>
			</citerefentry></entry>
			<entry>Cross product</entry>
		</row>
		<row>
			<entry><citerefentry>
				<refentrytitle>dot</refentrytitle>
			</citerefentry></entry>
			<entry>Dot product</entry>
		</row>
		<row>			
			<entry><citerefentry>
				<refentrytitle>distance</refentrytitle>
			</citerefentry></entry>
			<entry>Vector distance</entry>
		</row>

		<row>
			<entry><citerefentry>
				<refentrytitle>length</refentrytitle>
			</citerefentry></entry>
			<entry>Vector length</entry>
		</row>
		<row>			
			<entry><citerefentry>
				<refentrytitle>normalize</refentrytitle>
			</citerefentry></entry>
			<entry>Normal vector length 1</entry>
		</row>
		<row>				
			<entry><citerefentry>
				<refentrytitle>fast_distance</refentrytitle>
			</citerefentry></entry>
			<entry>Vector distance</entry>
		</row>
		<row>				
			<entry><citerefentry>
				<refentrytitle>fast_length</refentrytitle>
			</citerefentry></entry>
			<entry>Vector length</entry>
		</row>
		<row>			
			<entry><citerefentry>
				<refentrytitle>fast_normalize</refentrytitle>
			</citerefentry></entry>
			<entry>Normal vector length 1</entry>
		</row>
		
	</tbody>	
		
	</tgroup></informaltable>	
    </refsect1>
	
    <refsect1 id="description"><title>Description</title>
        <para>
			Built-in geometric functions operate component-wise and the description is per-component. The generic type name <type>gentype</type> indicates that the
function can take <type>float</type>, <type>float2</type>, or <type>float4</type>, <type>float8</type> as the type for the arguments.</para>
        <para>The built-in geometric functions are implemented using the round to nearest even rounding mode.
        </para>
		<para>The geometric functions can be implemented using contractions such as <citerefentry><refentrytitle>mad</refentrytitle></citerefentry> or <citerefentry><refentrytitle>fma</refentrytitle></citerefentry>.
        </para>  
		<para> 
		The built-in geometric functions are extended with <citerefentry><refentrytitle>cl_khr_fp64</refentrytitle></citerefentry> to include appropriate versions of functions that take <type>double</type>, and <type>double{2|4|8|16}</type> as arguments and return values. They are also extended with with <citerefentry><refentrytitle>cl_khr_fp16</refentrytitle></citerefentry> to include appropriate versions of functions that take <type>half</type>, and <type>half{2|4|8|16}</type> as arguments and return values. 
		</para>
	</refsect1>
	
    <refsect1 id="specification"><title>Specification</title>
        <para>
            <imageobject>
                <imagedata fileref="pdficon_small1.gif" format="gif" />
            </imageobject>
                                                 
            <olink uri="geometricFunctions">OpenCL Specification</olink>
        </para>
    </refsect1> 	
<!-- ================================ ALSO SEE 
    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>clEnqueueNDRangeKernel</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clEnqueueTask</refentrytitle></citerefentry>
        </para>
    </refsect1>-->	

<!-- ============================== COPYRIGHT -->
<!-- Content included from copyright.inc.xsl -->

    <refsect3 id="Copyright"><title></title>
		<imageobject>
                <imagedata fileref="KhronosLogo.jpg" format="jpg" />
        </imageobject>
		<para />
    </refsect3>

</refentry>
