1use std::{ffi::c_void, os::raw::c_int};
7
8use once_cell::sync::Lazy;
9
10use crate::sys::{
11 self, colorspace_t, errcode_t, imagedata_t, mbool, mcomplex, mint, mreal,
12 numericarray_convert_method_t, numericarray_data_t, raw_t_bit, raw_t_real32,
13 raw_t_real64, raw_t_ubit16, raw_t_ubit8, type_t, DataStore, DataStoreNode, MArgument,
14 MImage, MInputStream, MNumericArray, MOutputStream, MRawArray, MSparseArray, MTensor,
15 WSENV, WSLINK,
16};
17
18macro_rules! rtl_func {
21 ($($(#[$autodoc:ident])? $vis:vis $path:ident : $type:ty,)*) => {
22 $(
23 $(
24 #[$autodoc = concat!(
25 "*LibraryLink C API Documentation:* [`",
26 stringify!($path),
27 "`](https://reference.wolfram.com/language/LibraryLink/ref/callback/",
28 stringify!($path),
29 ".html)"
30 )]
31 )?
32 #[allow(missing_docs, non_upper_case_globals)]
33 $vis static $path: Lazy<$type> = Lazy::new(
34 || crate::get_library_data().$path
35 );
36 )*
37 };
38
39 ($group:ident => [$($(#[$autodoc:ident])? $vis:vis $path:ident : $type:ty,)*]) => {
40 $(
44 $(
45 #[$autodoc = concat!(
46 "*LibraryLink C API Documentation:* [`",
47 stringify!($path),
48 "`](https://reference.wolfram.com/language/LibraryLink/ref/callback/",
49 stringify!($path),
50 ".html)"
51 )]
52 )?
53 #[allow(missing_docs, non_upper_case_globals)]
54 $vis static $path: Lazy<$type> = Lazy::new(
55 || unsafe { (*crate::get_library_data().$group) }.$path.expect(concat!("unwrap: ", stringify!($group)))
56 );
57 )*
58 };
59}
60
61rtl_func![
66 #[doc] pub UTF8String_disown: unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_char),
67
68 #[doc] pub MTensor_new: unsafe extern "C" fn(
69 arg1: mint,
70 arg2: mint,
71 arg3: *const mint,
72 arg4: *mut MTensor,
73 ) -> ::std::os::raw::c_int,
74
75 #[doc] pub MTensor_free: unsafe extern "C" fn(arg1: MTensor),
76
77 #[doc] pub MTensor_clone:
78 unsafe extern "C" fn(arg1: MTensor, arg2: *mut MTensor) -> ::std::os::raw::c_int,
79
80 #[doc] pub MTensor_shareCount: unsafe extern "C" fn(arg1: MTensor) -> mint,
81
82 #[doc] pub MTensor_disown: unsafe extern "C" fn(arg1: MTensor),
83
84 #[doc] pub MTensor_disownAll: unsafe extern "C" fn(arg1: MTensor),
85
86 #[doc] pub MTensor_setInteger: unsafe extern "C" fn(
87 arg1: MTensor,
88 arg2: *mut mint,
89 arg3: mint,
90 ) -> ::std::os::raw::c_int,
91
92 #[doc] pub MTensor_setReal: unsafe extern "C" fn(
93 arg1: MTensor,
94 arg2: *mut mint,
95 arg3: mreal,
96 ) -> ::std::os::raw::c_int,
97
98 #[doc] pub MTensor_setComplex: unsafe extern "C" fn(
99 arg1: MTensor,
100 arg2: *mut mint,
101 arg3: mcomplex,
102 ) -> ::std::os::raw::c_int,
103
104 #[doc] pub MTensor_setMTensor: unsafe extern "C" fn(
105 arg1: MTensor,
106 arg2: MTensor,
107 arg3: *mut mint,
108 arg4: mint,
109 ) -> ::std::os::raw::c_int,
110
111 #[doc] pub MTensor_getInteger: unsafe extern "C" fn(
112 arg1: MTensor,
113 arg2: *mut mint,
114 arg3: *mut mint,
115 ) -> ::std::os::raw::c_int,
116
117 #[doc] pub MTensor_getReal: unsafe extern "C" fn(
118 arg1: MTensor,
119 arg2: *mut mint,
120 arg3: *mut mreal,
121 ) -> ::std::os::raw::c_int,
122
123 #[doc] pub MTensor_getComplex: unsafe extern "C" fn(
124 arg1: MTensor,
125 arg2: *mut mint,
126 arg3: *mut mcomplex,
127 ) -> ::std::os::raw::c_int,
128
129 #[doc] pub MTensor_getMTensor: unsafe extern "C" fn(
130 arg1: MTensor,
131 arg2: *mut mint,
132 arg3: mint,
133 arg4: *mut MTensor,
134 ) -> ::std::os::raw::c_int,
135
136 #[doc] pub MTensor_getRank: unsafe extern "C" fn(arg1: MTensor) -> mint,
137 #[doc] pub MTensor_getDimensions: unsafe extern "C" fn(arg1: MTensor) -> *const mint,
138 #[doc] pub MTensor_getType: unsafe extern "C" fn(arg1: MTensor) -> mint,
139 #[doc] pub MTensor_getFlattenedLength: unsafe extern "C" fn(arg1: MTensor) -> mint,
140 #[doc] pub MTensor_getIntegerData: unsafe extern "C" fn(arg1: MTensor) -> *mut mint,
141 #[doc] pub MTensor_getRealData: unsafe extern "C" fn(arg1: MTensor) -> *mut mreal,
142 #[doc] pub MTensor_getComplexData: unsafe extern "C" fn(arg1: MTensor) -> *mut mcomplex,
143
144 #[doc] pub Message: unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char),
145 #[doc] pub AbortQ: unsafe extern "C" fn() -> mint,
146
147 #[doc] pub getWSLINK: unsafe extern "C" fn(arg1: sys::WolframLibraryData) -> WSLINK,
148 #[doc] pub processWSLINK: unsafe extern "C" fn(arg1: WSLINK) -> ::std::os::raw::c_int,
149
150 pub evaluateExpression: unsafe extern "C" fn(
151 arg1: sys::WolframLibraryData,
152 arg2: *mut ::std::os::raw::c_char,
153 arg3: ::std::os::raw::c_int,
154 arg4: mint,
155 arg5: *mut ::std::os::raw::c_void,
156 ) -> ::std::os::raw::c_int,
157
158 pub registerInputStreamMethod: unsafe extern "C" fn(
159 name: *const ::std::os::raw::c_char,
160 ctor: Option<
161 unsafe extern "C" fn(
162 arg1: MInputStream,
163 msgHead: *const ::std::os::raw::c_char,
164 optionsIn: *mut ::std::os::raw::c_void,
165 ),
166 >,
167 handlerTest: Option<
168 unsafe extern "C" fn(
169 arg1: *mut ::std::os::raw::c_void,
170 arg2: *mut ::std::os::raw::c_char,
171 ) -> mbool,
172 >,
173 methodData: *mut ::std::os::raw::c_void,
174 destroyMethod: Option<
175 unsafe extern "C" fn(methodData: *mut ::std::os::raw::c_void),
176 >,
177 ) -> mbool,
178
179 pub unregisterInputStreamMethod:
180 unsafe extern "C" fn(name: *const ::std::os::raw::c_char) -> mbool,
181
182 pub registerOutputStreamMethod: unsafe extern "C" fn(
183 name: *const ::std::os::raw::c_char,
184 ctor: Option<
185 unsafe extern "C" fn(
186 arg1: MOutputStream,
187 msgHead: *const ::std::os::raw::c_char,
188 optionsIn: *mut ::std::os::raw::c_void,
189 appendMode: mbool,
190 ),
191 >,
192 handlerTest: Option<
193 unsafe extern "C" fn(
194 arg1: *mut ::std::os::raw::c_void,
195 arg2: *mut ::std::os::raw::c_char,
196 ) -> mbool,
197 >,
198 methodData: *mut ::std::os::raw::c_void,
199 destroyMethod: Option<
200 unsafe extern "C" fn(methodData: *mut ::std::os::raw::c_void),
201 >,
202 ) -> mbool,
203
204 pub unregisterOutputStreamMethod:
205 unsafe extern "C" fn(name: *const ::std::os::raw::c_char) -> mbool,
206
207
208 pub getWSLINKEnvironment:
209 unsafe extern "C" fn(arg1: sys::WolframLibraryData) -> WSENV,
210
211 #[doc] pub registerLibraryExpressionManager: unsafe extern "C" fn(
212 mname: *const ::std::os::raw::c_char,
213 mfun: Option<
214 unsafe extern "C" fn(arg1: sys::WolframLibraryData, arg2: mbool, arg3: mint),
215 >,
216 )
217 -> ::std::os::raw::c_int,
218
219 #[doc] pub unregisterLibraryExpressionManager: unsafe extern "C" fn(
220 mname: *const ::std::os::raw::c_char,
221 )
222 -> ::std::os::raw::c_int,
223
224 #[doc] pub releaseManagedLibraryExpression: unsafe extern "C" fn(
225 mname: *const ::std::os::raw::c_char,
226 id: mint,
227 )
228 -> ::std::os::raw::c_int,
229
230 #[doc] pub registerLibraryCallbackManager: unsafe extern "C" fn(
231 name: *const ::std::os::raw::c_char,
232 mfun: Option<
233 unsafe extern "C" fn(
234 arg1: sys::WolframLibraryData,
235 arg2: mint,
236 arg3: MTensor,
237 ) -> mbool,
238 >,
239 )
240 -> ::std::os::raw::c_int,
241
242 #[doc] pub unregisterLibraryCallbackManager: unsafe extern "C" fn(
243 name: *const ::std::os::raw::c_char,
244 )
245 -> ::std::os::raw::c_int,
246
247 #[doc] pub callLibraryCallbackFunction: unsafe extern "C" fn(
248 id: mint,
249 ArgC: mint,
250 Args: *mut MArgument,
251 Res: MArgument,
252 ) -> ::std::os::raw::c_int,
253
254 #[doc] pub releaseLibraryCallbackFunction:
255 unsafe extern "C" fn(id: mint) -> ::std::os::raw::c_int,
256
257 pub validatePath: unsafe extern "C" fn(
258 path: *mut ::std::os::raw::c_char,
259 type_: ::std::os::raw::c_char,
260 ) -> mbool,
261
262 pub protectedModeQ: unsafe extern "C" fn() -> mbool,
263 pub setParallelThreadNumber:
264 unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
265 pub restoreParallelThreadNumber: unsafe extern "C" fn(arg1: ::std::os::raw::c_int),
266 pub getParallelThreadNumber: unsafe extern "C" fn() -> ::std::os::raw::c_int,
267];
268
269rtl_func![
274 ioLibraryFunctions => [
275 pub createAsynchronousTaskWithoutThread: unsafe extern "C" fn() -> mint,
276 pub createAsynchronousTaskWithThread:
277 unsafe extern "C" fn(
278 asyncRunner: ::std::option::Option<
279 unsafe extern "C" fn(
280 asyncTaskID: mint,
281 initData: *mut ::std::os::raw::c_void,
282 ),
283 >,
284 initData: *mut ::std::os::raw::c_void,
285 ) -> mint,
286 pub raiseAsyncEvent:
287 unsafe extern "C" fn(
288 asyncTaskID: mint,
289 eventType: *mut ::std::os::raw::c_char,
290 arg1: DataStore,
291 ),
292 pub asynchronousTaskAliveQ: unsafe extern "C" fn(asyncTaskID: mint) -> mbool,
293 pub asynchronousTaskStartedQ: unsafe extern "C" fn(asyncTaskID: mint) -> mbool,
294 pub createDataStore: unsafe extern "C" fn() -> DataStore,
295 pub DataStore_addInteger: unsafe extern "C" fn(arg1: DataStore, arg2: mint),
296 pub DataStore_addReal: unsafe extern "C" fn(arg1: DataStore, arg2: mreal),
297 pub DataStore_addComplex: unsafe extern "C" fn(arg1: DataStore, arg2: mcomplex),
298 pub DataStore_addString: unsafe extern "C" fn(arg1: DataStore, arg2: *mut ::std::os::raw::c_char),
299 pub DataStore_addMTensor: unsafe extern "C" fn(arg1: DataStore, arg2: MTensor),
300 pub DataStore_addMRawArray: unsafe extern "C" fn(arg1: DataStore, arg2: MRawArray),
301 pub DataStore_addMImage: unsafe extern "C" fn(arg1: DataStore, arg2: MImage),
302 pub DataStore_addDataStore: unsafe extern "C" fn(arg1: DataStore, arg2: DataStore),
303 pub DataStore_addNamedInteger:
304 unsafe extern "C" fn(
305 arg1: DataStore,
306 arg2: *mut ::std::os::raw::c_char,
307 arg3: mint,
308 ),
309 pub DataStore_addNamedReal:
310 unsafe extern "C" fn(
311 arg1: DataStore,
312 arg2: *mut ::std::os::raw::c_char,
313 arg3: mreal,
314 ),
315 pub DataStore_addNamedComplex:
316 unsafe extern "C" fn(
317 arg1: DataStore,
318 arg2: *mut ::std::os::raw::c_char,
319 arg3: mcomplex,
320 ),
321 pub DataStore_addNamedString:
322 unsafe extern "C" fn(
323 arg1: DataStore,
324 arg2: *mut ::std::os::raw::c_char,
325 arg3: *mut ::std::os::raw::c_char,
326 ),
327 pub DataStore_addNamedMTensor:
328 unsafe extern "C" fn(
329 arg1: DataStore,
330 arg2: *mut ::std::os::raw::c_char,
331 arg3: MTensor,
332 ),
333 pub DataStore_addNamedMRawArray:
334 unsafe extern "C" fn(
335 arg1: DataStore,
336 arg2: *mut ::std::os::raw::c_char,
337 arg3: MRawArray,
338 ),
339 pub DataStore_addNamedMImage:
340 unsafe extern "C" fn(
341 arg1: DataStore,
342 arg2: *mut ::std::os::raw::c_char,
343 arg3: MImage,
344 ),
345 pub DataStore_addNamedDataStore:
346 unsafe extern "C" fn(
347 arg1: DataStore,
348 arg2: *mut ::std::os::raw::c_char,
349 arg3: DataStore,
350 ),
351 pub removeAsynchronousTask: unsafe extern "C" fn(asyncTaskID: mint) -> mint,
352 pub deleteDataStore: unsafe extern "C" fn(arg1: DataStore),
353 pub copyDataStore: unsafe extern "C" fn(arg1: DataStore) -> DataStore,
354 pub DataStore_getLength: unsafe extern "C" fn(arg1: DataStore) -> mint,
355 pub DataStore_getFirstNode: unsafe extern "C" fn(arg1: DataStore) -> DataStoreNode,
356 pub DataStore_getLastNode: unsafe extern "C" fn(arg1: DataStore) -> DataStoreNode,
357 pub DataStoreNode_getNextNode: unsafe extern "C" fn(arg1: DataStoreNode) -> DataStoreNode,
358 pub DataStoreNode_getDataType: unsafe extern "C" fn(arg1: DataStoreNode) -> type_t,
359 pub DataStoreNode_getData: unsafe extern "C" fn(arg1: DataStoreNode, arg2: *mut MArgument) -> errcode_t,
360 pub DataStoreNode_getName:
361 unsafe extern "C" fn(
362 arg1: DataStoreNode,
363 arg2: *mut *mut ::std::os::raw::c_char,
364 ) -> errcode_t,
365 pub DataStore_addBoolean: unsafe extern "C" fn(arg1: DataStore, arg2: mbool),
366 pub DataStore_addNamedBoolean:
367 unsafe extern "C" fn(
368 arg1: DataStore,
369 arg2: *mut ::std::os::raw::c_char,
370 arg3: mbool,
371 ),
372 pub DataStore_addMNumericArray: unsafe extern "C" fn(arg1: DataStore, arg2: MNumericArray),
373 pub DataStore_addNamedMNumericArray:
374 unsafe extern "C" fn(
375 arg1: DataStore,
376 arg2: *mut ::std::os::raw::c_char,
377 arg3: MNumericArray,
378 ),
379 pub DataStore_addMSparseArray: unsafe extern "C" fn(arg1: DataStore, arg2: MSparseArray),
380 pub DataStore_addNamedMSparseArray:
381 unsafe extern "C" fn(
382 arg1: DataStore,
383 arg2: *mut ::std::os::raw::c_char,
384 arg3: MSparseArray,
385 ),
386 ]
387];
388
389rtl_func![
394 numericarrayLibraryFunctions => [
395 #[doc] pub MNumericArray_new: unsafe extern "C" fn(arg1: numericarray_data_t, arg2: mint, arg3: *const mint, arg4: *mut MNumericArray) -> errcode_t,
396 #[doc] pub MNumericArray_free: unsafe extern "C" fn(arg1: MNumericArray),
397 #[doc] pub MNumericArray_clone: unsafe extern "C" fn(arg1: MNumericArray, arg2: *mut MNumericArray) -> errcode_t,
398 #[doc] pub MNumericArray_disown: unsafe extern "C" fn(arg1: MNumericArray),
399 #[doc] pub MNumericArray_disownAll: unsafe extern "C" fn(arg1: MNumericArray),
400 #[doc] pub MNumericArray_shareCount: unsafe extern "C" fn(arg1: MNumericArray) -> mint,
401 #[doc] pub MNumericArray_getType: unsafe extern "C" fn(arg1: MNumericArray) -> numericarray_data_t,
402 #[doc] pub MNumericArray_getRank: unsafe extern "C" fn(arg1: MNumericArray) -> mint,
403 #[doc] pub MNumericArray_getDimensions: unsafe extern "C" fn(arg1: MNumericArray) -> *const mint,
404 #[doc] pub MNumericArray_getFlattenedLength: unsafe extern "C" fn(arg1: MNumericArray) -> mint,
405 #[doc] pub MNumericArray_getData: unsafe extern "C" fn(arg1: MNumericArray) -> *mut c_void,
406 #[doc] pub MNumericArray_convertType: unsafe extern "C" fn(arg1: *mut MNumericArray, arg2: MNumericArray, arg3: numericarray_data_t, arg4: numericarray_convert_method_t, arg5: mreal) -> errcode_t,
407 ]
408];
409
410rtl_func![
415 imageLibraryFunctions => [
416 #[doc] pub MImage_new2D: unsafe extern "C" fn(arg1: mint, arg2: mint, arg3: mint, arg4: imagedata_t, arg5: colorspace_t, arg6: mbool, arg7: *mut MImage) -> c_int,
417 #[doc] pub MImage_new3D: unsafe extern "C" fn(arg1: mint, arg2: mint, arg3: mint, arg4: mint, arg5: imagedata_t, arg6: colorspace_t, arg7: mbool, arg8: *mut MImage) -> c_int,
418 #[doc] pub MImage_clone: unsafe extern "C" fn(arg1: MImage, arg2: *mut MImage) -> c_int,
419 #[doc] pub MImage_free: unsafe extern "C" fn(arg1: MImage),
420 #[doc] pub MImage_disown: unsafe extern "C" fn(arg1: MImage),
421 #[doc] pub MImage_disownAll: unsafe extern "C" fn(arg1: MImage),
422 #[doc] pub MImage_shareCount: unsafe extern "C" fn(arg1: MImage) -> mint,
423 #[doc] pub MImage_getDataType: unsafe extern "C" fn(arg1: MImage) -> imagedata_t,
424 #[doc] pub MImage_getRowCount: unsafe extern "C" fn(arg1: MImage) -> mint,
425 #[doc] pub MImage_getColumnCount: unsafe extern "C" fn(arg1: MImage) -> mint,
426 #[doc] pub MImage_getSliceCount: unsafe extern "C" fn(arg1: MImage) -> mint,
427 #[doc] pub MImage_getRank: unsafe extern "C" fn(arg1: MImage) -> mint,
428 #[doc] pub MImage_getChannels: unsafe extern "C" fn(arg1: MImage) -> mint,
429 #[doc] pub MImage_alphaChannelQ: unsafe extern "C" fn(arg1: MImage) -> mbool,
430 #[doc] pub MImage_interleavedQ: unsafe extern "C" fn(arg1: MImage) -> mbool,
431 #[doc] pub MImage_getColorSpace: unsafe extern "C" fn(arg1: MImage) -> colorspace_t,
432 #[doc] pub MImage_getFlattenedLength: unsafe extern "C" fn(arg1: MImage) -> mint,
433 #[doc] pub MImage_getBit: unsafe extern "C" fn(arg1: MImage, arg2: *mut mint, arg3: mint, arg4: *mut raw_t_bit) -> c_int,
434 #[doc] pub MImage_getByte: unsafe extern "C" fn(arg1: MImage, arg2: *mut mint, arg3: mint, arg4: *mut raw_t_ubit8) -> c_int,
435 #[doc] pub MImage_getBit16: unsafe extern "C" fn(arg1: MImage, arg2: *mut mint, arg3: mint, arg4: *mut raw_t_ubit16) -> c_int,
436 #[doc] pub MImage_getReal32: unsafe extern "C" fn(arg1: MImage, arg2: *mut mint, arg3: mint, arg4: *mut raw_t_real32) -> c_int,
437 #[doc] pub MImage_getReal: unsafe extern "C" fn(arg1: MImage, arg2: *mut mint, arg3: mint, arg4: *mut raw_t_real64) -> c_int,
438 #[doc] pub MImage_setBit: unsafe extern "C" fn(arg1: MImage, arg2: *mut mint, arg3: mint, arg4: raw_t_bit) -> c_int,
439 #[doc] pub MImage_setByte: unsafe extern "C" fn(arg1: MImage, arg2: *mut mint, arg3: mint, arg4: raw_t_ubit8) -> c_int,
440 #[doc] pub MImage_setBit16: unsafe extern "C" fn(arg1: MImage, arg2: *mut mint, arg3: mint, arg4: raw_t_ubit16) -> c_int,
441 #[doc] pub MImage_setReal32: unsafe extern "C" fn(arg1: MImage, arg2: *mut mint, arg3: mint, arg4: raw_t_real32) -> c_int,
442 #[doc] pub MImage_setReal: unsafe extern "C" fn(arg1: MImage, arg2: *mut mint, arg3: mint, arg4: raw_t_real64) -> c_int,
443 #[doc] pub MImage_getRawData: unsafe extern "C" fn(arg1: MImage) -> *mut c_void,
444 #[doc] pub MImage_getBitData: unsafe extern "C" fn(arg1: MImage) -> *mut raw_t_bit,
445 #[doc] pub MImage_getByteData: unsafe extern "C" fn(arg1: MImage) -> *mut raw_t_ubit8,
446 #[doc] pub MImage_getBit16Data: unsafe extern "C" fn(arg1: MImage) -> *mut raw_t_ubit16,
447 #[doc] pub MImage_getReal32Data: unsafe extern "C" fn(arg1: MImage) -> *mut raw_t_real32,
448 #[doc] pub MImage_getRealData: unsafe extern "C" fn(arg1: MImage) -> *mut raw_t_real64,
449 #[doc] pub MImage_convertType: unsafe extern "C" fn(arg1: MImage, arg2: imagedata_t, arg3: mbool) -> MImage,
450 ]
451];
452
453rtl_func![
458 sparseLibraryFunctions => [
459 #[doc] pub MSparseArray_clone: unsafe extern "C" fn(arg1: MSparseArray, arg2: *mut MSparseArray) -> c_int,
460 #[doc] pub MSparseArray_free: unsafe extern "C" fn(arg1: MSparseArray),
461 #[doc] pub MSparseArray_disown: unsafe extern "C" fn(arg1: MSparseArray),
462 #[doc] pub MSparseArray_disownAll: unsafe extern "C" fn(arg1: MSparseArray),
463 #[doc] pub MSparseArray_shareCount: unsafe extern "C" fn(arg1: MSparseArray) -> mint,
464 #[doc] pub MSparseArray_getRank: unsafe extern "C" fn(arg1: MSparseArray) -> mint,
465 #[doc] pub MSparseArray_getDimensions: unsafe extern "C" fn(arg1: MSparseArray) -> *const mint,
466 #[doc] pub MSparseArray_getImplicitValue: unsafe extern "C" fn(arg1: MSparseArray) -> *mut MTensor,
467 #[doc] pub MSparseArray_getExplicitValues: unsafe extern "C" fn(arg1: MSparseArray) -> *mut MTensor,
468 #[doc] pub MSparseArray_getRowPointers: unsafe extern "C" fn(arg1: MSparseArray) -> *mut MTensor,
469 #[doc] pub MSparseArray_getColumnIndices: unsafe extern "C" fn(arg1: MSparseArray) -> *mut MTensor,
470 #[doc] pub MSparseArray_getExplicitPositions: unsafe extern "C" fn(arg1: MSparseArray, arg2: *mut MTensor) -> c_int,
471 #[doc] pub MSparseArray_resetImplicitValue: unsafe extern "C" fn(arg1: MSparseArray, arg2: MTensor, arg3: *mut MSparseArray) -> c_int,
472 #[doc] pub MSparseArray_toMTensor: unsafe extern "C" fn(arg1: MSparseArray, arg2: *mut MTensor) -> c_int,
473 #[doc] pub MSparseArray_fromMTensor: unsafe extern "C" fn(arg1: MTensor, arg2: MTensor, arg3: *mut MSparseArray) -> c_int,
474 #[doc] pub MSparseArray_fromExplicitPositions: unsafe extern "C" fn(arg1: MTensor, arg2: MTensor, arg3: MTensor, arg4: MTensor, arg5: *mut MSparseArray) -> c_int,
475 ]
476];
477
478
479