/* The <float.h> header defines some implementation limits for (IEEE) floating
 * point. Application programs can use it to find out how big and small 
 * floating-point numbers can be, what epsilon to use for iteration, etc.
 */

#ifndef _FLOAT_H
#define _FLOAT_H

#define FLT_DIG			6
#define FLT_EPSILON		1.19209290e-07F
#define FLT_MANT_DIG		24
#define FLT_MAX			3.40282347e+38F
#define FLT_MAX_10_EXP		38
#define FLT_MAX_EXP		128
#define FLT_MIN			1.17549435e-38F
#define FLT_MIN_10_EXP		-37
#define FLT_MIN_EXP		-125

#define DBL_DIG			15
#define DBL_EPSILON		2.2204460492503131e-16
#define DBL_MANT_DIG		53
#define DBL_MAX			1.7976931348623157e+308
#define DBL_MAX_10_EXP		308
#define DBL_MAX_EXP		1024
#define DBL_MIN			2.2250738585072014e-308
#define DBL_MIN_10_EXP		-307
#define DBL_MIN_EXP		-1021

#define LDBL_DIG		15
#define LDBL_EPSILON		2.2204460492503131e-16L
#define LDBL_MANT_DIG		53
#define LDBL_MAX		1.7976931348623157e+308L
#define LDBL_MAX_10_EXP		308
#define LDBL_MAX_EXP		1024
#define LDBL_MIN		2.2250738585072014e-308L
#define LDBL_MIN_10_EXP		-307
#define LDBL_MIN_EXP		-1021

#define FLT_ROUNDS		1
#define FLT_RADIX		2

#endif /* _FLOAT_H */
