<?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 geometricFunctionsInc SYSTEM "geometricFunctionsInc.xml">
]>

<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>length</keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>length</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="length">
        <refname>length</refname>

        <refpurpose>
            Vector length.
        </refpurpose>
    </refnamediv>

    <refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">float</link>
                    <function>
                        length
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="vectorDataTypes.html">float<replaceable>n</replaceable></link>
                    <parameter>p</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">double</link>
                    <function>
                        length
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="vectorDataTypes.html">double<replaceable>n</replaceable></link>
                    <parameter>p</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>

<!-- Optional 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="scalarDataTypes.html">half</link></type> <function>length</function> (<type>gentype</type> <varname>p</varname>)      // if half extension enabled
</entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect2>

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

    <refsect1 id="description"><title>Description</title>
        <para>
          Returns the length of vector <varname>p</varname>, i.e., the square
          root of (<varname>p.x</varname><superscript>2</superscript> +
          <varname>p.y</varname><superscript>2</superscript> + ...)
        </para>
    </refsect1>

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

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

        &geometricFunctionsInc;

        <para>
          If extended with <citerefentry><refentrytitle>cl_khr_fp16</refentrytitle></citerefentry>,
          generic type name <type>gentype</type> may indicate <type>half</type> and
          <type>half{2|3|4}</type> as arguments.
        </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="geometricFunctions">OpenCL Specification</olink>
        </para>
    </refsect1>

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

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

<!-- 25-Dec-2013, rev. 19 -->
</refentry>

