| Crates.io | rstsr-lapack-ffi |
| lib.rs | rstsr-lapack-ffi |
| version | 0.5.0 |
| created_at | 2025-04-14 11:38:56.587071+00 |
| updated_at | 2025-08-26 14:38:54.919739+00 |
| description | Netlib LAPACK FFI bindings |
| homepage | |
| repository | https://github.com/RESTGroup/rstsr-ffi |
| max_upload_size | |
| id | 1632688 |
| size | 8,516,300 |
This crate contains netlib (reference) LAPACK FFI bindings.
Current FFI version is LAPACK v3.12.1. If you are using an older version of LAPACK, this crate should still work if you do not explicitly call the function that only occurs in higher version of LAPACK.
Netlib LAPACK (C/Fortran) source code is available on github.
This crate is not official bindgen project. It is originally intended to serve rust tensor toolkit RSTSR and rust electronic structure toolkit REST.
dynamic_loading.This crate supports dynamic loading.
If you want to use dynamic loading, please enable cargo feature dynamic_loading when cargo build.
The dynamic loading will try to find proper library when your program initializes.
LD_LIBRARY_PATH (Linux) DYLD_LIBRARY_PATH (Mac OS), PATH (Windows).RSTSR_DYLOAD_BLAS for rstsr_lapack_ffi::blas;RSTSR_DYLOAD_CBLAS for rstsr_lapack_ffi::cblas;RSTSR_DYLOAD_LAPACK for rstsr_lapack_ffi::lapack;RSTSR_DYLOAD_LAPACKE for rstsr_lapack_ffi::lapacke and rstsr_lapack_ffi::lapacke_utils.If you encountered large compile time or disk consumption, you may consider add these lines in your Cargo.toml:
[profile.dev.package.rstsr-lapack-ffi]
opt-level = 0
debug = false
Default features:
blas: Inclulde BLAS bindgens.cblas: Include CBLAS bindgens.lapack: Include LAPACK bindgens.Optional features:
dynamic_loading: Supports dynamic loading.ilp64: Use int64_t for dimension specification, or lapack error code types if this feature specified. Otherwise, use int32_t.
core::ffi::c_int, dependent to c compiler.lapacke: Include LAPACKE bindgens.lapacke_utils: Include additional utility functions of LAPACKE bindgens.header: Header files copied (or renamed) from original source.scripts: Script to generate FFI bindgens.src: FFI bindings:
blascblaslapacklapackelapacke_utilffi_base.rs: Basic type, enum, struct definitions.ffi_extern.rs: Unsafe extern "C" bindgen functions. Only activated when not dynamic loading.dyload_struct.rs: Struct Lib for dynamic loading.dyload_initializer.rs: The initialization function of Lib for dynamic loading.dyload_compatible.rs: Unsafe bindgen function that is compatible to that of ffi_extern.rs. Only activated when dynamic loading.v0.5.0
dynamic_loading is not default.v0.4.3
ddot_) to the subroutine counterparts (such as ddotsub_). Some BLAS vendors just provide functions instead of subroutines.v0.4.2
v0.4.1
rstsr-cblas-base.v0.4.0
v0.2
dgemm_ will have 15 arguments: 13 arguments of usual usage + 2 arguments denotes string length of transa and transb arguments. In v0.2, dgemm_ will have 13 arguments, the same to usual usage of Fortran equilvant.