<?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-2013</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 href="clamp_common"><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>
    </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>

<!-- 24-May-2013 -->
</refentry>

