24#ifndef SMOOTH_INDICATOR_CALC_F_3D_HH
25#define SMOOTH_INDICATOR_CALC_F_3D_HH
33template <
typename T,
typename S>
37 for (
int i=0; i<3; i++) {
38 this->_myMin[i] =
util::min(f.getMin()[i], g.getMin()[i]);
39 this->_myMax[i] =
util::max(f.getMax()[i], g.getMax()[i]);
41 std::swap(f._ptrCalcC, this->_ptrCalcC);
45template <
typename T,
typename S>
51template <
typename T,
typename S>
54 this->_f(output, input);
56 this->_g(&tmp, input);
62template <
typename T,
typename S>
65 auto tmp = std::make_shared< SmoothIndicPlus3D<T,S> >(*
this, rhs);
66 this->_ptrCalcC = tmp;
IndicSmoothCalc3D //////////////////////////////// arithmetic helper class for Indicator 3d functors.
SmoothIndicCalc3D(SmoothIndicatorF3D< T, S > &f, SmoothIndicatorF3D< T, S > &g)
SmoothIndicPlus3D(SmoothIndicatorF3D< T, S > &f, SmoothIndicatorF3D< T, S > &g)
bool operator()(T output[], const S input[]) override
cpu::simd::Pack< T > min(cpu::simd::Pack< T > rhs, cpu::simd::Pack< T > lhs)
cpu::simd::Pack< T > max(cpu::simd::Pack< T > rhs, cpu::simd::Pack< T > lhs)
Top level namespace for all of OpenLB.