An operator class for IProductWRTBase sum-factorisation is created in IProductWRTBaseSumFac.hpp
.
A switch-statement in IProductWRTBaseSumFac.hpp
selects the appropriate shape with the kernels implemented in IProductWRTBaseSumFacKernels.hpp
. The following shapes are implemented in this MR,
The "Collections-based" optimisation for collocated bases is also implemented in IProductWRTBaseSumFacKernels.hpp
using a series of if-statements, although proper profiling is yet to be conducted.
A test case IProductWRTBaseSumFac is also added and working properly.