<?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> &lt; <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>
