blas_src/
lib.rs

1//! [BLAS] source of choice.
2//!
3//! ## [Architecture]
4//!
5//! ## Configuration
6//!
7//! The following implementations are available:
8//!
9//! * `accelerate`, which is the one in the [Accelerate] framework (macOS only),
10//! * `blis`, which is the one in [BLIS],
11//! * `intel-mkl`, which is the one in [Intel MKL],
12//! * `netlib`, which is the reference one by [Netlib],
13//! * `openblas`, which is the one in [OpenBLAS], and
14//! * `r`, which is the one in [R].
15//!
16//! An implementation can be chosen as follows:
17//!
18//! ```toml
19//! [dependencies]
20//! blas-src = { version = "0.14", features = ["accelerate"] }
21//! blas-src = { version = "0.14", features = ["blis"] }
22//! blas-src = { version = "0.14", features = ["intel-mkl-dynamic-parallel"] }
23//! blas-src = { version = "0.14", features = ["intel-mkl-dynamic-sequential"] }
24//! blas-src = { version = "0.14", features = ["intel-mkl-static-parallel"] }
25//! blas-src = { version = "0.14", features = ["intel-mkl-static-sequential"] }
26//! blas-src = { version = "0.14", features = ["netlib"] }
27//! blas-src = { version = "0.14", features = ["openblas"] }
28//! blas-src = { version = "0.14", features = ["r"] }
29//! ```
30//!
31//! [architecture]: https://blas-lapack-rs.github.io/architecture
32//! [blas]: https://en.wikipedia.org/wiki/BLAS
33//!
34//! [accelerate]: https://developer.apple.com/reference/accelerate
35//! [blis]: https://github.com/flame/blis
36//! [intel mkl]: https://software.intel.com/en-us/mkl
37//! [netlib]: https://www.netlib.org/
38//! [openblas]: https://www.openblas.net/
39//! [r]: https://cran.r-project.org/
40
41#![no_std]
42
43#[cfg(feature = "accelerate")]
44extern crate accelerate_src as raw;
45
46#[cfg(feature = "blis")]
47extern crate blis_src as raw;
48
49#[cfg(any(
50    feature = "intel-mkl-dynamic-parallel",
51    feature = "intel-mkl-dynamic-sequential",
52    feature = "intel-mkl-static-parallel",
53    feature = "intel-mkl-static-sequential",
54))]
55extern crate intel_mkl_src as raw;
56
57#[cfg(feature = "netlib")]
58extern crate netlib_src as raw;
59
60#[cfg(feature = "openblas")]
61extern crate openblas_src as raw;
62
63#[cfg(feature = "r")]
64extern crate r_src as raw;