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-4511 __float128 type is not supported on aarch64
long double is 128 bit on aarch64, even if it is soft supported, not hardware instrunction supported. So, here we just use long double on aarch64.
This commit is contained in:
@ -88,17 +88,17 @@ IDB_Decimal Func_mod::getDecimalVal(Row& row,
|
||||
int128_t dividendInt = (parm[0]->data()->resultType().colWidth == datatypes::MAXDECIMALWIDTH) ? d.s128Value : d.value;
|
||||
|
||||
|
||||
__float128 divF, dividendF;
|
||||
float128_t divF, dividendF;
|
||||
|
||||
int128_t scaleDivisor;
|
||||
|
||||
datatypes::getScaleDivisor(scaleDivisor, div.scale);
|
||||
divF = (__float128) divInt / scaleDivisor;
|
||||
divF = (float128_t) divInt / scaleDivisor;
|
||||
|
||||
datatypes::getScaleDivisor(scaleDivisor, d.scale);
|
||||
dividendF = (__float128) dividendInt / scaleDivisor;
|
||||
dividendF = (float128_t) dividendInt / scaleDivisor;
|
||||
|
||||
__float128 mod = datatypes::TFloat128::fmodq(dividendF, divF) * scaleDivisor;
|
||||
float128_t mod = datatypes::TFloat128::fmodq(dividendF, divF) * scaleDivisor;
|
||||
|
||||
return IDB_Decimal(datatypes::TSInt128((int128_t) mod),
|
||||
d.scale,
|
||||
|
Reference in New Issue
Block a user