#linear-algebra

cblas

The package provides wrappers for CBLAS (C)

10 unstable releases (4 breaking)

Uses old Rust 2015

0.4.0 Jun 23, 2021
0.3.0 Feb 13, 2021
0.2.0 May 26, 2018
0.1.6 May 26, 2018
0.0.1 Nov 14, 2017

#663 in Math

Download history 576/week @ 2023-01-31 231/week @ 2023-02-07 132/week @ 2023-02-14 137/week @ 2023-02-21 683/week @ 2023-02-28 854/week @ 2023-03-07 1022/week @ 2023-03-14 1530/week @ 2023-03-21 648/week @ 2023-03-28 774/week @ 2023-04-04 761/week @ 2023-04-11 533/week @ 2023-04-18 580/week @ 2023-04-25 782/week @ 2023-05-02 980/week @ 2023-05-09 1126/week @ 2023-05-16

3,514 downloads per month
Used in 268 crates (11 directly)

Apache-2.0/MIT

68KB
3.5K SLoC

CBLAS Package Documentation Build

The package provides wrappers for CBLAS (C).

Architecture

Example

use cblas::*;

let (m, n, k) = (2, 4, 3);
let a = vec![
    1.0, 4.0,
    2.0, 5.0,
    3.0, 6.0,
];
let b = vec![
    1.0, 5.0,  9.0,
    2.0, 6.0, 10.0,
    3.0, 7.0, 11.0,
    4.0, 8.0, 12.0,
];
let mut c = vec![
    2.0, 7.0,
    6.0, 2.0,
    0.0, 7.0,
    4.0, 2.0,
];

unsafe {
    dgemm(Layout::ColumnMajor, Transpose::None, Transpose::None,
          m, n, k, 1.0, &a, m, &b, k, 1.0, &mut c, m);
}

assert!(
    c == vec![
        40.0,  90.0,
        50.0, 100.0,
        50.0, 120.0,
        60.0, 130.0,
    ]
);

Contribution

Your contribution is highly appreciated. Do not hesitate to open an issue or a pull request. Note that any contribution submitted for inclusion in the project will be licensed according to the terms given in LICENSE.md.

Dependencies

~245–345KB