- or download this
perl -MData::IEEE754::Tools=ulp -le "printf qq{ULP(%s = %22.13a) = %.1
+7e = %22.13a\n}, $_, $_, ulp($_), ulp($_) for 0.5,0.3,0.1"
ULP(0.5 = 0x1.0000000000000p-1) = 1.11022302462515654e-16 = 0x1.000
+0000000000p-53
ULP(0.3 = 0x1.3333333333333p-2) = 5.55111512312578270e-17 = 0x1.000
+0000000000p-54
ULP(0.1 = 0x1.999999999999ap-4) = 1.38777878078144568e-17 = 0x1.000
+0000000000p-56
- or download this
perl -MData::IEEE754::Tools=ulp -le "printf qq(%.17e = %22.13a => %s\n
+), $_, $_, $_ for 0.03, 2.99999999999999989e-02, 2.99999999999999503e
+-02, 2.99999999999999468e-02, ulp(0.03)"
2.99999999999999989e-02 = 0x1.eb851eb851eb8p-6 => 0.03
...
2.99999999999999503e-02 = 0x1.eb851eb851eaap-6 => 0.03
2.99999999999999468e-02 = 0x1.eb851eb851ea9p-6 => 0.0299999999999999
3.46944695195361419e-18 = 0x1.0000000000000p-58 => 3.46944695195361e-
+18
- or download this
perl -MData::IEEE754::Tools=ulp -le "printf qq(%.17e = %22.13a => %s\n
+), $_, $_, $_ for ulp(1.03), map 1.03-$_*ulp(1.03), 0..5,22,23"
2.22044604925031308e-16 = 0x1.0000000000000p-52 => 2.22044604925031e-
+16
...
1.02999999999999892e+00 = 0x1.07ae147ae1476p+0 => 1.03
1.02999999999999514e+00 = 0x1.07ae147ae1465p+0 => 1.03
1.02999999999999492e+00 = 0x1.07ae147ae1464p+0 => 1.02999999999999