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

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

        <refpurpose>
            
        </refpurpose>
    </refnamediv>

	<refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    short<replaceable>n</replaceable>
                    <function>                   
                        upsample
                    </function>
                </funcdef>
				<paramdef>char<replaceable>n</replaceable><parameter>hi</parameter></paramdef>
				<paramdef>uchar<replaceable>n</replaceable><parameter>lo</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>     

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    ushort<replaceable>n</replaceable>
                    <function>                   
                        upsample
                    </function>
                </funcdef>
				<paramdef>uchar<replaceable>n</replaceable><parameter>hi</parameter></paramdef>
				<paramdef>uchar<replaceable>n</replaceable><parameter>lo</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>     

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>

<replaceable>n</replaceable>
                    <function>                   
                        upsample
                    </function>
                </funcdef>
				<paramdef>short<replaceable>n</replaceable><parameter>hi</parameter></paramdef>
				<paramdef>ushort<replaceable>n</replaceable><parameter>lo</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>     

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">uint</link><replaceable>n</replaceable>
                    <function>                   
                        upsample
                    </function>
                </funcdef>
				<paramdef>ushort<replaceable>n</replaceable><parameter>hi</parameter></paramdef>
				<paramdef>ushort<replaceable>n</replaceable><parameter>lo</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>     

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    long<replaceable>n</replaceable>
                    <function>                   
                        upsample
                    </function>
                </funcdef>
				<paramdef>int<replaceable>n</replaceable><parameter>hi</parameter></paramdef>
				<paramdef>uint<replaceable>n</replaceable><parameter>lo</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>     

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    ulong<replaceable>n</replaceable>
                    <function>                   
                        upsample
                    </function>
                </funcdef>
				<paramdef>uint<replaceable>n</replaceable><parameter>hi</parameter></paramdef>
				<paramdef>uint<replaceable>n</replaceable><parameter>lo</parameter></paramdef>
            </funcprototype>
        </funcsynopsis>     
	</refsynopsisdiv>		
	
<!-- ================================ DESCRIPTION  -->
<!-- <refsect1 id="description"><title>Description</title>
        <para>
			
		</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 <type>uchar4</type>.</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>

