1 个不稳定版本
0.1.0 | 2020年8月28日 |
---|
#5 在 #mathematica
用于 wll
70KB
751 行
wll-rs
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 自动生成。
无运行时依赖
~0–1.8MB
~34K SLoC