<?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 relationalFunctionsInc1 SYSTEM "relationalFunctionsInc1.xml">
<!ENTITY relationalFunctionsInc2 SYSTEM "relationalFunctionsInc2.xml">
]>
<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>isordered</keyword>
        </keywordset>
    </refentryinfo>

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

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

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

        <refpurpose>
            Test if arguments are ordered.
        </refpurpose>
    </refnamediv>

    <refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>                   
                        isordered
                    </function>
                </funcdef>
                <paramdef><link xlink:href="scalarDataTypes.html">float</link><parameter>x</parameter></paramdef>
                <paramdef><link xlink:href="scalarDataTypes.html">float</link><parameter>y</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>     

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="vectorDataTypes.html">int<replaceable>n</replaceable></link>
                    <function>                   
                        isordered
                    </function>
                </funcdef>
                <paramdef><link xlink:href="vectorDataTypes.html">float<replaceable>n</replaceable></link><parameter>x</parameter></paramdef>
                <paramdef><link xlink:href="vectorDataTypes.html">float<replaceable>n</replaceable></link><parameter>y</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="scalarDataTypes.html">int</link></type> <function>isordered</function> (<type><link xlink:href="scalarDataTypes.html">double</link></type> <varname>x</varname>, 
              <type><link xlink:href="scalarDataTypes.html">double</link></type> <varname>y</varname>)      // if double extension enabled 

<type><link xlink:href="vectorDataTypes.html">long<replaceable>n</replaceable></link></type> <function>isordered</function> (<type><link xlink:href="vectorDataTypes.html">double<replaceable>n</replaceable></link></type> <varname>x</varname>, 
                <type><link xlink:href="vectorDataTypes.html">double<replaceable>n</replaceable></link></type> <varname>y</varname>)      // if double extension enabled 
</entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>

        <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">int</link></type> <function>isordered</function> (<type><link xlink:href="vectorDataTypes.html">half</link></type> <varname>x</varname>, 
              <type><link xlink:href="vectorDataTypes.html">half</link></type> <varname>y</varname>)      // if half extension enabled 

<type><link xlink:href="vectorDataTypes.html">short<replaceable>n</replaceable></link></type> <function>isordered</function> (<type><link xlink:href="vectorDataTypes.html">half<replaceable>n</replaceable></link></type> <varname>x</varname>, 
                 <type><link xlink:href="vectorDataTypes.html">half<replaceable>n</replaceable></link></type> <varname>y</varname>)      // if half extension enabled 
</entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect2>             

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

    <refsect1 id="description"><title>Description</title>
        <para>
        Test if arguments are ordered. <function>isordered</function>() takes
arguments <varname>x</varname> and <varname>y</varname>, and returns the result
<citerefentry><refentrytitle>isequal</refentrytitle></citerefentry>(<varname>x</varname>, <varname>x</varname>) &amp;&amp; isequal(<varname>y</varname>, <varname>y</varname>).
        </para>
        <para>
        
        </para>
        
    </refsect1>

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

    <refsect1 id="notes"><title>Notes</title>
    <para>
The relational and equality operators (&lt;, &lt;=, >, >=, !=, ==) can
 be used with halfn vector types
and shall produce a vector short<replaceable>n</replaceable> result.
</para>
        &relationalFunctionsInc1;
        &relationalFunctionsInc2;
    </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="relationalFunctions">OpenCL Specification</olink>
        </para>
    </refsect1>


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

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

</refentry>

