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