11 个版本
使用旧的 Rust 2015
0.2.5 | 2017 年 11 月 16 日 |
---|---|
0.2.4 | 2017 年 11 月 15 日 |
0.1.4 | 2017 年 11 月 14 日 |
#185 in #scripting
每月下载 37 次
170KB
3.5K SLoC
julia-rs
为 Rust 提供了惯用且安全的 Julia 绑定
[dependencies]
julia = "0.2"
...
REPL
作为一个示例应用程序,包含了一个用 100% 安全 Rust 编写的交互式 Julia REPL。查看其源代码在 src/main.rs,使用 cargo build
构建,并使用 cargo run
运行。有关帮助,请参阅 julia-rs -h
或 cargo run -- -h
。
示例
有关更多示例,请参阅 examples。
fn main() {
use julia::api::{Julia, Value};
let mut jl = Julia::new().unwrap();
jl.eval_string("println(\"Hello, Julia!\")").unwrap();
// Hello, Julia!
let sqrt = jl.base().function("sqrt").unwrap();
let boxed_x = Value::from(1337.0);
let boxed_sqrt_x = sqrt.call1(&boxed_x).unwrap();
let sqrt_x = f64::try_from(boxed_sqrt_x).unwrap();
println!("{}", sqrt_x);
// 36.565010597564445
}
待办事项
0.3 之前
- 为所有剩余的重要函数提供安全包装。
有关详细信息,请参阅 ROADMAP.md。
0.4 之前
- 修复所有在 ffi 边界处的内存泄漏和溢出。
0.5 之前
- 标准化。
- 测试。
- 添加更多详细的示例。
0.6 之前
- 标准化文档。
- 彻底记录一切。
许可证
julia-rs 根据 zlib/libpng 许可证授权。有关详细信息,请参阅 LICENSE 或 zlib.net/zlib_license.html。
依赖关系
~1–10MB
~95K SLoC