<?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 mathFunctionsInc SYSTEM "mathFunctionsInc.xml">
]>
<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>nan</keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>nan</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>

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

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

        <refpurpose>
            Quiet NaN
        </refpurpose>
    </refnamediv>

    <refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="vectorDataTypes.html">float<varname>n</varname></link>
                    <function>
                        nan
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="vectorDataTypes.html">uint<varname>n</varname></link>
                    <parameter>nancode</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="vectorDataTypes.html">float</link>
                    <function>
                        nan
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="vectorDataTypes.html">uint</link>
                    <parameter>nancode</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>


        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="vectorDataTypes.html">double<varname>n</varname></link>
                    <function>
                        nan
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="vectorDataTypes.html">ulong<varname>n</varname></link>
                    <parameter>nancode</parameter>
               </paramdef>
            </funcprototype>
        </funcsynopsis>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="vectorDataTypes.html">double</link>
                    <function>
                        nan
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="vectorDataTypes.html">ulong</link>
                    <parameter>nancode</parameter>
               </paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>

<!-- Optional Double and Half prototypes -->
 <refsect2 xmlns:xlink="http://www.w3.org/1999/xlink" id="double">
        <title></title>

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

                    <row>
                        <entry>
<type><link xlink:href="vectorDataTypes.html">half<varname>n</varname></link></type> <function>nan</function> (<type><link xlink:href="vectorDataTypes.html">ushort<varname>n</varname></link></type> <varname>nancode</varname>)      // if half extension enabled
</entry>
                    </row>

                    <row>
                        <entry>
<type><link xlink:href="scalarDataTypes.html">half</link></type> <function>nan</function> (<type><link xlink:href="scalarDataTypes.html">ushort</link></type> <varname>nancode</varname>)
</entry>
                    </row>

                </tbody>
            </tgroup>
        </informaltable>
    </refsect2>

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

    <refsect1 id="description"><title>Description</title>
        <para>
          <function>nan</function> returns a quiet NaN. The <varname>nancode</varname> may be
          placed in the significand of the resulting NaN.
        </para>
    </refsect1>

<!-- ================================ NOTES  -->

    <refsect1 id="notes"><title>Notes</title>

        &mathFunctionsInc;

    </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="mathFunctions">OpenCL Specification</olink>
        </para>
    </refsect1>

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

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry href="mathFunctions"><refentrytitle>Math Functions</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>

