#mex #matlab #matrix #ffi #science

rustmex-entrypoint

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

6个版本 (3个重大更新)

0.4.2 2023年6月4日
0.4.1 2023年6月4日
0.4.0 2022年8月11日
0.3.0 2022年8月8日
0.1.0 2022年7月26日

#10 in #mex


rustmex 中使用

MPL-2.0 许可证

4KB

Rustmex

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

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

架构

主要库是'rustmex'包。这个包是面向用户的。

这个包不直接链接到Matlab或Octave的API。这是因为它们各自使用不同的符号名称。相反,Rustmex有一组包,这些包都公开了相同的功能的相同符号名称(即rustmex_*函数),它们主要转发到后端API中的适当函数。

这些不同的后端也以不同的方式表示复杂数组。两个通过分别存储实部和虚部来表示复杂数组;另一个通过交错存储它们。使用上述适配器包所实现的是,如果与另一个后端配对的数值包期望一种表示(因此是一组rustmex_符号),则编译失败(通过链接失败)。

依赖关系

~1.5MB
~35K SLoC