Skip to main content

WolframLibraryData

Struct WolframLibraryData 

Source
pub struct WolframLibraryData {
Show 53 fields pub raw_library_data: WolframLibraryData, pub UTF8String_disown: unsafe extern "C" fn(arg1: *mut c_char), pub MTensor_new: unsafe extern "C" fn(arg1: mint, arg2: mint, arg3: *const mint, arg4: *mut MTensor) -> c_int, pub MTensor_free: unsafe extern "C" fn(arg1: MTensor), pub MTensor_clone: unsafe extern "C" fn(arg1: MTensor, arg2: *mut MTensor) -> c_int, pub MTensor_shareCount: unsafe extern "C" fn(arg1: MTensor) -> mint, pub MTensor_disown: unsafe extern "C" fn(arg1: MTensor), pub MTensor_disownAll: unsafe extern "C" fn(arg1: MTensor), pub MTensor_setInteger: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: mint) -> c_int, pub MTensor_setReal: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: mreal) -> c_int, pub MTensor_setComplex: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: mcomplex) -> c_int, pub MTensor_setMTensor: unsafe extern "C" fn(arg1: MTensor, arg2: MTensor, arg3: *mut mint, arg4: mint) -> c_int, pub MTensor_getInteger: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: *mut mint) -> c_int, pub MTensor_getReal: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: *mut mreal) -> c_int, pub MTensor_getComplex: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: *mut mcomplex) -> c_int, pub MTensor_getMTensor: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: mint, arg4: *mut MTensor) -> c_int, pub MTensor_getRank: unsafe extern "C" fn(arg1: MTensor) -> mint, pub MTensor_getDimensions: unsafe extern "C" fn(arg1: MTensor) -> *const mint, pub MTensor_getType: unsafe extern "C" fn(arg1: MTensor) -> mint, pub MTensor_getFlattenedLength: unsafe extern "C" fn(arg1: MTensor) -> mint, pub MTensor_getIntegerData: unsafe extern "C" fn(arg1: MTensor) -> *mut mint, pub MTensor_getRealData: unsafe extern "C" fn(arg1: MTensor) -> *mut mreal, pub MTensor_getComplexData: unsafe extern "C" fn(arg1: MTensor) -> *mut mcomplex, pub Message: unsafe extern "C" fn(arg1: *const c_char), pub AbortQ: unsafe extern "C" fn() -> mint, pub getWSLINK: unsafe extern "C" fn(arg1: WolframLibraryData) -> WSLINK, pub processWSLINK: unsafe extern "C" fn(arg1: WSLINK) -> c_int, pub evaluateExpression: unsafe extern "C" fn(arg1: WolframLibraryData, arg2: *mut c_char, arg3: c_int, arg4: mint, arg5: *mut c_void) -> c_int, pub runtimeData: *mut st_WolframRuntimeData, pub compileLibraryFunctions: *mut st_WolframCompileLibrary_Functions, pub VersionNumber: mint, pub registerInputStreamMethod: unsafe extern "C" fn(name: *const c_char, ctor: Option<unsafe extern "C" fn(arg1: MInputStream, msgHead: *const c_char, optionsIn: *mut c_void)>, handlerTest: Option<unsafe extern "C" fn(arg1: *mut c_void, arg2: *mut c_char) -> mbool>, methodData: *mut c_void, destroyMethod: Option<unsafe extern "C" fn(methodData: *mut c_void)>) -> mbool, pub unregisterInputStreamMethod: unsafe extern "C" fn(name: *const c_char) -> mbool, pub registerOutputStreamMethod: unsafe extern "C" fn(name: *const c_char, ctor: Option<unsafe extern "C" fn(arg1: MOutputStream, msgHead: *const c_char, optionsIn: *mut c_void, appendMode: mbool)>, handlerTest: Option<unsafe extern "C" fn(arg1: *mut c_void, arg2: *mut c_char) -> mbool>, methodData: *mut c_void, destroyMethod: Option<unsafe extern "C" fn(methodData: *mut c_void)>) -> mbool, pub unregisterOutputStreamMethod: unsafe extern "C" fn(name: *const c_char) -> mbool, pub ioLibraryFunctions: *mut st_WolframIOLibrary_Functions, pub getWSLINKEnvironment: unsafe extern "C" fn(arg1: WolframLibraryData) -> WSENV, pub sparseLibraryFunctions: *mut st_WolframSparseLibrary_Functions, pub imageLibraryFunctions: *mut st_WolframImageLibrary_Functions, pub registerLibraryExpressionManager: unsafe extern "C" fn(mname: *const c_char, mfun: Option<unsafe extern "C" fn(arg1: WolframLibraryData, arg2: mbool, arg3: mint)>) -> c_int, pub unregisterLibraryExpressionManager: unsafe extern "C" fn(mname: *const c_char) -> c_int, pub releaseManagedLibraryExpression: unsafe extern "C" fn(mname: *const c_char, id: mint) -> c_int, pub registerLibraryCallbackManager: unsafe extern "C" fn(name: *const c_char, mfun: Option<unsafe extern "C" fn(arg1: WolframLibraryData, arg2: mint, arg3: MTensor) -> mbool>) -> c_int, pub unregisterLibraryCallbackManager: unsafe extern "C" fn(name: *const c_char) -> c_int, pub callLibraryCallbackFunction: unsafe extern "C" fn(id: mint, ArgC: mint, Args: *mut MArgument, Res: MArgument) -> c_int, pub releaseLibraryCallbackFunction: unsafe extern "C" fn(id: mint) -> c_int, pub validatePath: unsafe extern "C" fn(path: *mut c_char, type_: c_char) -> mbool, pub protectedModeQ: unsafe extern "C" fn() -> mbool, pub rawarrayLibraryFunctions: *mut st_WolframRawArrayLibrary_Functions, pub numericarrayLibraryFunctions: *mut st_WolframNumericArrayLibrary_Functions, pub setParallelThreadNumber: unsafe extern "C" fn(arg1: c_int) -> c_int, pub restoreParallelThreadNumber: unsafe extern "C" fn(arg1: c_int), pub getParallelThreadNumber: unsafe extern "C" fn() -> c_int,
}

Fields§

§raw_library_data: WolframLibraryData§UTF8String_disown: unsafe extern "C" fn(arg1: *mut c_char)§MTensor_new: unsafe extern "C" fn(arg1: mint, arg2: mint, arg3: *const mint, arg4: *mut MTensor) -> c_int§MTensor_free: unsafe extern "C" fn(arg1: MTensor)§MTensor_clone: unsafe extern "C" fn(arg1: MTensor, arg2: *mut MTensor) -> c_int§MTensor_shareCount: unsafe extern "C" fn(arg1: MTensor) -> mint§MTensor_disown: unsafe extern "C" fn(arg1: MTensor)§MTensor_disownAll: unsafe extern "C" fn(arg1: MTensor)§MTensor_setInteger: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: mint) -> c_int§MTensor_setReal: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: mreal) -> c_int§MTensor_setComplex: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: mcomplex) -> c_int§MTensor_setMTensor: unsafe extern "C" fn(arg1: MTensor, arg2: MTensor, arg3: *mut mint, arg4: mint) -> c_int§MTensor_getInteger: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: *mut mint) -> c_int§MTensor_getReal: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: *mut mreal) -> c_int§MTensor_getComplex: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: *mut mcomplex) -> c_int§MTensor_getMTensor: unsafe extern "C" fn(arg1: MTensor, arg2: *mut mint, arg3: mint, arg4: *mut MTensor) -> c_int§MTensor_getRank: unsafe extern "C" fn(arg1: MTensor) -> mint§MTensor_getDimensions: unsafe extern "C" fn(arg1: MTensor) -> *const mint§MTensor_getType: unsafe extern "C" fn(arg1: MTensor) -> mint§MTensor_getFlattenedLength: unsafe extern "C" fn(arg1: MTensor) -> mint§MTensor_getIntegerData: unsafe extern "C" fn(arg1: MTensor) -> *mut mint§MTensor_getRealData: unsafe extern "C" fn(arg1: MTensor) -> *mut mreal§MTensor_getComplexData: unsafe extern "C" fn(arg1: MTensor) -> *mut mcomplex§Message: unsafe extern "C" fn(arg1: *const c_char)§AbortQ: unsafe extern "C" fn() -> mint§getWSLINK: unsafe extern "C" fn(arg1: WolframLibraryData) -> WSLINK§processWSLINK: unsafe extern "C" fn(arg1: WSLINK) -> c_int§evaluateExpression: unsafe extern "C" fn(arg1: WolframLibraryData, arg2: *mut c_char, arg3: c_int, arg4: mint, arg5: *mut c_void) -> c_int§runtimeData: *mut st_WolframRuntimeData§compileLibraryFunctions: *mut st_WolframCompileLibrary_Functions§VersionNumber: mint§registerInputStreamMethod: unsafe extern "C" fn(name: *const c_char, ctor: Option<unsafe extern "C" fn(arg1: MInputStream, msgHead: *const c_char, optionsIn: *mut c_void)>, handlerTest: Option<unsafe extern "C" fn(arg1: *mut c_void, arg2: *mut c_char) -> mbool>, methodData: *mut c_void, destroyMethod: Option<unsafe extern "C" fn(methodData: *mut c_void)>) -> mbool§unregisterInputStreamMethod: unsafe extern "C" fn(name: *const c_char) -> mbool§registerOutputStreamMethod: unsafe extern "C" fn(name: *const c_char, ctor: Option<unsafe extern "C" fn(arg1: MOutputStream, msgHead: *const c_char, optionsIn: *mut c_void, appendMode: mbool)>, handlerTest: Option<unsafe extern "C" fn(arg1: *mut c_void, arg2: *mut c_char) -> mbool>, methodData: *mut c_void, destroyMethod: Option<unsafe extern "C" fn(methodData: *mut c_void)>) -> mbool§unregisterOutputStreamMethod: unsafe extern "C" fn(name: *const c_char) -> mbool§ioLibraryFunctions: *mut st_WolframIOLibrary_Functions§getWSLINKEnvironment: unsafe extern "C" fn(arg1: WolframLibraryData) -> WSENV§sparseLibraryFunctions: *mut st_WolframSparseLibrary_Functions§imageLibraryFunctions: *mut st_WolframImageLibrary_Functions§registerLibraryExpressionManager: unsafe extern "C" fn(mname: *const c_char, mfun: Option<unsafe extern "C" fn(arg1: WolframLibraryData, arg2: mbool, arg3: mint)>) -> c_int§unregisterLibraryExpressionManager: unsafe extern "C" fn(mname: *const c_char) -> c_int§releaseManagedLibraryExpression: unsafe extern "C" fn(mname: *const c_char, id: mint) -> c_int§registerLibraryCallbackManager: unsafe extern "C" fn(name: *const c_char, mfun: Option<unsafe extern "C" fn(arg1: WolframLibraryData, arg2: mint, arg3: MTensor) -> mbool>) -> c_int§unregisterLibraryCallbackManager: unsafe extern "C" fn(name: *const c_char) -> c_int§callLibraryCallbackFunction: unsafe extern "C" fn(id: mint, ArgC: mint, Args: *mut MArgument, Res: MArgument) -> c_int§releaseLibraryCallbackFunction: unsafe extern "C" fn(id: mint) -> c_int§validatePath: unsafe extern "C" fn(path: *mut c_char, type_: c_char) -> mbool§protectedModeQ: unsafe extern "C" fn() -> mbool§rawarrayLibraryFunctions: *mut st_WolframRawArrayLibrary_Functions§numericarrayLibraryFunctions: *mut st_WolframNumericArrayLibrary_Functions§setParallelThreadNumber: unsafe extern "C" fn(arg1: c_int) -> c_int§restoreParallelThreadNumber: unsafe extern "C" fn(arg1: c_int)§getParallelThreadNumber: unsafe extern "C" fn() -> c_int

Implementations§

Source§

impl WolframLibraryData

Source

pub fn new(data_ptr: WolframLibraryData) -> Result<Self, ()>

Construct a new WolframLibraryData from a wolfram_library_link_sys::WolframLibraryData.

Trait Implementations§

Source§

impl Clone for WolframLibraryData

Source§

fn clone(&self) -> WolframLibraryData

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for WolframLibraryData

Source§

impl Send for WolframLibraryData

§Safety

The WolframLibraryData stucture contains function pointers to functions in the Wolfram Runtime Library (RTL). Sending function pointers to another thread is not dangerous; but calling some of the unsafe functions from that thread may be. Therefore, this type should be Send.

Not all of the functions in the Wolfram RTL are safe to call from any thread other than the main Kernel thread. Therefore, the presense of an instance of WolframLibraryData on a thread other than the main Kernel thread does not imply that it is safe to call all of the functions listed in this structure from that thread. Each function is marked unsafe, and has independent safety considerations.

Source§

impl Sync for WolframLibraryData

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.