Breaking change
-
Rules of trait bounds changed.
Now every BLAS subroutine has its own trait (
GEMMNumfor example), which will implement to floats (f32, f64, c32, c64). With these traits, using<f32 as GEMMNum>::gemmshould be possible. Generics of BLAS subroutines should be more intuitive. However, this change will change the behavior of previous scheme (BLASFuncas trait bound). -
Remove unnecessary type annotations and functions in
BLASFloat.Some annotations and functions are only for test modules. These are moved to
TestFloatin tests, which is not part of this crate. This should makeBLASFloatmore 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