#wolfram #bindings #librarylink #mathematica

sys wll-sys

Wolfram LibraryLink 的底层绑定

1 个不稳定版本

0.1.0 2020年8月28日

#5#mathematica


用于 wll

MIT 许可证

70KB
751

wll-rs

crates.io doc.rs CI

Wolfram LibraryLink 对 Rust 的接口

灵感来自 wll-interface.

目的

// lib.rs
use wll::{ErrorKind, Result};

#[wll::setup]
fn setup() {}

#[wll::teardown]
fn teardown() {}

// export function named `wll_add_two`
#[wll::export]
fn add_two(a: isize, b: isize)->Result<isize> {
    a.checked_add(b)
     .ok_or_else(|| ErrorKind::NumericalError.into())
}

#[wll::export(factorial)]
fn fac(n: usize) -> Result<usize> {
    Ok(if n == 0 { 1 } else { n * fac(n - 1)? })
}

lib.rs:

wll-sys 是 Wolfram LibraryLink 的底层绑定。通常不需要直接使用。

它由 bindgen 自动生成。

另请参阅: Wolfram LibraryLink 用户指南, LibraryLink 参考.

无运行时依赖

~0–1.8MB
~34K SLoC