1
0
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:
David Hall
2019-11-13 09:29:40 -06:00
committed by Andrew Hutchings
parent 882f767b15
commit ea8e604324

View File

@ -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();