You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
MCOL-3607 Fixed some types for long double math functions
This commit is contained in:
committed by
Andrew Hutchings
parent
882f767b15
commit
ea8e604324
@ -340,8 +340,6 @@ double Func_asin::getDoubleVal(Row& row,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// atan
|
// atan
|
||||||
//
|
//
|
||||||
@ -411,7 +409,7 @@ double Func_atan::getDoubleVal(Row& row,
|
|||||||
// null value is indicated by isNull
|
// null value is indicated by isNull
|
||||||
long double value = parm[0]->data()->getLongDoubleVal(row, isNull);
|
long double value = parm[0]->data()->getLongDoubleVal(row, isNull);
|
||||||
|
|
||||||
if (isNull || (value < -1.0 || value > 1.0))
|
if (isNull)
|
||||||
{
|
{
|
||||||
isNull = true;
|
isNull = true;
|
||||||
return doubleNullVal();
|
return doubleNullVal();
|
||||||
@ -607,7 +605,7 @@ double Func_cos::getDoubleVal(Row& row,
|
|||||||
// null value is indicated by isNull
|
// null value is indicated by isNull
|
||||||
long double value = parm[0]->data()->getLongDoubleVal(row, isNull);
|
long double value = parm[0]->data()->getLongDoubleVal(row, isNull);
|
||||||
|
|
||||||
if (isNull || (value < -1.0 || value > 1.0))
|
if (isNull)
|
||||||
{
|
{
|
||||||
isNull = true;
|
isNull = true;
|
||||||
return doubleNullVal();
|
return doubleNullVal();
|
||||||
@ -1146,19 +1144,6 @@ double Func_log2::getDoubleVal(Row& row,
|
|||||||
return doubleNullVal();
|
return doubleNullVal();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parm.size() > 1 )
|
|
||||||
{
|
|
||||||
long double value2 = parm[1]->data()->getLongDoubleVal(row, isNull);
|
|
||||||
|
|
||||||
if (isNull || (value2 <= 0.0 || value == 1.0) )
|
|
||||||
{
|
|
||||||
isNull = true;
|
|
||||||
return doubleNullVal();
|
|
||||||
}
|
|
||||||
|
|
||||||
return log2(value2) / log(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
return log2(value);
|
return log2(value);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1430,7 +1415,7 @@ double Func_sin::getDoubleVal(Row& row,
|
|||||||
// null value is indicated by NaN
|
// null value is indicated by NaN
|
||||||
long double value = parm[0]->data()->getLongDoubleVal(row, isNull);
|
long double value = parm[0]->data()->getLongDoubleVal(row, isNull);
|
||||||
|
|
||||||
if (isNull || value <= 0.0)
|
if (isNull)
|
||||||
{
|
{
|
||||||
isNull = true;
|
isNull = true;
|
||||||
return doubleNullVal();
|
return doubleNullVal();
|
||||||
@ -1694,7 +1679,7 @@ double Func_tan::getDoubleVal(Row& row,
|
|||||||
// null value is indicated by NaN
|
// null value is indicated by NaN
|
||||||
long double value = parm[0]->data()->getLongDoubleVal(row, isNull);
|
long double value = parm[0]->data()->getLongDoubleVal(row, isNull);
|
||||||
|
|
||||||
if (isNull || value <= 0.0)
|
if (isNull)
|
||||||
{
|
{
|
||||||
isNull = true;
|
isNull = true;
|
||||||
return doubleNullVal();
|
return doubleNullVal();
|
||||||
|
Reference in New Issue
Block a user