fflas-ffpack
fflas-ffpack copied to clipboard
Allow Strassen-Winograd' matrix mult. to work over generic fields
Although the architecture of fgemm is written with genericity in mind (wrt the base field), the management of delayed bounds in Strassen-Winograd's algorithm was somehow hardcoded there, which made this code unusable for any base field that does not complied with the Delayed or Lazy categories (delaying modular reductions).
This PR fixes this issue by
- encapsulating some treatment on the bounds in template functions which are empty for the generic cases
- duplicating (template specialization) 2 functions only: the Strassen-Winograd schedule, where the manipulation on the bounds was too complex to be abstracted into functions.
With this branch applied, no performance regression were noted and test-fgemm now support ModularExtended