matrixmultiply 0.3.10

General matrix multiplication for f32 and f64 matrices. Operates on matrices with general layout (they can use arbitrary row and column stride). Detects and uses AVX or SSE2 on x86 platforms transparently for higher performance. Uses a microkernel strategy, so that the implementation is easy to parallelize and optimize. Supports multithreading.
Documentation
macro_rules! is_x86_feature_detected_ {
    ($name:tt) => {{
        #[cfg(feature="std")]
        {
            // For testing purposes, we can make sure only one specific feature
            // is enabled by setting MMTEST_FEATURE=featurename (all others
            // disabled). This does not force it to be detected, it must also be.
             compile_env_matches_or_is_empty!("MMTEST_FEATURE", $name) && is_x86_feature_detected!($name)
        }
        #[cfg(not(feature="std"))]
        {
            // For testing purposes, we can make sure only one specific feature
            // is enabled by setting MMTEST_FEATURE=featurename (all others
            // disabled). This does not force it to be detected, it must also
            // be. In the `no_std` case, the `is_86_feature_detected` macro is
            // not available, so we have to fall back to checking whether the
            // feature is enabled at compile-time.
            compile_env_matches_or_is_empty!("MMTEST_FEATURE", $name) && cfg!(target_feature=$name)
        }
    }};
}