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);
300template<
class T>
struct getNameOp : nameOp<T> {};
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Scalar minMod(const Scalar s1, const Scalar s2)
Scalar cmptPow(const Scalar s1, const Scalar s2)
bool equal(const T &a, const T &b)
Compare two values for equality.
dimensioned< Type > cmptDivide(const dimensioned< Type > &, const dimensioned< Type > &)
void divide(DimensionedField< Type, GeoMesh > &result, const DimensionedField< Type, GeoMesh > &f1, const DimensionedField< scalar, GeoMesh > &f2)
Type minMagSqr(const UList< Type > &f1)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
static bool less(const vector &x, const vector &y)
To compare normals.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
dimensionedScalar stabilise(const dimensionedScalar &x, const dimensionedScalar &y)
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &f1, const label comm)
dimensioned< Type > cmptMultiply(const dimensioned< Type > &, const dimensioned< Type > &)
bool notEqual(const Scalar a, const Scalar b)
Type maxMagSqr(const UList< Type > &f1)
void multiply(DimensionedField< Type, GeoMesh > &result, const DimensionedField< Type, GeoMesh > &f1, const DimensionedField< scalar, GeoMesh > &f2)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
dimensioned< Type > lerp(const dimensioned< Type > &a, const dimensioned< Type > &b, const scalar t)
#define WeightedOp(opName, op)
#define BoolOp(opName, op)
#define Bool1Op(opName, op)
Three-way comparison operation of two parameters,.
int operator()(const T &a, const T &b) const
Deprecated(2020-11) use nameOp (word.H).
Deprecated(2020-11) use typeOp (word.H).
Linear interpolation (lerp) with interpolation value defined on construct.
T operator()(const T &a, const T &b) const
Linear interpolation (cf. std::lerp).
T operator()(const T &a, const T &b, const scalar t) const
Extract name (as a word) from an object, typically using its name() method.
Extract type (as a word) from an object, typically using its type() method.