12
12
</ script >
13
13
14
14
< meta name ="viewport " content ="width=device-width, initial-scale=1.0 " />
15
- < title > dpnp.dpnp_iface_counting — Data Parallel Extension for NumPy 0.16.0dev0+100.g45268ffcba documentation</ title >
15
+ < title > dpnp.dpnp_iface_counting — Data Parallel Extension for NumPy 0.16.0dev0+103.g59f79a18d7 documentation</ title >
16
16
< link rel ="stylesheet " type ="text/css " href ="../../_static/pygments.css?v=fa44fd50 " />
17
17
< link rel ="stylesheet " type ="text/css " href ="../../_static/css/theme.css?v=19f00094 " />
18
18
23
23
24
24
< script src ="../../_static/jquery.js?v=5d32c60e "> </ script >
25
25
< script src ="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c "> </ script >
26
- < script src ="../../_static/documentation_options.js?v=90d8640d "> </ script >
26
+ < script src ="../../_static/documentation_options.js?v=4b37e5b0 "> </ script >
27
27
< script src ="../../_static/doctools.js?v=9a2dae69 "> </ script >
28
28
< script src ="../../_static/sphinx_highlight.js?v=dc90522c "> </ script >
29
29
< script src ="../../_static/js/theme.js "> </ script >
43
43
Data Parallel Extension for NumPy
44
44
</ a >
45
45
< div class ="version ">
46
- 0.16.0dev0+100.g45268ffcba
46
+ 0.16.0dev0+103.g59f79a18d7
47
47
</ div >
48
48
< div role ="search ">
49
49
< form id ="rtd-search-form " class ="wy-form " action ="../../search.html " method ="get ">
@@ -136,25 +136,38 @@ <h1>Source code for dpnp.dpnp_iface_counting</h1><div class="highlight"><pre>
136
136
137
137
< div class ="viewcode-block " id ="count_nonzero ">
138
138
< a class ="viewcode-back " href ="../../reference/generated/dpnp.count_nonzero.html#dpnp.count_nonzero "> [docs]</ a >
139
- < span class ="k "> def</ span > < span class ="nf "> count_nonzero</ span > < span class ="p "> (</ span > < span class ="n "> a</ span > < span class ="p "> ,</ span > < span class ="n "> axis</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span > < span class ="o "> *</ span > < span class ="p "> ,</ span > < span class ="n "> keepdims</ span > < span class ="o "> =</ span > < span class ="kc "> False</ span > < span class ="p "> ):</ span >
139
+ < span class ="k "> def</ span > < span class ="nf "> count_nonzero</ span > < span class ="p "> (</ span > < span class ="n "> a</ span > < span class ="p "> ,</ span > < span class ="n "> axis</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span > < span class ="o "> *</ span > < span class ="p "> ,</ span > < span class ="n "> keepdims</ span > < span class ="o "> =</ span > < span class ="kc "> False</ span > < span class ="p "> , </ span > < span class =" n " > out </ span > < span class =" o " > = </ span > < span class =" kc " > None </ span > < span class =" p " > ):</ span >
140
140
< span class ="w "> </ span > < span class ="sd "> """</ span >
141
141
< span class ="sd "> Counts the number of non-zero values in the array `a`.</ span >
142
142
143
143
< span class ="sd "> For full documentation refer to :obj:`numpy.count_nonzero`.</ span >
144
144
145
+ < span class ="sd "> Parameters</ span >
146
+ < span class ="sd "> ----------</ span >
147
+ < span class ="sd "> a : {dpnp.ndarray, usm_ndarray}</ span >
148
+ < span class ="sd "> The array for which to count non-zeros.</ span >
149
+ < span class ="sd "> axis : {None, int, tuple}, optional</ span >
150
+ < span class ="sd "> Axis or tuple of axes along which to count non-zeros.</ span >
151
+ < span class ="sd "> Default value means that non-zeros will be counted along a flattened</ span >
152
+ < span class ="sd "> version of `a`.</ span >
153
+ < span class ="sd "> Default: ``None``.</ span >
154
+ < span class ="sd "> keepdims : bool, optional</ span >
155
+ < span class ="sd "> If this is set to ``True``, the axes that are counted are left in the</ span >
156
+ < span class ="sd "> result as dimensions with size one. With this option, the result will</ span >
157
+ < span class ="sd "> broadcast correctly against the input array.</ span >
158
+ < span class ="sd "> Default: ``False``.</ span >
159
+ < span class ="sd "> out : {None, dpnp.ndarray, usm_ndarray}, optional</ span >
160
+ < span class ="sd "> The array into which the result is written. The data type of `out` must</ span >
161
+ < span class ="sd "> match the expected shape and the expected data type of the result.</ span >
162
+ < span class ="sd "> If ``None`` then a new array is returned.</ span >
163
+ < span class ="sd "> Default: ``None``.</ span >
164
+
145
165
< span class ="sd "> Returns</ span >
146
166
< span class ="sd "> -------</ span >
147
167
< span class ="sd "> out : dpnp.ndarray</ span >
148
168
< span class ="sd "> Number of non-zero values in the array along a given axis.</ span >
149
- < span class ="sd "> Otherwise, a zero-dimensional array with the total number of</ span >
150
- < span class ="sd "> non-zero values in the array is returned.</ span >
151
-
152
- < span class ="sd "> Limitations</ span >
153
- < span class ="sd "> -----------</ span >
154
- < span class ="sd "> Parameters `a` is supported as either :class:`dpnp.ndarray`</ span >
155
- < span class ="sd "> or :class:`dpctl.tensor.usm_ndarray`.</ span >
156
- < span class ="sd "> Otherwise ``TypeError`` exception will be raised.</ span >
157
- < span class ="sd "> Input array data types are limited by supported DPNP :ref:`Data types`.</ span >
169
+ < span class ="sd "> Otherwise, a zero-dimensional array with the total number of non-zero</ span >
170
+ < span class ="sd "> values in the array is returned.</ span >
158
171
159
172
< span class ="sd "> See Also</ span >
160
173
< span class ="sd "> --------</ span >
@@ -179,11 +192,13 @@ <h1>Source code for dpnp.dpnp_iface_counting</h1><div class="highlight"><pre>
179
192
180
193
< span class ="sd "> """</ span >
181
194
182
- < span class ="c1 "> # TODO: might be improved by implementing an extension</ span >
183
- < span class ="c1 "> # with `count_nonzero` kernel</ span >
184
195
< span class ="n "> usm_a</ span > < span class ="o "> =</ span > < span class ="n "> dpnp</ span > < span class ="o "> .</ span > < span class ="n "> get_usm_ndarray</ span > < span class ="p "> (</ span > < span class ="n "> a</ span > < span class ="p "> )</ span >
185
- < span class ="n "> usm_a</ span > < span class ="o "> =</ span > < span class ="n "> dpt</ span > < span class ="o "> .</ span > < span class ="n "> astype</ span > < span class ="p "> (</ span > < span class ="n "> usm_a</ span > < span class ="p "> ,</ span > < span class ="n "> dpnp</ span > < span class ="o "> .</ span > < span class ="n "> bool</ span > < span class ="p "> ,</ span > < span class ="n "> copy</ span > < span class ="o "> =</ span > < span class ="kc "> False</ span > < span class ="p "> )</ span >
186
- < span class ="k "> return</ span > < span class ="n "> dpnp</ span > < span class ="o "> .</ span > < span class ="n "> sum</ span > < span class ="p "> (</ span > < span class ="n "> usm_a</ span > < span class ="p "> ,</ span > < span class ="n "> axis</ span > < span class ="o "> =</ span > < span class ="n "> axis</ span > < span class ="p "> ,</ span > < span class ="n "> dtype</ span > < span class ="o "> =</ span > < span class ="n "> dpnp</ span > < span class ="o "> .</ span > < span class ="n "> intp</ span > < span class ="p "> ,</ span > < span class ="n "> keepdims</ span > < span class ="o "> =</ span > < span class ="n "> keepdims</ span > < span class ="p "> )</ span > </ div >
196
+ < span class ="n "> usm_out</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="k "> if</ span > < span class ="n "> out</ span > < span class ="ow "> is</ span > < span class ="kc "> None</ span > < span class ="k "> else</ span > < span class ="n "> dpnp</ span > < span class ="o "> .</ span > < span class ="n "> get_usm_ndarray</ span > < span class ="p "> (</ span > < span class ="n "> out</ span > < span class ="p "> )</ span >
197
+
198
+ < span class ="n "> usm_res</ span > < span class ="o "> =</ span > < span class ="n "> dpt</ span > < span class ="o "> .</ span > < span class ="n "> count_nonzero</ span > < span class ="p "> (</ span >
199
+ < span class ="n "> usm_a</ span > < span class ="p "> ,</ span > < span class ="n "> axis</ span > < span class ="o "> =</ span > < span class ="n "> axis</ span > < span class ="p "> ,</ span > < span class ="n "> keepdims</ span > < span class ="o "> =</ span > < span class ="n "> keepdims</ span > < span class ="p "> ,</ span > < span class ="n "> out</ span > < span class ="o "> =</ span > < span class ="n "> usm_out</ span >
200
+ < span class ="p "> )</ span >
201
+ < span class ="k "> return</ span > < span class ="n "> dpnp</ span > < span class ="o "> .</ span > < span class ="n "> get_result_array</ span > < span class ="p "> (</ span > < span class ="n "> usm_res</ span > < span class ="p "> ,</ span > < span class ="n "> out</ span > < span class ="p "> )</ span > </ div >
187
202
188
203
</ pre > </ div >
189
204
0 commit comments