The Wilkinson model of floating point arithmetic starts by defining the set of
rational numbers which comprise the "model numbers". This set is defined
in terms of four parameters: b, t, emin, and emax, where b is the base, t is
the number of base b digits, emin is the minimum exponent, and emax is the
maximum exponent. More precisely, the model contains
0 and all numbers of the form:
± (d1/b + d2/b^2 + . . . + dt/b^t) x b^e
where emin <= e <= emax.
There are three derived numbers which reflect key features of a particular model. These are: lambda (the largest positive model number), sigma (the smallest positve model number), and eps (the machine epsilon which is the largest relative gap between two model numbers). The last number, the machine epsilon, is the crucial parameter for analyzing rounding errors in floating point arithmetic. The machine epsilon has the property that 1 + eps > 1.
This page contains a Java implementation of a calculator for a large range of Wilkinson models. Specifically, the base can be any value between 2 and 2^15. The number of digits is limited only by the memory of the machine (and the patience of the user). The minimum and maximum exponents can be any valid 32-bit integer.
Specify different model parameters in the boxes below, and the display will show the key parameters as well as a few sample calculations. For bases between 2 and 36 there is a single digit representation (0 - 9 a - z) of a base b digit. For example, in base 16 a through f represent the digits 10 through 15. For bases larger than 36, each digit is represented as a base 10 number and each digit is separated by a space.
Code and documentation developed by
Daniel D. Warner
Please email questions and comments to firstname.lastname@example.org.
The author wishes to thank Clemson University and the Shodor Education Foundation for support of this project.