diff --git a/include/shiva/functions/bases/BasisProduct.hpp b/include/shiva/functions/bases/BasisProduct.hpp index 2e19417..f6119c2 100644 --- a/include/shiva/functions/bases/BasisProduct.hpp +++ b/include/shiva/functions/bases/BasisProduct.hpp @@ -94,7 +94,7 @@ struct BasisProduct // expand pack over number of dimensions return executeSequence< numDims >( [&]< int ... PRODUCT_TERM_INDEX > () constexpr { - return ( BASIS_TYPE::template value< BASIS_FUNCTION_INDICES >( parentCoord[PRODUCT_TERM_INDEX] ) * ... ); + return ( BASIS_TYPES::template value< BASIS_FUNCTION_INDICES >( parentCoord[PRODUCT_TERM_INDEX] ) * ... ); } ); #else return executeSequence< numDims >( [&] ( auto ... PRODUCT_TERM_INDEX ) constexpr diff --git a/include/shiva/functions/bases/LagrangeBasis.hpp b/include/shiva/functions/bases/LagrangeBasis.hpp index 9330885..37042a5 100644 --- a/include/shiva/functions/bases/LagrangeBasis.hpp +++ b/include/shiva/functions/bases/LagrangeBasis.hpp @@ -122,7 +122,7 @@ class LagrangeBasis : public SPACING_TYPE< REAL_TYPE, ORDER + 1 > auto func = [&coord]< int ... b > ( auto aa ) constexpr { constexpr int aVal = decltype(aa)::value; - return gradientOfValueTerm< BF_INDEX, aVal >() * ( valueProductFactor< BF_INDEX, b, aVal >( coord ) * ... ); + return gradientOfValueTerm< BF_INDEX, aVal >() * ( valueProductTerm< BF_INDEX, a >( coord ) * ... ); }; return ( executeSequence< numSupportPoints >( func, std::integral_constant< int, a >{} ) + ... );