| <?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>Common Built-In Functions</keyword> | 
 | 		</keywordset> | 
 | 	</refentryinfo> | 
 |     <refmeta> | 
 |         <refentrytitle>Common 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>Common 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>clamp</refentrytitle> | 
 | 			</citerefentry></entry> | 
 | 			<entry>Clamp <varname>x</varname> to range given by <varname>min</varname>, <varname>max</varname></entry> | 
 | 		</row> | 
 | 		<row> | 
 | 			<entry><citerefentry> | 
 | 				<refentrytitle>degrees</refentrytitle> | 
 | 			</citerefentry></entry> | 
 | 			<entry><varname>radians</varname> to degrees</entry> | 
 | 		</row> | 
 | 		<row>			 | 
 | 			<entry><citerefentry href="commonMax"> | 
 | 				<refentrytitle>max</refentrytitle> | 
 | 			</citerefentry></entry> | 
 | 			<entry>Maximum of <varname>x</varname> and <varname>y</varname></entry> | 
 | 		</row> | 
 | 		<row>				 | 
 | 			<entry><citerefentry href="commonMin"> | 
 | 				<refentrytitle>min</refentrytitle> | 
 | 			</citerefentry></entry> | 
 | 			<entry>Minimum of <varname>x</varname> and <varname>y</varname></entry> | 
 | 		</row> | 
 | 		<row> | 
 | 			<entry><citerefentry> | 
 | 				<refentrytitle>mix</refentrytitle> | 
 | 			</citerefentry></entry> | 
 | 			<entry>Linear blend of <varname>x</varname> and <varname>y</varname></entry> | 
 | 		</row> | 
 | 		<row>				 | 
 | 			<entry><citerefentry> | 
 | 				<refentrytitle>radians</refentrytitle> | 
 | 			</citerefentry></entry> | 
 | 			<entry><varname>degrees</varname> to radians</entry> | 
 | 		</row> | 
 | 		<row>			 | 
 | 			<entry><citerefentry> | 
 | 				<refentrytitle>sign</refentrytitle> | 
 | 			</citerefentry></entry> | 
 | 			<entry>Sign of <varname>x</varname></entry> | 
 | 		</row> | 
 | 		<row>			 | 
 | 			<entry><citerefentry> | 
 | 				<refentrytitle>smoothstep</refentrytitle> | 
 | 			</citerefentry></entry> | 
 | 			<entry>Step and interpolate</entry> | 
 | 		</row> | 
 | 		<row>			 | 
 | 			<entry><citerefentry> | 
 | 				<refentrytitle>step</refentrytitle> | 
 | 			</citerefentry></entry> | 
 | 			<entry>0.0 if <varname>x</varname> < <varname>edge</varname>, else 1.0</entry> | 
 | 		</row> | 
 | 		 | 
 | 	</tbody>	 | 
 | 		 | 
 | 	</tgroup></informaltable>	 | 
 |     </refsect1> | 
 | 	 | 
 |     <refsect1 id="description"><title>Description</title> | 
 |         <para> | 
 | 			Built-in common functions operate component-wise and the description is per-component and are implemented using the round to nearest even rounding mode. | 
 |         </para> | 
 | 		<para>  | 
 | 		The built-in common 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="commonFunctions">OpenCL Specification</olink> | 
 |         </para> | 
 |     </refsect1>  | 
 | 		 | 
 | <!-- ================================ ALSO SEE  | 
 |     <refsect1 id="seealso"><title>Also see</title> | 
 |         <para> | 
 |             <citerefentry><refentrytitle>clEnqueueNDRangeKernel</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> |