#matlab #mex #matrix #ffi #science

无需std rustmex

Rustmex:为Matlab MEX API提供便捷的Rust绑定

18个版本

0.6.3 2023年6月4日
0.6.0-pre32023年3月1日
0.5.0 2022年8月11日
0.1.2 2022年7月27日

#493算法

Download history 1/week @ 2024-03-14 4/week @ 2024-03-28 1/week @ 2024-04-04 2/week @ 2024-05-30

90 每月下载量

MPL-2.0 许可证

170KB
3.5K SLoC

Rustmex

一个库,为Matlab的MEX C API提供便捷的Rust绑定。

Rustmex让在Rust中编写MEX函数变得更容易。它将Matlab类型及其提供给 mexFunction 的参数转换为更Rust类型,然后可以用来轻松地与其他Rust代码进行接口。

有关安装和文档以及链接示例,请参阅文档。

v0.6 更新说明

Rustmex v0.6 对该包进行了重大重构。它已分解为一组包,使得每个包可以单独编译;对于Rustmex本身来说,不再需要功能标志;然而,最简单的安装方法仍然是使用功能标志来选择适当的后端;请参考后端模块的文档以获取说明。然而,Rustmex面向“普通”用户的API应该仍然与之前大致相同;只是内部发生了变化。

使用示例

以下是使用Rustmex的“Hello World”示例

use rustmex::prelude::*;

#[rustmex::entrypoint]
fn hello_world(lhs: Lhs, rhs: Rhs) -> rustmex::Result<()> {
	println!("Hello Matlab!");
	Ok(())
}

它展示了Rustmex MEX文件的基本部分:一个标记为 entrypoint 的函数,LhsRhs 数组,分别是返回值和参数,以及 Result 类型来指示错误条件。更多示例(已测试)可以在Rustmex仓库中的 examples 目录中找到。

许可证

此许可授予您Mozilla公共许可证版本2。您可以在本项目的源代码树根目录中的LICENCE文件中找到许可证。

作者

  • Niels ter Meer(维护者)

依赖项

~1.5MB
~30K SLoC