<?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" [
<!ENTITY commonFunctionsInc SYSTEM "commonFunctionsInc.xml">
]>
<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>Common Built-In Functions</keyword>
        </keywordset>
    </refentryinfo>
    <refmeta>
        <refentrytitle>Common Built-In Functions</refentrytitle>
        <refmiscinfo>
            <copyright>
                <year>2007-2010</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>3</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> 
        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|3|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|3|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>
