Rust FFI bindings to statically linked C/Fortran library OEFPIL
For a safe API, see the oefpil
crate.
See the release history to keep track of the development.
By default, this crate dynamically links to the runtime dependency LAPACK and requires a C
compiler as build dependency. With the built-in
feature enabled (marked with ☑ in the table
below), a subset of LAPACK and its dependency BLAS shipped with this crate is compiled and
statically linked. This eliminates the runtime dependency LAPACK but requires the GCC Fortran
compiler as build dependency which itself depends on and complements the GCC C compiler such
that GCC can compile both C and Fortran sources. It is attempted to statically link the
dependencies of the subset (i.e, the GNU Fortran runtime library and the GCC quad-precision math
library) whereas dynamic linking serves as fallback if no static libraries are found. The
required runtime and build dependencies are satisfied by installing following system packages
where "or" as in |
has higher precedence than "and" as in ,
:
Operating System | built-in |
Runtime Dependencies | Build Dependencies |
---|---|---|---|
Debian Bookworm | ☐ | liblapack3 |
gcc | clang, liblapack-dev |
Debian Bookworm | ☑ | gfortran |
|
Fedora Linux | ☐ | lapack |
gcc | clang, lapack-devel |
Fedora Linux | ☑ | gcc-gfortran |
|
Arch Linux | ☐ | lapack |
gcc | clang, lapack |
Arch Linux | ☑ | gcc-fortran |
Except as noted below, this work is dual-licensed under either MIT
or Apache-2.0
at your
option. This means you can select the license you prefer. This dual-licensing approach is the
de-facto standard in the Rust ecosystem. Copyrights in this work are retained by their contributors
and no copyright assignment is required to contribute to this work. For full authorship information,
see the individual files and the version control history.
The works imported from the C/Fortran library are licensed as follows:
-
oefpil is licensed under
MIT
with copyright notice:Copyright © 2020 Czech Metrology Institute
-
lapack requests to credit its authors, as suggested, by citing its Users' Guide. It is licensed under modified
BSD-3-Clause
with copyright notice:Copyright © 1992-2013 The University of Tennessee
Copyright © 1992-2013 The University of Tennessee Research Foundation
Copyright © 2000-2013 The University of California Berkeley
Copyright © 2006-2013 The University of Colorado Denver
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the
work by you, as defined in the Apache-2.0
license, shall be dual-licensed as above, without any
additional terms or conditions.