<?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>cl_khr_fp16</keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>cl_khr_fp16</refentrytitle>

        <refmiscinfo>
            <copyright>
                <year>2007-2011</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>

<!-- ================================ SYNOPSIS -->

    <refnamediv id="cl_khr_fp16">
        <refname>cl_khr_fp16</refname>

        <refpurpose>
            Optional half floating-point support.
        </refpurpose>
    </refnamediv>

    <refsect2 id="synopsis">
        <title>
        </title>

        <informaltable frame="none">
            <tgroup cols="1" align="left" colsep="0" rowsep="0">
                <colspec colname="col1" colnum="1" />
                <tbody>
                    <row>
                        <entry>
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect2>

<!-- ================================ DESCRIPTION  -->

    <refsect1 id="description"><title>Description</title>
        <para>
          This extension adds support for half scalar and vector types as built-in types that
          can be used for arithmetic operations, conversions, etc. An application that wants
          to use <type>half</type> and <type>half<replaceable>n</replaceable></type> types will
          need to include the directive shown above.
        </para>

        <para>
          The list of built-in scalar and vector data types are extended to include the types
          in the table below.
        </para>

        <para>
          The built-in vector data types for <type>halfn</type> are also declared as
          appropriate types in the OpenCL API (and header files) that can be used by an
          application. The following table describes the built-in vector data types for
          <type>half<replaceable>n</replaceable></type> as defined in the OpenCL C programming
          language and the corresponding data type available to the application:
        </para>

        <para>
          <informaltable frame="all"> <tgroup cols="3" align="left" colsep="1" rowsep="1">
          <colspec colname="col1" colnum="1" /> <colspec colname="col2" colnum="2" /> <colspec
          colname="col3" colnum="3" />
          <thead> <row> <entry>Type in OpenCL Language</entry> <entry>Description</entry>
          <entry>API type for application</entry> </row> </thead>
          <tbody> <row> <entry>half2</entry> <entry>2-component half-precision floating-point
          vector</entry> <entry>cl_half2</entry> </row> <row> <entry>half3</entry>
          <entry>3-component half-precision floating-point vector</entry> <entry>cl_half3</entry>
          </row> <row> <entry>half4</entry> <entry>4-component half-precision floating-point
          vector</entry> <entry>cl_half4</entry> </row>
          <row> <entry>half8</entry> <entry>8-component half-precision floating-point
          vector</entry> <entry>cl_half8</entry> </row>
          <row> <entry>half16</entry> <entry>16-component half-precision floating-point
          vector</entry> <entry>cl_half16</entry> </row>
          </tbody> </tgroup> </informaltable>
        </para>

        <para>
          The relational, equality, logical and logical unary
          <citerefentry><refentrytitle>operators</refentrytitle></citerefentry> can be used
          with <type>half</type> scalar and <type>half<replaceable>n</replaceable></type>
          vector types and shall produce a scalar <type>int</type> and vector
          <type>short<replaceable>n</replaceable></type> result respectively.
        </para>

        <para>
          The OpenCL compiler accepts <constant>an</constant> h <constant>and</constant> H suffix
          on floating point literals, indicating the literal is typed as a <type>half</type>.
        </para>

        <para>
          The macro names given in the following list must use the values specified. These constant
          expressions are suitable for use in <constant>#if</constant> preprocessing directives.
        </para>

        <para>
          The following table also describes the corresponding macro names available to the
          application.
        </para>

        <informaltable frame="none">
            <tgroup cols="3" align="left" colsep="0" rowsep="0">
                <colspec colname="col1" colnum="1" />
                <colspec colname="col2" colnum="2" />
                <colspec colname="col3" colnum="3" />

                <thead>
                    <row>
                        <entry>Macro in OpenCL Language</entry>
                        <entry>value</entry>
                        <entry>Macro for application</entry>
                    </row>
                </thead>

                <tbody>
                    <row>
                      <entry><code>#define HALF_DIG</code></entry>
                      <entry><code>3</code></entry>
                      <entry><constant>HALF_DIG</constant></entry>
                    </row>

                    <row>
                      <entry><code>#define HALF_MANT_DIG</code></entry>
                      <entry><code>11</code></entry>
                      <entry><constant>HALF_MANT_DIG</constant></entry>
                    </row>

                    <row>
                      <entry><code>#define HALF_MAX_10_EXP</code></entry>
                      <entry><code>+4</code></entry>
                      <entry><constant>HALF_MAX_10_EXP</constant></entry>
                    </row>

                    <row>
                      <entry><code>#define HALF_MAX_EXP</code></entry>
                      <entry><code>+16</code></entry>
                      <entry><constant>HALF_MAX_EXP</constant></entry>
                    </row>

                    <row>
                      <entry><code>#define HALF_MIN_10_EXP</code></entry>
                      <entry><code>-4</code></entry>
                      <entry><constant>HALF_MIN_10_EXP</constant></entry>
                    </row>

                    <row>
                      <entry><code>#define HALF_MIN_EXP</code></entry>
                      <entry><code>-13</code></entry>
                      <entry><constant>HALF_MIN_EXP</constant></entry>
                    </row>

                    <row>
                      <entry><code>#define HALF_RADIX</code></entry>
                      <entry><code>2</code></entry>
                      <entry><constant>HALF_RADIX</constant></entry>
                    </row>

                    <row>
                      <entry><code>#define HALF_MAX</code></entry>
                      <entry><code>0x1.ffcp15h</code></entry>
                      <entry><constant>HALF_MAX</constant></entry>
                    </row>

                    <row>
                      <entry><code>#define HALF_MIN</code></entry>
                      <entry><code>0x1.0p-14h</code></entry>
                      <entry><constant>HALF_MIN</constant></entry>
                    </row>

                    <row>
                      <entry><code>#define HALF_EPSILON</code></entry>
                      <entry><code>0x1.0p-10h</code></entry>
                      <entry><constant>HALF_EPSILON</constant></entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>

        <para>
          The following constants are also available. They are of type <type>half</type> and
          are accurate within the precision of the <type>half</type> type.
        </para>

        <informaltable frame="all">
            <tgroup cols="2" align="left" colsep="1" rowsep="1">
                <colspec colname="col1" colnum="1" />
                <colspec colname="col2" colnum="2" />

                <thead>
                    <row>
                        <entry>Constant</entry>
                        <entry>Description</entry>
                    </row>
                </thead>

                <tbody>
                    <row><entry><code>M_E_H</code></entry>       <entry>Value of e</entry></row>
                    <row><entry><code>M_LOG2E_H</code></entry>   <entry> Value of log2 e</entry></row>
                    <row><entry><code>M_LOG10E_H</code></entry>  <entry>Value of log10 e</entry></row>
                    <row><entry><code>M_LN2_H</code></entry>     <entry>Value of ln 2</entry></row>
                    <row><entry><code>M_LN10_H</code></entry>    <entry> Value of ln 10</entry></row>
                    <row><entry><code>M_PI_H</code></entry>      <entry> Value of π</entry></row>
                    <row><entry><code>M_PI_2_H</code></entry>    <entry>Value of π / 2</entry></row>
                    <row><entry><code>M_PI_4_H</code></entry>    <entry>Value of π / 4</entry></row>
                    <row><entry><code>M_1_PI_H</code></entry>    <entry>Value of 1 / π</entry></row>
                    <row><entry><code>M_2_PI_H</code></entry>    <entry>Value of 2 / π</entry></row>
                    <row><entry><code>M_2_SQRTPI_H</code></entry><entry>Value of 2 / √π</entry></row>
                    <row><entry><code>M_SQRT2_H</code></entry>   <entry>Value of √2</entry></row>
                    <row><entry><code>M_SQRT1_2_H</code></entry> <entry>Value of 1 / √2</entry></row>
                </tbody>
            </tgroup>
        </informaltable>

        <para>
          Ann application may query the configuration information using
          the op-code <constant>CL_DEVICE_HALF_FP_CONFIG</constant> with
          <citerefentry><refentrytitle>clGetDeviceInfo</refentrytitle></citerefentry> for an
          OpenCL device that supports half precision floating-point.
        </para>
    </refsect1>

<!-- ================================ EXAMPLE  -->
<!-- DO NOT DELETE IN CASE AN EXAMPLE IS ADDED IN THE FUTURE -->
<!--
    <refsect2 id="example1">
        <title>
            Example
        </title>

        <informaltable frame="none">
            <tgroup cols="1" align="left" colsep="0" rowsep="0">
                <colspec colname="col1" colnum="1" />
                <tbody>
                    <row>
                        <entry>
                            Example goes here - it will be set in "code" type with white space preserved.
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect2>
-->

<!-- ================================ SPECIFICATION  -->
<!-- Set the "uri" attribute in the <olink /> element to the "named destination" for the PDF page
-->
    <refsect1 id="specification"><title>Specification</title>
        <para>
            <imageobject>
                <imagedata fileref="pdficon_small1.gif" format="gif" />
            </imageobject>

            <olink uri="cl_khr_fp16">OpenCL Specification</olink>
        </para>
    </refsect1>

<!-- ================================ ALSO SEE  -->

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>EXTENSION</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clGetDeviceInfo</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>mathFunctions</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>commonFunctions</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>geometricFunctions</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>relationalFunctions</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>vectorDataLoadandStoreFunctions</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>asyncCopyFunctions</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>imageFunctions</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>

<!-- 18-Oct-2011 -->
</refentry>

