Dan Rosher created SOLR-16361:
---------------------------------
Summary: 'mod' function query casts to float, returns wrong
modulus for large ints
Key: SOLR-16361
URL: https://issues.apache.org/jira/browse/SOLR-16361
Project: Solr
Issue Type: Bug
Security Level: Public (Default Security Level. Issues are Public)
Components: search
Affects Versions: 9.0
Reporter: Dan Rosher
mod function query uses DualFloatFunction. This eventualy does a conversion
{code:java}
(float)value {code}
converting an integer (32bit) into a float which has a 24bit mantissa
,resulting in a loss of precision.
This means that for integers > 2^24 this returns an incorrect modulus due to
this loss of precision.
Should we use integer only, or perhaps cast to double (so then create a
DualDoubleFunction) which has a 52bit mantissa, so can convert int to double
without loss of precision?
This issue may also affect the other function queries?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]