The handling of NaN values in the templated function was incorrect due
to improper initialization of the input data source. Specifically, the
function ZeroNanToIntCases used a global pointer gIn, which was not
correctly set or did not point to the same data as the local input
pointer s used in the non-templated implementation.
to solve the issue I updated the templated function ZeroNanToIntCases to
take an additional parameter for the input data source.
and then passed the correct input data (s) to the templated function
during its invocation.
Co-authored-by: Banan Ashkar <banan.ashkar@mobileye.com>
Avoid a shift by 64 on a `uint64_t`. The value resulting from the
spurious shift was overwritten later, so just avoid the shift in that
case.
Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
* Modernization of conversions test, preparation to handle cl_khr_fp16 extension
* Added missing virtual descructor
* Added corrections due to code review
* More separators removed
* Fixed clang format
* Added multiple corrections related to code review
* Corrected missing implicit test lost after modernization corrections
* Corrected single, selected test to limit number of unnecessary operations
* [NFC] Remove duplicate symbol declarations
Those are provided by testHarness.h.
Signed-off-by: Kévin Petit <kpet@free.fr>
* add missing include
---------
Signed-off-by: Kévin Petit <kpet@free.fr>
The host compiler will not always calculate reference values
the same, depending on optimization level. It generates
instructions that do not respond to CPU rounding mode in
the same way. Use QCOM rounding mode emulation to correctly
calculate reference values on aarch64.