-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdim4_8hpp_source.htm
More file actions
257 lines (257 loc) · 37.3 KB
/
dim4_8hpp_source.htm
File metadata and controls
257 lines (257 loc) · 37.3 KB
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
<!-- HTML header for doxygen 1.9.5-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-130950618-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-130950618-1');
</script>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.5"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ArrayFire: dim4.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="arrayfire.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript" src="doxygen-awesome-fragment-copy-button.js"></script>
<script type="text/javascript" src="doxygen-awesome-interactive-toc.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
DoxygenAwesomeInteractiveToc.init()
DoxygenAwesomeFragmentCopyButton.init()
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="2" cellpadding="2" width="100%">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><a href="index.htm"><img alt="Logo" src="arrayfire_logo.png"/></a></td>
</tr>
<tr id="projectrow">
<td>
<div id="projectbrief">A high-performance general-purpose compute library</div>
</td>
</tr>
<!--END !PROJECT_NAME-->
<div>
<td id="gsearch">
<script async src="https://cse.google.com/cse.js?cx=004356362924927882526:zup3ehe-7bs"></script>
<div class="gcse-search"></div>
</td>
</div>
</tr>
<tr>
<td>
<div id="togglediv"></div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part --><!-- Generated by Doxygen 1.9.5 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.htm"><span>Main Page</span></a></li>
<li><a href="tutorials.htm"><span>Tutorials</span></a></li>
<li><a href="modules.htm"><span>Functions</span></a></li>
<li><a href="releasenotes.htm"><span>Release Notes</span></a></li>
<li><a href="examples.htm"><span>Examples</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(document).ready(function(){initNavTree('dim4_8hpp_source.htm',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">dim4.hpp</div></div>
</div><!--header-->
<div class="contents">
<a href="dim4_8hpp.htm">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*******************************************************</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Copyright (c) 2014, ArrayFire</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * All rights reserved.</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * This file is distributed under 3-clause BSD license.</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * The complete license agreement can be obtained at:</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * http://arrayfire.com/licenses/BSD-3-Clause</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> ********************************************************/</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include <ostream></span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include <istream></span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include <vector></span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include <<a class="code" href="defines_8h.htm">af/defines.h</a>></span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include <<a class="code" href="seq_8h.htm">af/seq.h</a>></span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceaf.htm">af</a></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span>{</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm"> 25</a></span><span class="keyword">class </span><a class="code hl_define" href="defines_8h.htm#ab23e67549eba2cfbaf0eb5f88f947e48">AFAPI</a> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>{</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a5893a5aaf803937c81622366906c920e"> 28</a></span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> dims[4];</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#ada5f9aa682b1081b22063de01b87fd0d"> 30</a></span> <a class="code hl_function" href="classaf_1_1dim4.htm#ada5f9aa682b1081b22063de01b87fd0d">dim4</a>();</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a59a02ef75002a49157e94b1e4a293cac"> 33</a></span> <a class="code hl_function" href="classaf_1_1dim4.htm#a59a02ef75002a49157e94b1e4a293cac">dim4</a>( <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> first,</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> second = 1,</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> third = 1,</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> fourth = 1);</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a39a2496160adc3278cdd8e42c6b9441a"> 41</a></span> <a class="code hl_function" href="classaf_1_1dim4.htm#a39a2496160adc3278cdd8e42c6b9441a">dim4</a>(<span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a>& other);</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor">#if AF_API_VERSION >= 38</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor">#if AF_COMPILER_CXX_RVALUE_REFERENCES</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a>(<a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> &&other) AF_NOEXCEPT = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> &operator=(<a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> other) AF_NOEXCEPT;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a0e6a520a719614458fbfac22bf5a5859"> 65</a></span> <a class="code hl_function" href="classaf_1_1dim4.htm#a0e6a520a719614458fbfac22bf5a5859">dim4</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> ndims, <span class="keyword">const</span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> *<span class="keyword">const</span> dims);</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a46bb9bbedc1152c064785294cb5070b7"> 68</a></span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> <a class="code hl_function" href="classaf_1_1dim4.htm#a46bb9bbedc1152c064785294cb5070b7">elements</a>();</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a89f91cdf327a8b304589916db5bde3c2"> 71</a></span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> <a class="code hl_function" href="classaf_1_1dim4.htm#a89f91cdf327a8b304589916db5bde3c2">elements</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a4fd9beb19aa35a30f19811786e99d426"> 74</a></span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> <a class="code hl_function" href="classaf_1_1dim4.htm#a4fd9beb19aa35a30f19811786e99d426">ndims</a>();</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a9b93d188681e312cd38e34c4583f6f04"> 77</a></span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> <a class="code hl_function" href="classaf_1_1dim4.htm#a9b93d188681e312cd38e34c4583f6f04">ndims</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a8b7b53d0c9e39ca0dac903ae3bbd4392"> 80</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classaf_1_1dim4.htm#a8b7b53d0c9e39ca0dac903ae3bbd4392">operator==</a>(<span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> &other) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a535940a4c59cecfbf219ef29a82fb61a"> 83</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classaf_1_1dim4.htm#a535940a4c59cecfbf219ef29a82fb61a">operator!=</a>(<span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> &other) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a3d4898018cb3640d21a54ae9538f02a8"> 86</a></span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> &<a class="code hl_function" href="classaf_1_1dim4.htm#a3d4898018cb3640d21a54ae9538f02a8">operator*=</a>(<span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> &other);</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a8c6674b86baf634e5028493bb689617f"> 89</a></span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> &<a class="code hl_function" href="classaf_1_1dim4.htm#a8c6674b86baf634e5028493bb689617f">operator+=</a>(<span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> &other);</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a0fe97436e9f34ba372e55aa53273e5db"> 92</a></span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> &<a class="code hl_function" href="classaf_1_1dim4.htm#a0fe97436e9f34ba372e55aa53273e5db">operator-=</a>(<span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> &other);</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a1ce82571c57ac0b4854a75546654d5b2"> 96</a></span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> &<a class="code hl_function" href="classaf_1_1dim4.htm#a1ce82571c57ac0b4854a75546654d5b2">operator[]</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> dim);</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a16dbfc7b7178580f9a17dc330880c491"> 100</a></span> <span class="keyword">const</span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> &<a class="code hl_function" href="classaf_1_1dim4.htm#a16dbfc7b7178580f9a17dc330880c491">operator[]</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> dim) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#ab9b0edf1c23c6c58e1f187cf8c8e79bd"> 103</a></span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> *<a class="code hl_function" href="classaf_1_1dim4.htm#ab9b0edf1c23c6c58e1f187cf8c8e79bd">get</a>() { <span class="keywordflow">return</span> dims; }</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="classaf_1_1dim4.htm#a34c433b37df2fce6d91558991a4138ec"> 106</a></span> <span class="keyword">const</span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> *<a class="code hl_function" href="classaf_1_1dim4.htm#a34c433b37df2fce6d91558991a4138ec">get</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> dims; }</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span>};</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="namespaceaf.htm#a745e99be6a39c1603a9d92dcbf45470c"> 110</a></span><a class="code hl_define" href="defines_8h.htm#ab23e67549eba2cfbaf0eb5f88f947e48">AFAPI</a> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> <a class="code hl_function" href="group__arith__func__add.htm#ga918dd1bfad5bcfdc8b3338a2b3c54d07">operator+</a>(<span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a>& first, <span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a>& second);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="namespaceaf.htm#a67ec82371793632c89d548d00863a0a2"> 113</a></span><a class="code hl_define" href="defines_8h.htm#ab23e67549eba2cfbaf0eb5f88f947e48">AFAPI</a> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> <a class="code hl_function" href="group__arith__func__sub.htm#ga4faecd4f2d07671aeefaa9d6d5d90d3f">operator-</a>(<span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a>& first, <span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a>& second);</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"><a class="line" href="namespaceaf.htm#a9136a6ff4820c764c790613826e0ea99"> 116</a></span><a class="code hl_define" href="defines_8h.htm#ab23e67549eba2cfbaf0eb5f88f947e48">AFAPI</a> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a> <a class="code hl_function" href="group__arith__func__mul.htm#ga90c245863eb9dec4930c8b0c5cb400aa">operator*</a>(<span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a>& first, <span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a>& second);</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="namespaceaf.htm#a442db806245b9bf44dc7fa8aa490edad"> 124</a></span>std::ostream&</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><a class="code hl_function" href="group__arith__func__shiftl.htm#ga19841f8e962cdccd8dd857d7f9242862">operator<<</a>(std::ostream& ostr, <span class="keyword">const</span> <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a>& dims)</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span>{</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> ostr << dims[0] << <span class="stringliteral">" "</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> << dims[1] << <span class="stringliteral">" "</span></div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> << dims[2] << <span class="stringliteral">" "</span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> << dims[3];</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keywordflow">return</span> ostr;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span>}</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="keyword">static</span> <span class="keyword">inline</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span>std::istream&</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="namespaceaf.htm#a7e9a80145cb2a84fd67fe8b833272d2f"> 141</a></span><a class="code hl_function" href="group__arith__func__shiftr.htm#gad130d9b296937446da493f7f7f659178">operator>></a>(std::istream& istr, <a class="code hl_class" href="classaf_1_1dim4.htm">dim4</a>& dims)</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span>{</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> istr >> dims[0]</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> >> dims[1]</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> >> dims[2]</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> >> dims[3];</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">return</span> istr;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span>}</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"><a class="line" href="namespaceaf.htm#adc400c0d694369b9eaab95dbe2c428d5"> 151</a></span><a class="code hl_define" href="defines_8h.htm#ab23e67549eba2cfbaf0eb5f88f947e48">AFAPI</a> <span class="keywordtype">bool</span> <a class="code hl_function" href="namespaceaf.htm#adc400c0d694369b9eaab95dbe2c428d5">isSpan</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structaf__seq.htm">af_seq</a> &<a class="code hl_class" href="classaf_1_1seq.htm">seq</a>);</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"><a class="line" href="namespaceaf.htm#ab34319c95aba4f44b9ab7dd932f86d7d"> 154</a></span><a class="code hl_define" href="defines_8h.htm#ab23e67549eba2cfbaf0eb5f88f947e48">AFAPI</a> <span class="keywordtype">size_t</span> <a class="code hl_function" href="namespaceaf.htm#ab34319c95aba4f44b9ab7dd932f86d7d">seqElements</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structaf__seq.htm">af_seq</a> &<a class="code hl_class" href="classaf_1_1seq.htm">seq</a>);</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="namespaceaf.htm#aade28a393541c633079883197de15d09"> 157</a></span><a class="code hl_define" href="defines_8h.htm#ab23e67549eba2cfbaf0eb5f88f947e48">AFAPI</a> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> <a class="code hl_function" href="namespaceaf.htm#aade28a393541c633079883197de15d09">calcDim</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structaf__seq.htm">af_seq</a> &<a class="code hl_class" href="classaf_1_1seq.htm">seq</a>, <span class="keyword">const</span> <a class="code hl_typedef" href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a> &parentDim);</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span>}</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclassaf_1_1dim4_htm"><div class="ttname"><a href="classaf_1_1dim4.htm">af::dim4</a></div><div class="ttdoc">Generic object that represents size and shape.</div><div class="ttdef"><b>Definition:</b> <a href="dim4_8hpp_source.htm#l00025">dim4.hpp:26</a></div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a0e6a520a719614458fbfac22bf5a5859"><div class="ttname"><a href="classaf_1_1dim4.htm#a0e6a520a719614458fbfac22bf5a5859">af::dim4::dim4</a></div><div class="ttdeci">dim4(const unsigned ndims, const dim_t *const dims)</div><div class="ttdoc">Constructs a dim4 object from a C array of dim_t objects.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a0fe97436e9f34ba372e55aa53273e5db"><div class="ttname"><a href="classaf_1_1dim4.htm#a0fe97436e9f34ba372e55aa53273e5db">af::dim4::operator-=</a></div><div class="ttdeci">dim4 & operator-=(const dim4 &other)</div><div class="ttdoc">Element-wise subtraction of the dim4 objects.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a16dbfc7b7178580f9a17dc330880c491"><div class="ttname"><a href="classaf_1_1dim4.htm#a16dbfc7b7178580f9a17dc330880c491">af::dim4::operator[]</a></div><div class="ttdeci">const dim_t & operator[](const unsigned dim) const</div><div class="ttdoc">Returns the reference to the element at a give index.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a1ce82571c57ac0b4854a75546654d5b2"><div class="ttname"><a href="classaf_1_1dim4.htm#a1ce82571c57ac0b4854a75546654d5b2">af::dim4::operator[]</a></div><div class="ttdeci">dim_t & operator[](const unsigned dim)</div><div class="ttdoc">Returns the reference to the element at a give index.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a34c433b37df2fce6d91558991a4138ec"><div class="ttname"><a href="classaf_1_1dim4.htm#a34c433b37df2fce6d91558991a4138ec">af::dim4::get</a></div><div class="ttdeci">const dim_t * get() const</div><div class="ttdoc">Returns the underlying pointer to the dim4 object.</div><div class="ttdef"><b>Definition:</b> <a href="dim4_8hpp_source.htm#l00106">dim4.hpp:106</a></div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a39a2496160adc3278cdd8e42c6b9441a"><div class="ttname"><a href="classaf_1_1dim4.htm#a39a2496160adc3278cdd8e42c6b9441a">af::dim4::dim4</a></div><div class="ttdeci">dim4(const dim4 &other)</div><div class="ttdoc">Copy constructor.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a3d4898018cb3640d21a54ae9538f02a8"><div class="ttname"><a href="classaf_1_1dim4.htm#a3d4898018cb3640d21a54ae9538f02a8">af::dim4::operator*=</a></div><div class="ttdeci">dim4 & operator*=(const dim4 &other)</div><div class="ttdoc">Element-wise multiplication of the dim4 objects.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a46bb9bbedc1152c064785294cb5070b7"><div class="ttname"><a href="classaf_1_1dim4.htm#a46bb9bbedc1152c064785294cb5070b7">af::dim4::elements</a></div><div class="ttdeci">dim_t elements()</div><div class="ttdoc">Returns the number of elements represented by this dim4.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a4fd9beb19aa35a30f19811786e99d426"><div class="ttname"><a href="classaf_1_1dim4.htm#a4fd9beb19aa35a30f19811786e99d426">af::dim4::ndims</a></div><div class="ttdeci">dim_t ndims()</div><div class="ttdoc">Returns the number of axis whose values are greater than one.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a535940a4c59cecfbf219ef29a82fb61a"><div class="ttname"><a href="classaf_1_1dim4.htm#a535940a4c59cecfbf219ef29a82fb61a">af::dim4::operator!=</a></div><div class="ttdeci">bool operator!=(const dim4 &other) const</div><div class="ttdoc">Returns true if two dim4s store different values.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a59a02ef75002a49157e94b1e4a293cac"><div class="ttname"><a href="classaf_1_1dim4.htm#a59a02ef75002a49157e94b1e4a293cac">af::dim4::dim4</a></div><div class="ttdeci">dim4(dim_t first, dim_t second=1, dim_t third=1, dim_t fourth=1)</div><div class="ttdoc">Creates an new dim4 given a set of dimension.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a89f91cdf327a8b304589916db5bde3c2"><div class="ttname"><a href="classaf_1_1dim4.htm#a89f91cdf327a8b304589916db5bde3c2">af::dim4::elements</a></div><div class="ttdeci">dim_t elements() const</div><div class="ttdoc">Returns the number of elements represented by this dim4.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a8b7b53d0c9e39ca0dac903ae3bbd4392"><div class="ttname"><a href="classaf_1_1dim4.htm#a8b7b53d0c9e39ca0dac903ae3bbd4392">af::dim4::operator==</a></div><div class="ttdeci">bool operator==(const dim4 &other) const</div><div class="ttdoc">Returns true if the two dim4 represent the same shape.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a8c6674b86baf634e5028493bb689617f"><div class="ttname"><a href="classaf_1_1dim4.htm#a8c6674b86baf634e5028493bb689617f">af::dim4::operator+=</a></div><div class="ttdeci">dim4 & operator+=(const dim4 &other)</div><div class="ttdoc">Element-wise addition of the dim4 objects.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_a9b93d188681e312cd38e34c4583f6f04"><div class="ttname"><a href="classaf_1_1dim4.htm#a9b93d188681e312cd38e34c4583f6f04">af::dim4::ndims</a></div><div class="ttdeci">dim_t ndims() const</div><div class="ttdoc">Returns the number of axis whose values are greater than one.</div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_ab9b0edf1c23c6c58e1f187cf8c8e79bd"><div class="ttname"><a href="classaf_1_1dim4.htm#ab9b0edf1c23c6c58e1f187cf8c8e79bd">af::dim4::get</a></div><div class="ttdeci">dim_t * get()</div><div class="ttdoc">Returns the underlying pointer to the dim4 object.</div><div class="ttdef"><b>Definition:</b> <a href="dim4_8hpp_source.htm#l00103">dim4.hpp:103</a></div></div>
<div class="ttc" id="aclassaf_1_1dim4_htm_ada5f9aa682b1081b22063de01b87fd0d"><div class="ttname"><a href="classaf_1_1dim4.htm#ada5f9aa682b1081b22063de01b87fd0d">af::dim4::dim4</a></div><div class="ttdeci">dim4()</div><div class="ttdoc">Default constructor. Creates an invalid dim4 object.</div></div>
<div class="ttc" id="aclassaf_1_1seq_htm"><div class="ttname"><a href="classaf_1_1seq.htm">af::seq</a></div><div class="ttdoc">seq is used to create sequences for indexing af::array</div><div class="ttdef"><b>Definition:</b> <a href="seq_8h_source.htm#l00045">seq.h:46</a></div></div>
<div class="ttc" id="adefines_8h_htm"><div class="ttname"><a href="defines_8h.htm">defines.h</a></div></div>
<div class="ttc" id="adefines_8h_htm_a7f026aa801b1fa6b85b0d992b414cccb"><div class="ttname"><a href="defines_8h.htm#a7f026aa801b1fa6b85b0d992b414cccb">dim_t</a></div><div class="ttdeci">long long dim_t</div><div class="ttdef"><b>Definition:</b> <a href="defines_8h_source.htm#l00056">defines.h:56</a></div></div>
<div class="ttc" id="adefines_8h_htm_ab23e67549eba2cfbaf0eb5f88f947e48"><div class="ttname"><a href="defines_8h.htm#ab23e67549eba2cfbaf0eb5f88f947e48">AFAPI</a></div><div class="ttdeci">#define AFAPI</div><div class="ttdef"><b>Definition:</b> <a href="defines_8h_source.htm#l00038">defines.h:38</a></div></div>
<div class="ttc" id="agroup__arith__func__add_htm_ga918dd1bfad5bcfdc8b3338a2b3c54d07"><div class="ttname"><a href="group__arith__func__add.htm#ga918dd1bfad5bcfdc8b3338a2b3c54d07">af::operator+</a></div><div class="ttdeci">AFAPI array operator+(const array &lhs, const array &rhs)</div><div class="ttdoc">Adds two arrays or an array and a value.</div></div>
<div class="ttc" id="agroup__arith__func__mul_htm_ga90c245863eb9dec4930c8b0c5cb400aa"><div class="ttname"><a href="group__arith__func__mul.htm#ga90c245863eb9dec4930c8b0c5cb400aa">af::operator*</a></div><div class="ttdeci">AFAPI array operator*(const array &lhs, const array &rhs)</div><div class="ttdoc">Multiplies two arrays or an array and a value.</div></div>
<div class="ttc" id="agroup__arith__func__shiftl_htm_ga19841f8e962cdccd8dd857d7f9242862"><div class="ttname"><a href="group__arith__func__shiftl.htm#ga19841f8e962cdccd8dd857d7f9242862">af::operator<<</a></div><div class="ttdeci">AFAPI array operator<<(const array &lhs, const array &rhs)</div><div class="ttdoc">Performs an left shift operation on two arrays or an array and a value.</div></div>
<div class="ttc" id="agroup__arith__func__shiftr_htm_gad130d9b296937446da493f7f7f659178"><div class="ttname"><a href="group__arith__func__shiftr.htm#gad130d9b296937446da493f7f7f659178">af::operator>></a></div><div class="ttdeci">AFAPI array operator>>(const array &lhs, const array &rhs)</div><div class="ttdoc">Performs an right shift operation on two arrays or an array and a value.</div></div>
<div class="ttc" id="agroup__arith__func__sub_htm_ga4faecd4f2d07671aeefaa9d6d5d90d3f"><div class="ttname"><a href="group__arith__func__sub.htm#ga4faecd4f2d07671aeefaa9d6d5d90d3f">af::operator-</a></div><div class="ttdeci">AFAPI array operator-(const array &lhs, const array &rhs)</div><div class="ttdoc">Subtracts two arrays or an array and a value.</div></div>
<div class="ttc" id="anamespaceaf_htm"><div class="ttname"><a href="namespaceaf.htm">af</a></div><div class="ttdef"><b>Definition:</b> <a href="algorithm_8h_source.htm#l00014">algorithm.h:15</a></div></div>
<div class="ttc" id="anamespaceaf_htm_aade28a393541c633079883197de15d09"><div class="ttname"><a href="namespaceaf.htm#aade28a393541c633079883197de15d09">af::calcDim</a></div><div class="ttdeci">AFAPI dim_t calcDim(const af_seq &seq, const dim_t &parentDim)</div><div class="ttdoc">Returns the number of elements that will be represented by seq if applied on an array.</div></div>
<div class="ttc" id="anamespaceaf_htm_ab34319c95aba4f44b9ab7dd932f86d7d"><div class="ttname"><a href="namespaceaf.htm#ab34319c95aba4f44b9ab7dd932f86d7d">af::seqElements</a></div><div class="ttdeci">AFAPI size_t seqElements(const af_seq &seq)</div><div class="ttdoc">Returns the number of elements that the af_seq object represents.</div></div>
<div class="ttc" id="anamespaceaf_htm_adc400c0d694369b9eaab95dbe2c428d5"><div class="ttname"><a href="namespaceaf.htm#adc400c0d694369b9eaab95dbe2c428d5">af::isSpan</a></div><div class="ttdeci">AFAPI bool isSpan(const af_seq &seq)</div><div class="ttdoc">Returns true if the af_seq object represents the entire range of an axis.</div></div>
<div class="ttc" id="aseq_8h_htm"><div class="ttname"><a href="seq_8h.htm">seq.h</a></div></div>
<div class="ttc" id="astructaf__seq_htm"><div class="ttname"><a href="structaf__seq.htm">af_seq</a></div><div class="ttdoc">C-style struct to creating sequences for indexing.</div><div class="ttdef"><b>Definition:</b> <a href="seq_8h_source.htm#l00020">seq.h:20</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.9.3-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dim4_8hpp.htm">dim4.hpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
</ul>
</div>
</body>
</html>