lapack-inject 0.1.1

LAPACK compatible interface backed by runtime-registered Fortran LAPACK function pointers
Documentation
# lapack-inject

LAPACK compatible interface backed by runtime-registered Fortran LAPACK function pointers.

## Overview

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

```rust
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...

Additional Netlib LAPACK auxiliary routines not exposed by lapack-sys are also
available, including the complete-pivoting LU pair `xGETC2` and `xGESC2`.

## Features

- `ilp64`: Use 64-bit integers for LAPACK indices (ILP64 ABI)

## License

Licensed under either of:

- Apache License, Version 2.0 ([LICENSE-APACHE]LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT]LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.