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
//! Interface to the [Basic Linear Algebra Subprograms][blas].
//!
//! ## Configuration
//!
//! The underlying implementation of BLAS 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
//! blas = { version = "0.18", default-features = false, features = ["accelerate"] }
//! # Netlib’s reference implementation
//! blas = { version = "0.18", default-features = false, features = ["netlib"] }
//! # OpenBLAS
//! blas = { version = "0.18", default-features = false, features = ["openblas"] }
//! # OpenBLAS
//! blas = { version = "0.18" }
//! ```
//!
//! [accelerate]: https://developer.apple.com/reference/accelerate
//! [blas]: https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms
//! [netlib]: http://www.netlib.org/blas
//! [openblas]: http://www.openblas.net

extern crate blas_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>;

pub mod c;
pub mod fortran;