Breaking change
-
Rules of trait bounds changed.
Now every BLAS subroutine has its own trait (
GEMMNum
for example), which will implement to floats (f32, f64, c32, c64). With these traits, using<f32 as GEMMNum>::gemm
should be possible. Generics of BLAS subroutines should be more intuitive. However, this change will change the behavior of previous scheme (BLASFunc
as trait bound). -
Remove unnecessary type annotations and functions in
BLASFloat
.Some annotations and functions are only for test modules. These are moved to
TestFloat
in tests, which is not part of this crate. This should makeBLASFloat
more lightweighted.
Additional change
- Removed panics. Now they emit
BLASError
, or initialize field to<FLAG>::Uninitialized
, which will emit error when calling BLAS functions. - Added some unit tests in util.
- Updated documents on usage of trait.
Full changelog