File: iterators.rst

package info (click to toggle)
rocprim 6.4.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,428 kB
  • sloc: cpp: 153,383; python: 1,397; sh: 404; xml: 217; makefile: 119
file content (106 lines) | stat: -rw-r--r-- 1,942 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
.. meta::
  :description: rocPRIM documentation and API reference library
  :keywords: rocPRIM, ROCm, API, documentation

.. _iterators:

********************************************************************
 Iterators
********************************************************************

Constant
==========

.. doxygenclass:: rocprim::constant_iterator
   :members:


.. note::

   For example, ``constant_iterator(20)`` generates the infinite sequence::

     20
     20
     20
     ...

Counting
==========

.. doxygenclass:: rocprim::counting_iterator
   :members:

.. note::
   For example, ``counting_iterator(20)`` generates the infinite sequence::

     20
     21
     22
     23
     ...

Transform
============

.. doxygenclass:: rocprim::transform_iterator
   :members:

.. note::

   ``transform_iterator(sequence, transform)`` should generate the sequence::

     transform(sequence(0))
     transform(sequence(1))
     ...

Predicate
---------

.. doxygenclass:: rocprim::predicate_iterator
   :members:

.. note::
   ``predicate_iterator(sequence, test, predicate)`` generates the sequence::

     predicate(test[0]) ? sequence[0] : default
     predicate(test[1]) ? sequence[1] : default
     predicate(test[2]) ? sequence[2] : default
     ...

Pairing Values with Indices
=============================

.. doxygenclass:: rocprim::arg_index_iterator
   :members:

.. note::
   ``arg_index_iterator(sequence)`` generates the sequence of tuples::

     (0, sequence[0])
     (1, sequence[1])
     ...

Zip
==============

.. doxygenclass:: rocprim::zip_iterator
   :members:

.. note::
   ``zip_iterator(sequence_X, sequence_Y)`` generates the sequence of tuples::

     (sequence_X[0], sequence_Y[0])
     (sequence_X[1], sequence_Y[1])
     ...

Discard
==============

.. doxygenclass:: rocprim::discard_iterator
   :members:

Texture Cache
================

.. doxygenclass:: rocprim::texture_cache_iterator
   :members: