MACHAR
Dynamic Computation of Machine Constants
MACHAR
is a FORTRAN77 library which
computes constants that
characterize the floating point arithmetic system on a computer.
The constants include
the value of the "machine epsilon", the smallest number that can
be added to 1 and make a difference. However, it includes many
other quantities of interest, including the arithmetic base,
the largest and smallest magnitudes, and so on.
The FORTRAN77 version of these routines was supplied as part of ACM
TOMS algorithm 665.
A C version of these routines was supplied as part of ACM
TOMS algorithm 722.
Note that "Numerical Recipes" includes a listing and discussion
of MACHAR.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Languages:
MACHAR is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
Related Data and Programs:
MACHINE,
a FORTRAN77 library which
stores the appropriate values
of machine constants for a given machine.
Reference:
-
William Cody,
Algorithm 665:
MACHAR, a subroutine to dynamically determine
machine parameters,
ACM Transactions on Mathematical Software,
Volume 14, Number 4, December 1988, pages 303-311.
-
William Cody, William Waite,
Software Manual for the Elementary Functions,
Prentice Hall, 1980,
ISBN: 0138220646,
LC: QA331.C635.
-
Morven Gentleman, Scott Marovich,
More on Algorithms that Reveal Properties of Floating Point
Arithmetic Units,
Communications of the ACM,
Volume 17, Number 5, May 1974, pages 276-277.
-
Michael Malcolm,
Algorithms to Reveal Properties of Floating Point Arithmetic,
Communications of the ACM,
Volume 15, Number 11, November 1972, pages 949-951.
-
William Press, Brian Flannery, Saul Teukolsky, William Vetterling,
Numerical Recipes in FORTRAN: The Art of Scientific Computing,
Second Edition,
Cambridge University Press, 1992,
ISBN: 0-521-43064-X,
LC: QA297.N866.
Source Code:
Examples and Tests:
List of Routines:
-
R4_MACHAR determines single precision machine constants.
-
R8_MACHAR determines double precision machine constants.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
You can go up one level to
the FORTRAN77 source codes.
Last revised on 29 August 2010.