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

    <refmeta>                                    
        <refentrytitle>add_sat</refentrytitle>

        <refmiscinfo>
            <copyright>
                <year>2007-2009</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>2</manvolnum>
    </refmeta>

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

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

        <refpurpose>
            Add two values and saturate the result.
        </refpurpose>
    </refnamediv>

	<refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    gentype
                    <function>                   
                        add_sat
                    </function>
                </funcdef>
				<paramdef>gentype<parameter>x</parameter></paramdef>	
				<paramdef>gentype<parameter>y</parameter></paramdef>	
            </funcprototype>
        </funcsynopsis>     
	</refsynopsisdiv>	
		
	
<!-- ================================ DESCRIPTION  -->

    <refsect1 id="description"><title>Description</title>
        <para>
			<function>add_sat</function> returns <varname>x</varname>+<varname>y</varname> and saturates result.
		</para>
	
    </refsect1>

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

    <refsect1 id="notes"><title>Notes</title>
        <para>
			Built-in integer functions can be used to take scalar or vector arguments. We use
the generic type name <type>gentype</type> to indicate that the function can take <type>char</type>, <type>char{2|4|8|16}</type>, <type>uchar</type>, <type>uchar{2|4|8|16}</type>, <type>short</type>, <type>short{2|4|8|16}</type>, <type>ushort</type>, <type>ushort{2|4|8|16}</type>, <type>int</type>, <type>int{2|4|8|16}</type>, <type>uint</type>,
<type>uint{2|4|8|16}</type>, <type>long</type>, <type>long{2|4|8|16}</type>, <type>ulong</type>, or <type>ulong{2|4|8|16}</type> as
the type for the arguments. We use the generic type name <type>ugentype</type> to refer to unsigned
versions of <type>gentype</type>. For example, if <type>gentype</type> is <type>char4</type>, <type>ugentype</type> is <constant>uchar4</constant>.</para>
 <para>For any specific use of a function, the actual type has to be the same for all arguments and the return type unless otherwise specified.
        </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="integerFunctions">OpenCL Specification</olink>
        </para>
    </refsect1>


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

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

