@@ -37,26 +37,13 @@ and the rest of the library
37
37
38
38
__all__ += [
39
39
" dpnp_choose" ,
40
- " dpnp_diag_indices" ,
41
- " dpnp_fill_diagonal" ,
42
40
" dpnp_putmask" ,
43
41
" dpnp_select" ,
44
- " dpnp_tril_indices" ,
45
- " dpnp_tril_indices_from" ,
46
- " dpnp_triu_indices" ,
47
- " dpnp_triu_indices_from"
48
42
]
49
43
50
44
ctypedef c_dpctl.DPCTLSyclEventRef(* fptr_dpnp_choose_t)(c_dpctl.DPCTLSyclQueueRef,
51
45
void * , void * , void ** , size_t, size_t, size_t,
52
46
const c_dpctl.DPCTLEventVectorRef)
53
- ctypedef c_dpctl.DPCTLSyclEventRef(* fptr_dpnp_diag_indices)(c_dpctl.DPCTLSyclQueueRef,
54
- void * , size_t,
55
- const c_dpctl.DPCTLEventVectorRef)
56
- ctypedef c_dpctl.DPCTLSyclEventRef(* custom_indexing_2in_func_ptr_t)(c_dpctl.DPCTLSyclQueueRef,
57
- void * , void * , shape_elem_type * , const size_t,
58
- const c_dpctl.DPCTLEventVectorRef)
59
-
60
47
61
48
cpdef utils.dpnp_descriptor dpnp_choose(utils.dpnp_descriptor x1, list choices1):
62
49
cdef vector[void * ] choices
@@ -105,71 +92,6 @@ cpdef utils.dpnp_descriptor dpnp_choose(utils.dpnp_descriptor x1, list choices1)
105
92
return res_array
106
93
107
94
108
- cpdef tuple dpnp_diag_indices(n, ndim):
109
- cdef size_t res_size = 0 if n < 0 else n
110
-
111
- cdef DPNPFuncType param1_type = dpnp_dtype_to_DPNPFuncType(dpnp.int64)
112
-
113
- cdef DPNPFuncData kernel_data = get_dpnp_function_ptr(DPNP_FN_DIAG_INDICES_EXT, param1_type, param1_type)
114
-
115
- cdef fptr_dpnp_diag_indices func = < fptr_dpnp_diag_indices > kernel_data.ptr
116
-
117
- cdef c_dpctl.SyclQueue q
118
- cdef c_dpctl.DPCTLSyclQueueRef q_ref
119
- cdef c_dpctl.DPCTLSyclEventRef event_ref
120
-
121
- res_list = []
122
- cdef utils.dpnp_descriptor res_arr
123
- cdef shape_type_c result_shape = utils._object_to_tuple(res_size)
124
- for i in range (ndim):
125
- res_arr = utils.create_output_descriptor(result_shape, kernel_data.return_type, None )
126
-
127
- q = < c_dpctl.SyclQueue> res_arr.get_array().sycl_queue
128
- q_ref = q.get_queue_ref()
129
-
130
- event_ref = func(q_ref, res_arr.get_data(), res_size, NULL )
131
-
132
- with nogil: c_dpctl.DPCTLEvent_WaitAndThrow(event_ref)
133
- c_dpctl.DPCTLEvent_Delete(event_ref)
134
-
135
- res_list.append(res_arr.get_pyobj())
136
-
137
- return tuple (res_list)
138
-
139
-
140
- cpdef dpnp_fill_diagonal(dpnp_descriptor x1, val):
141
- x1_obj = x1.get_array()
142
-
143
- cdef shape_type_c x1_shape = x1.shape
144
- cdef utils.dpnp_descriptor val_arr = utils_py.create_output_descriptor_py((1 ,),
145
- x1.dtype,
146
- None ,
147
- device = x1_obj.sycl_device,
148
- usm_type = x1_obj.usm_type,
149
- sycl_queue = x1_obj.sycl_queue)
150
-
151
- val_arr.get_pyobj()[0 ] = val
152
-
153
- cdef DPNPFuncType param1_type = dpnp_dtype_to_DPNPFuncType(x1.dtype)
154
-
155
- cdef DPNPFuncData kernel_data = get_dpnp_function_ptr(DPNP_FN_FILL_DIAGONAL_EXT, param1_type, param1_type)
156
-
157
- cdef c_dpctl.SyclQueue q = < c_dpctl.SyclQueue> x1_obj.sycl_queue
158
- cdef c_dpctl.DPCTLSyclQueueRef q_ref = q.get_queue_ref()
159
-
160
- cdef custom_indexing_2in_func_ptr_t func = < custom_indexing_2in_func_ptr_t > kernel_data.ptr
161
-
162
- cdef c_dpctl.DPCTLSyclEventRef event_ref = func(q_ref,
163
- x1.get_data(),
164
- val_arr.get_data(),
165
- x1_shape.data(),
166
- x1.ndim,
167
- NULL ) # dep_events_ref
168
-
169
- with nogil: c_dpctl.DPCTLEvent_WaitAndThrow(event_ref)
170
- c_dpctl.DPCTLEvent_Delete(event_ref)
171
-
172
-
173
95
cpdef dpnp_putmask(utils.dpnp_descriptor arr, utils.dpnp_descriptor mask, utils.dpnp_descriptor values):
174
96
cdef int values_size = values.size
175
97
@@ -197,91 +119,3 @@ cpdef utils.dpnp_descriptor dpnp_select(list condlist, list choicelist, default)
197
119
res_array.get_pyobj()[ind] = val
198
120
199
121
return res_array
200
-
201
-
202
- cpdef tuple dpnp_tril_indices(n, k = 0 , m = None ):
203
- array1 = []
204
- array2 = []
205
- if m is None :
206
- for i in range (n):
207
- for j in range (i + 1 + k):
208
- if j >= n:
209
- continue
210
- else :
211
- array1.append(i)
212
- array2.append(j)
213
- else :
214
- for i in range (n):
215
- for j in range (i + 1 + k):
216
- if j < m:
217
- array1.append(i)
218
- array2.append(j)
219
-
220
- array1 = dpnp.array(array1, dtype = dpnp.int64)
221
- array2 = dpnp.array(array2, dtype = dpnp.int64)
222
- return (array1, array2)
223
-
224
-
225
- cpdef tuple dpnp_tril_indices_from(dpnp_descriptor arr, k = 0 ):
226
- m = arr.shape[0 ]
227
- n = arr.shape[1 ]
228
- array1 = []
229
- array2 = []
230
- if m is None :
231
- for i in range (n):
232
- for j in range (i + 1 + k):
233
- if j >= n:
234
- continue
235
- else :
236
- array1.append(i)
237
- array2.append(j)
238
- else :
239
- for i in range (n):
240
- for j in range (i + 1 + k):
241
- if j < m:
242
- array1.append(i)
243
- array2.append(j)
244
-
245
- array1 = dpnp.array(array1, dtype = dpnp.int64)
246
- array2 = dpnp.array(array2, dtype = dpnp.int64)
247
- return (array1, array2)
248
-
249
-
250
- cpdef tuple dpnp_triu_indices(n, k = 0 , m = None ):
251
- array1 = []
252
- array2 = []
253
- if m is None :
254
- for i in range (n):
255
- for j in range (i + k, n):
256
- array1.append(i)
257
- array2.append(j)
258
- else :
259
- for i in range (n):
260
- for j in range (i + k, m):
261
- array1.append(i)
262
- array2.append(j)
263
-
264
- array1 = dpnp.array(array1, dtype = dpnp.int64)
265
- array2 = dpnp.array(array2, dtype = dpnp.int64)
266
- return (array1, array2)
267
-
268
-
269
- cpdef tuple dpnp_triu_indices_from(dpnp_descriptor arr, k = 0 ):
270
- m = arr.shape[0 ]
271
- n = arr.shape[1 ]
272
- array1 = []
273
- array2 = []
274
- if m is None :
275
- for i in range (n):
276
- for j in range (i + k, n):
277
- array1.append(i)
278
- array2.append(j)
279
- else :
280
- for i in range (n):
281
- for j in range (i + k, m):
282
- array1.append(i)
283
- array2.append(j)
284
-
285
- array1 = dpnp.array(array1, dtype = dpnp.int64)
286
- array2 = dpnp.array(array2, dtype = dpnp.int64)
287
- return (array1, array2)
0 commit comments