mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
added pow025 function
- graham showed significant speedup (8-9x) for sqrt(sqrt(x)) compared to pow(x, 0.25)
This commit is contained in:
@ -110,6 +110,7 @@ Foam::scalar Foam::dimensionSet::operator[](const dimensionType type) const
|
||||
return exponents_[type];
|
||||
}
|
||||
|
||||
|
||||
Foam::scalar& Foam::dimensionSet::operator[](const dimensionType type)
|
||||
{
|
||||
return exponents_[type];
|
||||
@ -130,6 +131,7 @@ bool Foam::dimensionSet::operator==(const dimensionSet& ds) const
|
||||
return equall;
|
||||
}
|
||||
|
||||
|
||||
bool Foam::dimensionSet::operator!=(const dimensionSet& ds) const
|
||||
{
|
||||
return !(operator==(ds));
|
||||
@ -163,6 +165,7 @@ bool Foam::dimensionSet::operator+=(const dimensionSet& ds) const
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool Foam::dimensionSet::operator-=(const dimensionSet& ds) const
|
||||
{
|
||||
if (dimensionSet::debug && *this != ds)
|
||||
@ -176,6 +179,7 @@ bool Foam::dimensionSet::operator-=(const dimensionSet& ds) const
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool Foam::dimensionSet::operator*=(const dimensionSet& ds)
|
||||
{
|
||||
reset((*this)*ds);
|
||||
@ -183,6 +187,7 @@ bool Foam::dimensionSet::operator*=(const dimensionSet& ds)
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool Foam::dimensionSet::operator/=(const dimensionSet& ds)
|
||||
{
|
||||
reset((*this)/ds);
|
||||
@ -206,6 +211,7 @@ Foam::dimensionSet Foam::max(const dimensionSet& ds1, const dimensionSet& ds2)
|
||||
return ds1;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::min(const dimensionSet& ds1, const dimensionSet& ds2)
|
||||
{
|
||||
if (dimensionSet::debug && ds1 != ds2)
|
||||
@ -256,6 +262,7 @@ Foam::dimensionSet Foam::pow(const dimensionSet& ds, const scalar p)
|
||||
return dimPow;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::pow
|
||||
(
|
||||
const dimensionSet& ds,
|
||||
@ -283,6 +290,7 @@ Foam::dimensionSet Foam::pow
|
||||
return dimPow;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::pow
|
||||
(
|
||||
const dimensionedScalar& dS,
|
||||
@ -309,61 +317,79 @@ Foam::dimensionSet Foam::sqr(const dimensionSet& ds)
|
||||
return pow(ds, 2);
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::pow3(const dimensionSet& ds)
|
||||
{
|
||||
return pow(ds, 3);
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::pow4(const dimensionSet& ds)
|
||||
{
|
||||
return pow(ds, 4);
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::pow5(const dimensionSet& ds)
|
||||
{
|
||||
return pow(ds, 5);
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::pow6(const dimensionSet& ds)
|
||||
{
|
||||
return pow(ds, 6);
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::pow025(const dimensionSet& ds)
|
||||
{
|
||||
return sqrt(sqrt(ds));
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::sqrt(const dimensionSet& ds)
|
||||
{
|
||||
return pow(ds, 0.5);
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::magSqr(const dimensionSet& ds)
|
||||
{
|
||||
return pow(ds, 2);
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::mag(const dimensionSet& ds)
|
||||
{
|
||||
return ds;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::sign(const dimensionSet&)
|
||||
{
|
||||
return dimless;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::pos(const dimensionSet&)
|
||||
{
|
||||
return dimless;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::neg(const dimensionSet&)
|
||||
{
|
||||
return dimless;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::inv(const dimensionSet& ds)
|
||||
{
|
||||
return dimless/ds;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::trans(const dimensionSet& ds)
|
||||
{
|
||||
if (dimensionSet::debug && !ds.dimensionless())
|
||||
@ -376,6 +402,7 @@ Foam::dimensionSet Foam::trans(const dimensionSet& ds)
|
||||
return ds;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::transform(const dimensionSet& ds)
|
||||
{
|
||||
return ds;
|
||||
@ -389,6 +416,7 @@ Foam::dimensionSet Foam::operator-(const dimensionSet& ds)
|
||||
return ds;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::operator+
|
||||
(
|
||||
const dimensionSet& ds1,
|
||||
@ -409,6 +437,7 @@ Foam::dimensionSet Foam::operator+
|
||||
return dimSum;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::operator-
|
||||
(
|
||||
const dimensionSet& ds1,
|
||||
@ -429,6 +458,7 @@ Foam::dimensionSet Foam::operator-
|
||||
return dimDifference;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::operator*
|
||||
(
|
||||
const dimensionSet& ds1,
|
||||
@ -445,6 +475,7 @@ Foam::dimensionSet Foam::operator*
|
||||
return dimProduct;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::operator/
|
||||
(
|
||||
const dimensionSet& ds1,
|
||||
@ -471,6 +502,7 @@ Foam::dimensionSet Foam::operator&
|
||||
return ds1*ds2;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::operator^
|
||||
(
|
||||
const dimensionSet& ds1,
|
||||
@ -480,6 +512,7 @@ Foam::dimensionSet Foam::operator^
|
||||
return ds1*ds2;
|
||||
}
|
||||
|
||||
|
||||
Foam::dimensionSet Foam::operator&&
|
||||
(
|
||||
const dimensionSet& ds1,
|
||||
|
||||
Reference in New Issue
Block a user