inline bool shouldUseBlasInQuadrature(const AssemblyOptions& assemblyOptions,
                                      const Space<BasisFunctionType>& domain,
                                      const Space<BasisFunctionType>& dualToRange)
{
    return assemblyOptions.isBlasEnabledInQuadrature() == AssemblyOptions::YES ||
        (assemblyOptions.isBlasEnabledInQuadrature() == AssemblyOptions::AUTO &&
         (maximumShapesetOrder(domain) >= 2 || 
	  maximumShapesetOrder(dualToRange) >= 2));
}
inline bool
shouldUseBlasInQuadrature(const AssemblyOptions &assemblyOptions,
                          const Space<BasisFunctionType> &domain,
                          const Space<BasisFunctionType> &dualToRange) {
// Disabled as BLAS quadrature causes crashes in the hypersingular operator for
// unknown reasons.
  return assemblyOptions.isBlasEnabledInQuadrature() == AssemblyOptions::YES ||
         (assemblyOptions.isBlasEnabledInQuadrature() ==
              AssemblyOptions::AUTO &&
          (maximumShapesetOrder(domain) >= 2 ||
           maximumShapesetOrder(dualToRange) >= 2));
}