Use the feature name "cgemm" for cgemm/zgemm methods; start them
off by adding fallback implementations using 4x2 kernels.
CGemmOptions added as a placeholder - can later include options for
conjugating either operand (transpose not required - the strides provide
that freedom already).
Extensive updates for benchmarks, a simple argument parser
makes it easier to use.
Better testing, refactoring some common code and better test coverage.
Complex is using the representation [f64; 2] here which is
representation compatible in memory with C and with num_complex.
Use the feature name "cgemm" for cgemm/zgemm methods; start them off by adding fallback implementations using 4x2 kernels.
CGemmOptions added as a placeholder - can later include options for conjugating either operand (transpose not required - the strides provide that freedom already).
Extensive updates for benchmarks, a simple argument parser makes it easier to use.
Better testing, refactoring some common code and better test coverage.
Complex is using the representation [f64; 2] here which is representation compatible in memory with C and with num_complex.