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:
parent
6f7a8ebf76
commit
53e0e6a56e
@ -599,17 +599,11 @@ TIntermTyped* TIntermConstantUnion::fold(TOperator op, const TType& returnType)
|
||||
newConstArray[i].setDConst(log(unionArray[i].getDConst()));
|
||||
break;
|
||||
case EOpExp2:
|
||||
{
|
||||
const double inv_log2_e = 0.69314718055994530941723212145818;
|
||||
newConstArray[i].setDConst(exp(unionArray[i].getDConst() * inv_log2_e));
|
||||
break;
|
||||
}
|
||||
newConstArray[i].setDConst(exp2(unionArray[i].getDConst());
|
||||
break;
|
||||
case EOpLog2:
|
||||
{
|
||||
const double log2_e = 1.4426950408889634073599246810019;
|
||||
newConstArray[i].setDConst(log2_e * log(unionArray[i].getDConst()));
|
||||
break;
|
||||
}
|
||||
newConstArray[i].setDConst(log2(unionArray[i].getDConst()));
|
||||
break;
|
||||
case EOpSqrt:
|
||||
newConstArray[i].setDConst(sqrt(unionArray[i].getDConst()));
|
||||
break;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user