1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//! # lapack-inject
//!
//! LAPACK compatible interface backed by Fortran LAPACK function pointers.
//!
//! This crate allows you to use LAPACK functions while the actual computation
//! is performed by Fortran LAPACK functions provided at runtime.
//! This is useful for integrating with Python (scipy) or Julia (libblastrampoline)
//! where Fortran LAPACK pointers are available.
//!
//! ## Usage
//!
//! ```ignore
//! use lapack_inject::register_dgesv;
//!
//! // Register Fortran dgesv pointer (e.g., from scipy or Julia)
//! unsafe {
//! register_dgesv(dgesv_ptr);
//! }
//!
//! // Now lapack_inject exports dgesv_ symbol that can be used by other crates
//! ```
//!
//! ## lapack-src/lapack-sys Compatibility
//!
//! This crate exports all Fortran-style LAPACK symbols defined in lapack-sys
//! (e.g., `dgesv_`, `dgetrf_`, etc.). These symbols are compatible with the
//! lapack-src crate. Register function pointers at runtime, and this crate
//! will provide the symbols that other crates expect from lapack-src.
//!
//! ## Supported Functions
//!
//! All 1315 LAPACK functions from lapack-sys are supported, including:
//! - Linear solvers (GESV, GBSV, POSV, SYSV, etc.)
//! - Factorizations (GETRF, POTRF, GEQRF, etc.)
//! - SVD (GESVD, GESDD, etc.)
//! - Eigenvalue problems (GEEV, SYEV, HEEV, GEES, etc.)
//! - And many more...
pub use *;
pub use *;
pub use *;