| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8047731 | 9 | Robert Field | P4 | Closed | Fixed | b22 | 
| JDK-8064035 | 8u45 | Robert Field | P4 | Resolved | Fixed | b01 | 
| JDK-8070255 | emb-8u47 | Robert Field | P4 | Resolved | Fixed | team | 
                    The result of execution of floating point expression invoked in the lambda code block is different:
2.1552676198089365E-308
2.155267619808936E-308
strictfp
public class type04404 {
public static void main(String args[]) {
clone(() -> {
double x = Double.longBitsToDouble(0x1e7ee00000000000L);
double y = Double.longBitsToDouble(0x2180101010101010L);
double z = x * y;
System.out.println(z);
});
{
double x = Double.longBitsToDouble(0x1e7ee00000000000L);
double y = Double.longBitsToDouble(0x2180101010101010L);
double z = x * y;
System.out.println(z);
}
}
 
private static void clone(Face arg) {
arg.run();
}
private interface Face {
void run();
}
}
2.1552676198089365E-308
2.155267619808936E-308
strictfp
public class type04404 {
public static void main(String args[]) {
clone(() -> {
double x = Double.longBitsToDouble(0x1e7ee00000000000L);
double y = Double.longBitsToDouble(0x2180101010101010L);
double z = x * y;
System.out.println(z);
});
{
double x = Double.longBitsToDouble(0x1e7ee00000000000L);
double y = Double.longBitsToDouble(0x2180101010101010L);
double z = x * y;
System.out.println(z);
}
}
private static void clone(Face arg) {
arg.run();
}
private interface Face {
void run();
}
}
- backported by
- 
                    JDK-8064035 Different results of floating point multiplication for lambda code block -           
- Resolved
 
-         
- 
                    JDK-8070255 Different results of floating point multiplication for lambda code block -           
- Resolved
 
-         
- 
                    JDK-8047731 Different results of floating point multiplication for lambda code block -           
- Closed
 
-