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

<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>Vector Data Load and Store Functions</keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>Vector Data Load and Store Functions</refentrytitle>
        <refmiscinfo>
            <copyright>
                <year>2007-2011</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>

    <refnamediv>
        <refname>Vector Data Load and Store Functions</refname>
        <refpurpose>Click an item in the table below for details about that function.</refpurpose>
    </refnamediv>

<refsect1 id="springboard"><title></title>
    <informaltable frame="all"><tgroup cols="2" align="left" colsep="1" rowsep="1">
    <colspec colnum="1" colwidth="2*" colname="col1" />
    <colspec colnum="2" colwidth="8*" colname="col2" />
    <tbody>
        <row>
            <entry><citerefentry><refentrytitle>vload<emphasis>n</emphasis></refentrytitle>
            </citerefentry></entry><entry><para>Read vectors from a pointer to memory.</para></entry>
        </row>

        <row>
            <entry><citerefentry><refentrytitle>vstore<emphasis>n</emphasis></refentrytitle></citerefentry></entry>
            <entry><para>Write a vector to a pointer to memory.</para></entry>
        </row>

        <row>
            <entry><citerefentry><refentrytitle>vload_half</refentrytitle></citerefentry></entry>
            <entry><para>Read a <type>half</type> float from a pointer to memory.</para></entry>
        </row>

        <row>
            <entry><citerefentry><refentrytitle>vload_half<emphasis>n</emphasis></refentrytitle>
            </citerefentry></entry><entry><para>Read a <type>half</type> float vector from a pointer to memory.</para></entry>
        </row>

        <row>
            <entry><citerefentry><refentrytitle>vstore_half</refentrytitle></citerefentry></entry>
            <entry><para>Convert <type>float</type> to <type>half</type> and write to a pointer to memory.</para></entry>
        </row>

        <row>
            <entry><citerefentry><refentrytitle>vstore_half<emphasis>n</emphasis></refentrytitle></citerefentry></entry>
            <entry><para>Convert <type>float</type> vector to <type>half</type> vector and write to a pointer to memory.</para></entry>
        </row>

        <row>
            <entry><citerefentry><refentrytitle>vloada_half<emphasis>n</emphasis></refentrytitle>
            </citerefentry></entry><entry><para>Read half <type>float</type> vector from a pointer to memory.</para></entry>
        </row>

        <row>
            <entry><citerefentry><refentrytitle>vstorea_half<emphasis>n</emphasis></refentrytitle>
            </citerefentry></entry><entry><para>Convert <type>float</type> vector to <type>half</type> vector and write to a pointer to memory.</para></entry>
        </row>
    </tbody>

    </tgroup></informaltable>
    </refsect1>

    <refsect1 id="specification"><title>Specification</title>
        <para>
            <imageobject>
                <imagedata fileref="pdficon_small1.gif" format="gif" />
            </imageobject>

            <olink uri="vectorDataLoadandStoreFunctions">OpenCL Specification</olink>
        </para>
    </refsect1>

<!-- ================================ ALSO SEE
    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>clEnqueueNDRangeKernel</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clEnqueueTask</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>

<!-- 13-Oct-2011 -->
</refentry>

