2 releases

new 0.1.1 Dec 15, 2024
0.1.0 Dec 11, 2024

#1857 in Algorithms

Download history 174/week @ 2024-12-09

174 downloads per month
Used in oefpil

MIT/Apache

450KB
6K SLoC

FORTRAN Legacy 4K SLoC // 0.7% comments C 1.5K SLoC // 0.1% comments Rust 362 SLoC FORTRAN Modern 71 SLoC // 0.6% comments

oefpil-sys

Build Documentation Downloads Version Rust License

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.

System Requirements

By default, this crate dynamically links to the runtime dependency liblapack (e.g., package liblapack-dev on Debian, package lapack-devel on Fedora Linux, or package lapack on Arch Linux) and requires a C compiler as build dependency (e.g., package clang or gcc on Debian, Fedora Linux, or Arch Linux). With the built-in feature, a subset of liblapack and its dependency libblas shipped with this crate is compiled and statically linked. This eliminates the runtime dependency liblapack but requires the GCC Fortran compiler (e.g, gfortran on Debian, gcc-fortran on Fedora Linux or Arch Linux) 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, libgfortran and libquadmath) whereas dynamic linking serves as fallback if no static libraries are found.

Licenses

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

Contributions

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.

Dependencies

~0.5–1MB
~21K SLoC