You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Alexey Varlamov (JIRA)" <ji...@apache.org> on 2007/05/28 07:33:16 UTC
[jira] Reopened: (HARMONY-2873) [drlvm][jit][opt] frem and drem
instructions return incorrect result when divisor is Float/Double MIN_VALUE
[ https://issues.apache.org/jira/browse/HARMONY-2873?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Varlamov reopened HARMONY-2873:
--------------------------------------
Assignee: Alexey Varlamov
Reproduced on Win@x64, reopening:
<testcase classname="org.apache.harmony.drlvm.tests.regression.H2873.RemTest" name="testDcmp" time="0.188">
<failure message="expected:<0.0> but was:<NaN>" type="junit.framework.AssertionFailedError">junit.framework.AssertionFailedError: expected:<0.0> but was:<NaN>
at org.apache.harmony.drlvm.tests.regression.H2873.RemTest.testDcmp(RemTest.java:11)
at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
</failure>
</testcase>
<testcase classname="org.apache.harmony.drlvm.tests.regression.H2873.RemTest" name="testFrem" time="0.015">
<failure message="expected:<0.0> but was:<NaN>" type="junit.framework.AssertionFailedError">junit.framework.AssertionFailedError: expected:<0.0> but was:<NaN>
at org.apache.harmony.drlvm.tests.regression.H2873.RemTest.testFrem(RemTest.java:18)
at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
</failure>
</testcase>
> [drlvm][jit][opt] frem and drem instructions return incorrect result when divisor is Float/Double MIN_VALUE
> -----------------------------------------------------------------------------------------------------------
>
> Key: HARMONY-2873
> URL: https://issues.apache.org/jira/browse/HARMONY-2873
> Project: Harmony
> Issue Type: Bug
> Components: DRLVM
> Environment: Linux and Windows
> Reporter: Vera Petrashkova
> Assignee: Alexey Varlamov
>
> The following test demonstrates that frem and drem instructions return incorrect result when divisor
> is correspondently Float or Double MIN_VALUE. The result equals to dividend.
> This issue is reproducible only on Jitrino/OPT.
> On interpreter and on Jitrino/JET result is equal to 0.0.
> ---------------------test.java---------------
> public class test {
> public static void main(String[] args) {
> float f1 = 5.5f;
> float f2 = Float.MIN_VALUE;
> float ff = f1 % f2;
> System.out.println( ff == 0.0f ?
> "Float test passed. "+f1+" % "+f2+" = "+ff :
> "Float test failed. "+f1+" % "+f2+" = "+ff +" instead of 0.0" );
> double d1 = 3.3d;
> double d2 = Double.MIN_VALUE;
> double dd = d1 % d2;
> System.out.println( dd == 0.0d ?
> "Double test passed. "+d1+" % "+d2+" = "+dd :
> "Double test failed. "+d1+" % "+d2+" = "+dd +" instead of 0.0" );
> }
> }
> ------------------------
> Output is:
> Float test failed. 5.5 % 1.4E-45 = 5.5 instead of 0.0
> Double test failed. 3.3 % 4.9E-324 = 3.3 instead of 0.0
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.