Replace the old version math func with C++11 to

prevent some presicion issue.

reference link:
https://www.cplusplus.com/reference/cmath/

Signed-off-by: ZhiqianXia <xzq0528@outlook.com>
This commit is contained in:
ZhiqianXia 2021-02-23 10:00:25 +08:00
parent 6f7a8ebf76
commit 53e0e6a56e

View File

@ -599,17 +599,11 @@ TIntermTyped* TIntermConstantUnion::fold(TOperator op, const TType& returnType)
newConstArray[i].setDConst(log(unionArray[i].getDConst())); newConstArray[i].setDConst(log(unionArray[i].getDConst()));
break; break;
case EOpExp2: case EOpExp2:
{ newConstArray[i].setDConst(exp2(unionArray[i].getDConst());
const double inv_log2_e = 0.69314718055994530941723212145818; break;
newConstArray[i].setDConst(exp(unionArray[i].getDConst() * inv_log2_e));
break;
}
case EOpLog2: case EOpLog2:
{ newConstArray[i].setDConst(log2(unionArray[i].getDConst()));
const double log2_e = 1.4426950408889634073599246810019; break;
newConstArray[i].setDConst(log2_e * log(unionArray[i].getDConst()));
break;
}
case EOpSqrt: case EOpSqrt:
newConstArray[i].setDConst(sqrt(unionArray[i].getDConst())); newConstArray[i].setDConst(sqrt(unionArray[i].getDConst()));
break; break;