MACHAR is a MATLAB library which dynamically computes constants that characterize the floating point arithmetic system on a computer, by William Cody.
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 default variable type in MATLAB is similar to a double precision complex variable. When doing real arithmetic, this means that calculations are done in double precision. MATLAB also offers a function called single that can be used to convert a value to a single precision real value. When used to initialize a variable, single effectively "declares" that variable to be a single precision real variable.
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.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
MACHAR is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.
MACHINE, a Python library which stores the appropriate values of machine constants for a given machine.
Original FORTRAN77 version by William Cody. Python version by John Burkardt.
You can go up one level to the Python source codes.