Changeset c84f1a4 in mainline


Ignore:
Timestamp:
2013-01-27T18:15:03Z (11 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
fdf97f6
Parents:
0262f180
Message:

Add some constants to float.h

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/posix/include/posix/float.h

    r0262f180 rc84f1a4  
    3636#define POSIX_FLOAT_H_
    3737
    38 /* Empty. Just to satisfy preprocessor. */
     38/*
     39 * The macros defined below are needed for compilation of MPFR
     40 * (http://www.mpfr.org/). Probably, they should be provided by GCC
     41 * itself but that does not work for cross-compilation.
     42 *
     43 * They are intentionally guarded by the given macro to ensure that anyone
     44 * who wants them states this explicitly.
     45 *
     46 * The values are the ones GCC prints when compiled on i686 Linux.
     47 *
     48 * WARNING: the values are not accurate (especially the long double ones)!
     49 *
     50 */
     51#ifdef FLOAT_H_YES_I_REALLY_WANT_LIMITS
     52
     53/* float limits */
     54#define FLT_MIN 1.1754943508222875079687365372222456778186655567720875215087517062784172594547271728515625e-38
     55#define FLT_MAX 340282346638528859811704183484516925440
     56
     57/* double limits */
     58#define DBL_MIN 2.2250738585072013830902327173324040642192159804623318305533274168872044348139181958542831590125110205640673397310358110051524341615534601088560123853777188211307779935320023304796101474425836360719216e-308
     59#define DBL_MAX 1.7976931348623157081452742373170435679807056752584499659891747680315726078002853876058955863276687817154045895351438246423432132688946418276846754670353751698604991057655128207624549009038932894407587e+308
     60
     61/* long double limits */
     62#define LDBL_MIN 3.3621031431120935062626778173217526025980793448464712401088272298087426993907289670430927063650562228625019066688234732270901114717276781407474941951906317291667263914849985862188944930687409323125832e-4932L
     63#define LDBL_MAX 1.1897314953572317650212638530309702051690633222946242004403237338917370055229707226164102903365288828535456978074955773144274431536702884341981255738537436786735932007069732632019159182829615243655295e+4932L
     64
     65/* epsilons */
     66#define FLT_EPSILON 1.1920928955078125e-07
     67#define DBL_EPSILON 2.220446049250313080847263336181640625e-16
     68#define LDBL_EPSILON 1.08420217248550443400745280086994171142578125e-19L
     69
     70/* float radix */
     71#define FLT_RADIX 2
     72
     73/* mantisa */
     74#define FLT_MANT_DIG 24
     75#define DBL_MANT_DIG 53
     76#define LDBL_MANT_DIG 64
     77
     78/* exponents */
     79#define DBL_MIN_EXP -1021
     80#define DBL_MAX_EXP 1024
     81
     82#endif
    3983
    4084#endif /* POSIX_FLOAT_H_ */
Note: See TracChangeset for help on using the changeset viewer.