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 46
//! Interface to the [Linear Algebra PACKage][lapack]. //! //! ## Configuration //! //! The underlying implementation of LAPACK to compile, if needed, and link to //! can be chosen among the following options: //! //! * Apple’s [Accelerate framework][accelerate] (macOS only), //! * Netlib’s [reference implementation][netlib], and //! * [OpenBLAS][openblas] (default). //! //! An implementation can be chosen using the package’s features as follows: //! //! ```toml //! [dependencies] //! # Apple’s Accelerate framework //! lapack = { version = "0.13", default-features = false, features = ["accelerate"] } //! # Netlib’s reference implementation //! lapack = { version = "0.13", default-features = false, features = ["netlib"] } //! # OpenBLAS //! lapack = { version = "0.13", default-features = false, features = ["openblas"] } //! # OpenBLAS //! lapack = { version = "0.13" } //! ``` //! //! [accelerate]: https://developer.apple.com/reference/accelerate //! [lapack]: https://en.wikipedia.org/wiki/LAPACK //! [netlib]: http://www.netlib.org/lapack //! [openblas]: http://www.openblas.net extern crate lapack_sys; extern crate libc; extern crate num_complex as num; /// A complex number with 32-bit parts. #[allow(non_camel_case_types)] pub type c32 = num::Complex<f32>; /// A complex number with 64-bit parts. #[allow(non_camel_case_types)] pub type c64 = num::Complex<f64>; #[cfg(not(feature = "accelerate"))] pub mod c; pub mod fortran;