50 #define EqOp(opName, op) \ 52 template<class T1, class T2> \ 55 void operator()(T1& x, const T2& y) const \ 64 void operator()(T& x, const T& y) const \ 105 #define Op(opName, op) \ 107 template<class T, class T1, class T2> \ 110 [[nodiscard]] T operator()(const T1& x, const T2& y) const \ 116 template<class T1, class T2> \ 119 [[nodiscard]] T1 operator()(const T1& x, const T2& y) const \ 128 [[nodiscard]] T operator()(const T& x, const T& y) const \ 137 #define BoolOp(opName, op) \ 139 template<class T1, class T2> \ 142 [[nodiscard]] bool operator()(const T1& x, const T2& y) const \ 151 [[nodiscard]] bool operator()(const T& x, const T& y) const \ 161 #define Bool1Op(opName, op) \ 168 opName##Op1(const T& v) : value(v) {} \ 170 [[nodiscard]] bool operator()(const T& x) const \ 179 #define WeightedOp(opName, op) \ 181 template<class T, class CombineOp> \ 182 class opName##WeightedOp \ 184 const CombineOp& cop_; \ 188 opName##WeightedOp(const CombineOp& cop) \ 198 const scalar weight \ 265 return (a <
b) ? -1 : (
b < a) ? 1 : 0;
274 [[nodiscard]]
T operator()(
const T& a,
const T&
b,
const scalar t)
const 276 return lerp(a,
b, t);
300 template<
class T>
struct getNameOp : nameOp<T> {};
Deprecated(2020-11) use typeOp (word.H)
void divide(DimensionedField< Type, GeoMesh > &result, const DimensionedField< Type, GeoMesh > &f1, const DimensionedField< scalar, GeoMesh > &f2)
T operator()(const T &a, const T &b, const scalar t) const
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
bool equal(const T &a, const T &b)
Compare two values for equality.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
#define BoolOp(opName, op)
Type minMagSqr(const UList< Type > &f1)
Three-way comparison operation of two parameters,.
dimensionedScalar stabilise(const dimensionedScalar &x, const dimensionedScalar &y)
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &f1, const label comm)
Type maxMagSqr(const UList< Type > &f1)
static bool less(const vector &x, const vector &y)
To compare normals.
dimensioned< Type > cmptDivide(const dimensioned< Type > &, const dimensioned< Type > &)
bool notEqual(const Scalar a, const Scalar b)
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
#define Bool1Op(opName, op)
Scalar cmptPow(const Scalar s1, const Scalar s2)
Linear interpolation (cf. std::lerp)
dimensioned< Type > cmptMultiply(const dimensioned< Type > &, const dimensioned< Type > &)
dimensioned< Type > lerp(const dimensioned< Type > &a, const dimensioned< Type > &b, const scalar t)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
#define WeightedOp(opName, op)
Scalar minMod(const Scalar s1, const Scalar s2)
T operator()(const T &a, const T &b) const
Linear interpolation (lerp) with interpolation value defined on construct.
void multiply(DimensionedField< Type, GeoMesh > &result, const DimensionedField< Type, GeoMesh > &f1, const DimensionedField< scalar, GeoMesh > &f2)
int operator()(const T &a, const T &b) const
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
Extract type (as a word) from an object, typically using its type() method.