class Ideone
{
public static void main
(String[] args
) {
System.
out.
println("Moving by an eight in single precision"); runIt(2097151.f, 0.1, 10);
runIt(2097151., 0.1, 10);
System.
out.
println("Moving by a fourth in single precision"); runIt(2097152.f, 0.1, 10);
runIt(2097152., 0.1, 10);
System.
out.
println("Moving by a half in single precision"); runIt(4194304.f, 0.1, 10);
runIt(4194304., 0.1, 10);
}
public static void runIt(float start, double delta, int steps)
{
System.
out.
println("Single precision");
double value = start;
for(int i = 0; i < steps; ++i)
{
value += delta;
}
}
public static void runIt(double start, double delta, int steps)
{
System.
out.
println("Double precision");
double value = start;
for(int i = 0; i < steps; ++i)
{
value += delta;
}
}
}
Y2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKQoJewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTW92aW5nIGJ5IGFuIGVpZ2h0IGluIHNpbmdsZSBwcmVjaXNpb24iKTsKCQlydW5JdCgyMDk3MTUxLmYsIDAuMSwgMTApOwoJCXJ1bkl0KDIwOTcxNTEuLCAwLjEsIDEwKTsKCQkKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk1vdmluZyBieSBhIGZvdXJ0aCBpbiBzaW5nbGUgcHJlY2lzaW9uIik7CgkJcnVuSXQoMjA5NzE1Mi5mLCAwLjEsIDEwKTsKCQlydW5JdCgyMDk3MTUyLiwgMC4xLCAxMCk7CgkJCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJNb3ZpbmcgYnkgYSBoYWxmIGluIHNpbmdsZSBwcmVjaXNpb24iKTsKCQlydW5JdCg0MTk0MzA0LmYsIDAuMSwgMTApOwoJCXJ1bkl0KDQxOTQzMDQuLCAwLjEsIDEwKTsKCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIHJ1bkl0KGZsb2F0IHN0YXJ0LCBkb3VibGUgZGVsdGEsIGludCBzdGVwcykKCXsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlNpbmdsZSBwcmVjaXNpb24iKTsKICAgICAgICAKCQlkb3VibGUgdmFsdWUgPSBzdGFydDsKCQlmb3IoaW50IGkgPSAwOyBpIDwgc3RlcHM7ICsraSkKCQl7CgkJCVN5c3RlbS5vdXQucHJpbnRsbihTdHJpbmcuZm9ybWF0KCIlLjhmIiwgKGZsb2F0KXZhbHVlKSk7CgkJCXZhbHVlICs9IGRlbHRhOwoJCX0KICAgICAgICAKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKTsKCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIHJ1bkl0KGRvdWJsZSBzdGFydCwgZG91YmxlIGRlbHRhLCBpbnQgc3RlcHMpCgl7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJEb3VibGUgcHJlY2lzaW9uIik7CiAgICAgICAgCgkJZG91YmxlIHZhbHVlID0gc3RhcnQ7CgkJZm9yKGludCBpID0gMDsgaSA8IHN0ZXBzOyArK2kpCgkJewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oU3RyaW5nLmZvcm1hdCgiJS44ZiIsIHZhbHVlKSk7CgkJCXZhbHVlICs9IGRlbHRhOwoJCX0KICAgICAgICAKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKTsKCX0KfQ==