123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="generator" content="rustdoc">
- <meta name="description" content="API documentation for the Rust `prm` mod in crate `ocl`.">
- <meta name="keywords" content="rust, rustlang, rust-lang, prm">
- <title>ocl::prm - Rust</title>
- <link rel="stylesheet" type="text/css" href="../../normalize.css">
- <link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle">
-
- <link rel="stylesheet" type="text/css" href="../../dark.css">
- <link rel="stylesheet" type="text/css" href="../../main.css" id="themeStyle">
- <script src="../../storage.js"></script>
-
-
-
- </head>
- <body class="rustdoc mod">
- <!--[if lte IE 8]>
- <div class="warning">
- This old browser is unsupported and will most likely display funky
- things.
- </div>
- <![endif]-->
-
- <nav class="sidebar">
- <div class="sidebar-menu">☰</div>
-
- <p class='location'>Module prm</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class='location'><a href='../index.html'>ocl</a></p><script>window.sidebarCurrent = {name: 'prm', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div>
- </nav>
- <div class="theme-picker">
- <button id="theme-picker" aria-label="Pick another theme!">
- <img src="../../brush.svg" width="18" alt="Pick another theme!">
- </button>
- <div id="theme-choices"></div>
- </div>
- <script src="../../theme.js"></script>
- <nav class="sub">
- <form class="search-form js-only">
- <div class="search-container">
- <input class="search-input" name="search"
- autocomplete="off"
- placeholder="Click or press ‘S’ to search, ‘?’ for more options…"
- type="search">
- </div>
- </form>
- </nav>
- <section id='main' class="content">
- <h1 class='fqn'><span class='in-band'>Module <a href='../index.html'>ocl</a>::<wbr><a class="mod" href=''>prm</a></span><span class='out-of-band'><span id='render-detail'>
- <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
- [<span class='inner'>−</span>]
- </a>
- </span><a class='srclink' href='../../src/ocl/lib.rs.html#77-122' title='goto source code'>[src]</a></span></h1>
- <div class='docblock'><p>OpenCL scalar and vector primitive types.</p>
- <p>Rust primitives may have subtly different behaviour than OpenCL
- primitives within kernels. Wrapping is one example of this. Scalar
- integers within Rust may do overflow checks where in the kernel they
- do not. Therefore OpenCL-compatible implementations of each of the
- types are provided so that host and device side operations can be
- perfectly consistent.</p>
- <p>The <code>cl_...</code> (<code>cl_uchar</code>, <code>cl_int</code>, <code>cl_float</code>, etc.) types are simple
- aliases of the Rust built-in primitive types and do <strong>not</strong> behave the
- same way that the kernel-side equivalents do. The uppercase-named
- types, on the other hand, (<code>Uchar</code>, <code>Int</code>, <code>Float</code>, etc.) are designed
- to behave identically to their corresponding types within kernels.</p>
- <p>Please file an issue if any of the uppercase-named kernel-mimicking
- types deviate from what they should (as they are reasonably new this
- is definitely something to watch out for).</p>
- <p>Vector type fields can be accessed using index operations i.e. [0],
- [1], [2] ... etc. Plans for other ways of accessing fields (such as
- <code>.x()</code>, <code>.y()</code>, <code>.s0()</code>, <code>.s15()</code>, etc.) will be considered in the
- future (pending a number of additions/stabilizations to the Rust
- language). Create an issue if you have an opinion on the matter.</p>
- <p>[NOTE]: This module may be renamed.</p>
- </div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
- <table>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Char.html"
- title='struct ocl::prm::Char'>Char</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Char2.html"
- title='struct ocl::prm::Char2'>Char2</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Char3.html"
- title='struct ocl::prm::Char3'>Char3</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Char4.html"
- title='struct ocl::prm::Char4'>Char4</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Char8.html"
- title='struct ocl::prm::Char8'>Char8</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Char16.html"
- title='struct ocl::prm::Char16'>Char16</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Double.html"
- title='struct ocl::prm::Double'>Double</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Double2.html"
- title='struct ocl::prm::Double2'>Double2</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Double3.html"
- title='struct ocl::prm::Double3'>Double3</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Double4.html"
- title='struct ocl::prm::Double4'>Double4</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Double8.html"
- title='struct ocl::prm::Double8'>Double8</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Double16.html"
- title='struct ocl::prm::Double16'>Double16</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Float.html"
- title='struct ocl::prm::Float'>Float</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Float2.html"
- title='struct ocl::prm::Float2'>Float2</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Float3.html"
- title='struct ocl::prm::Float3'>Float3</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Float4.html"
- title='struct ocl::prm::Float4'>Float4</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Float8.html"
- title='struct ocl::prm::Float8'>Float8</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Float16.html"
- title='struct ocl::prm::Float16'>Float16</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Int.html"
- title='struct ocl::prm::Int'>Int</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Int2.html"
- title='struct ocl::prm::Int2'>Int2</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Int3.html"
- title='struct ocl::prm::Int3'>Int3</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Int4.html"
- title='struct ocl::prm::Int4'>Int4</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Int8.html"
- title='struct ocl::prm::Int8'>Int8</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Int16.html"
- title='struct ocl::prm::Int16'>Int16</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Long.html"
- title='struct ocl::prm::Long'>Long</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Long2.html"
- title='struct ocl::prm::Long2'>Long2</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Long3.html"
- title='struct ocl::prm::Long3'>Long3</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Long4.html"
- title='struct ocl::prm::Long4'>Long4</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Long8.html"
- title='struct ocl::prm::Long8'>Long8</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Long16.html"
- title='struct ocl::prm::Long16'>Long16</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Short.html"
- title='struct ocl::prm::Short'>Short</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Short2.html"
- title='struct ocl::prm::Short2'>Short2</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Short3.html"
- title='struct ocl::prm::Short3'>Short3</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Short4.html"
- title='struct ocl::prm::Short4'>Short4</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Short8.html"
- title='struct ocl::prm::Short8'>Short8</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Short16.html"
- title='struct ocl::prm::Short16'>Short16</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Uchar.html"
- title='struct ocl::prm::Uchar'>Uchar</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Uchar2.html"
- title='struct ocl::prm::Uchar2'>Uchar2</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Uchar3.html"
- title='struct ocl::prm::Uchar3'>Uchar3</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Uchar4.html"
- title='struct ocl::prm::Uchar4'>Uchar4</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Uchar8.html"
- title='struct ocl::prm::Uchar8'>Uchar8</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Uchar16.html"
- title='struct ocl::prm::Uchar16'>Uchar16</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Uint.html"
- title='struct ocl::prm::Uint'>Uint</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Uint2.html"
- title='struct ocl::prm::Uint2'>Uint2</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Uint3.html"
- title='struct ocl::prm::Uint3'>Uint3</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Uint4.html"
- title='struct ocl::prm::Uint4'>Uint4</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Uint8.html"
- title='struct ocl::prm::Uint8'>Uint8</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Uint16.html"
- title='struct ocl::prm::Uint16'>Uint16</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Ulong.html"
- title='struct ocl::prm::Ulong'>Ulong</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Ulong2.html"
- title='struct ocl::prm::Ulong2'>Ulong2</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Ulong3.html"
- title='struct ocl::prm::Ulong3'>Ulong3</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Ulong4.html"
- title='struct ocl::prm::Ulong4'>Ulong4</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Ulong8.html"
- title='struct ocl::prm::Ulong8'>Ulong8</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Ulong16.html"
- title='struct ocl::prm::Ulong16'>Ulong16</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Ushort.html"
- title='struct ocl::prm::Ushort'>Ushort</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Ushort2.html"
- title='struct ocl::prm::Ushort2'>Ushort2</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Ushort3.html"
- title='struct ocl::prm::Ushort3'>Ushort3</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Ushort4.html"
- title='struct ocl::prm::Ushort4'>Ushort4</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Ushort8.html"
- title='struct ocl::prm::Ushort8'>Ushort8</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="struct" href="struct.Ushort16.html"
- title='struct ocl::prm::Ushort16'>Ushort16</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr></table><h2 id='types' class='section-header'><a href="#types">Type Definitions</a></h2>
- <table>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_GLenum.html"
- title='type ocl::prm::cl_GLenum'>cl_GLenum</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_GLint.html"
- title='type ocl::prm::cl_GLint'>cl_GLint</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_GLuint.html"
- title='type ocl::prm::cl_GLuint'>cl_GLuint</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_bitfield.html"
- title='type ocl::prm::cl_bitfield'>cl_bitfield</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_bool.html"
- title='type ocl::prm::cl_bool'>cl_bool</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_char.html"
- title='type ocl::prm::cl_char'>cl_char</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_double.html"
- title='type ocl::prm::cl_double'>cl_double</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_float.html"
- title='type ocl::prm::cl_float'>cl_float</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_half.html"
- title='type ocl::prm::cl_half'>cl_half</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_int.html"
- title='type ocl::prm::cl_int'>cl_int</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_long.html"
- title='type ocl::prm::cl_long'>cl_long</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_short.html"
- title='type ocl::prm::cl_short'>cl_short</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_uchar.html"
- title='type ocl::prm::cl_uchar'>cl_uchar</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_uint.html"
- title='type ocl::prm::cl_uint'>cl_uint</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_ulong.html"
- title='type ocl::prm::cl_ulong'>cl_ulong</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr>
- <tr class=' module-item'>
- <td><a class="type" href="type.cl_ushort.html"
- title='type ocl::prm::cl_ushort'>cl_ushort</a></td>
- <td class='docblock-short'>
-
- </td>
- </tr></table></section>
- <section id='search' class="content hidden"></section>
- <section class="footer"></section>
- <aside id="help" class="hidden">
- <div>
- <h1 class="hidden">Help</h1>
- <div class="shortcuts">
- <h2>Keyboard Shortcuts</h2>
- <dl>
- <dt><kbd>?</kbd></dt>
- <dd>Show this help dialog</dd>
- <dt><kbd>S</kbd></dt>
- <dd>Focus the search field</dd>
- <dt><kbd>↑</kbd></dt>
- <dd>Move up in search results</dd>
- <dt><kbd>↓</kbd></dt>
- <dd>Move down in search results</dd>
- <dt><kbd>↹</kbd></dt>
- <dd>Switch tab</dd>
- <dt><kbd>⏎</kbd></dt>
- <dd>Go to active search result</dd>
- <dt><kbd>+</kbd></dt>
- <dd>Expand all sections</dd>
- <dt><kbd>-</kbd></dt>
- <dd>Collapse all sections</dd>
- </dl>
- </div>
- <div class="infos">
- <h2>Search Tricks</h2>
- <p>
- Prefix searches with a type followed by a colon (e.g.
- <code>fn:</code>) to restrict the search to a given type.
- </p>
- <p>
- Accepted types are: <code>fn</code>, <code>mod</code>,
- <code>struct</code>, <code>enum</code>,
- <code>trait</code>, <code>type</code>, <code>macro</code>,
- and <code>const</code>.
- </p>
- <p>
- Search functions by type signature (e.g.
- <code>vec -> usize</code> or <code>* -> vec</code>)
- </p>
- </div>
- </div>
- </aside>
-
- <script>
- window.rootPath = "../../";
- window.currentCrate = "ocl";
- </script>
- <script src="../../main.js"></script>
- <script defer src="../../search-index.js"></script>
- </body>
- </html>
|