*simplified double precision float number redefinition.

This commit is contained in:
Wang Renxin 2016-06-07 10:41:23 +08:00
parent 23c4ecb4bb
commit 7f333af1e8

View File

@ -182,7 +182,11 @@ extern "C" {
# define int_t int # define int_t int
#endif /* int_t */ #endif /* int_t */
#ifndef real_t #ifndef real_t
# ifdef MB_DOUBLE_FLOAT
# define real_t double
# else /* MB_DOUBLE_FLOAT */
# define real_t float # define real_t float
# endif /* MB_DOUBLE_FLOAT */
#endif /* real_t */ #endif /* real_t */
#ifndef mb_strtol #ifndef mb_strtol
@ -200,10 +204,18 @@ extern "C" {
#endif /* MB_REAL_FMT */ #endif /* MB_REAL_FMT */
#ifndef MB_FNAN #ifndef MB_FNAN
# define MB_FNAN 0xffc00000 # ifdef MB_DOUBLE_FLOAT
# define MB_FNAN 0x7ff8000000000000
# else /* MB_DOUBLE_FLOAT */
# define MB_FNAN 0x7fc00000
# endif /* MB_DOUBLE_FLOAT */
#endif /* MB_FNAN */ #endif /* MB_FNAN */
#ifndef MB_FINF #ifndef MB_FINF
# ifdef MB_DOUBLE_FLOAT
# define MB_FINF 0x7ff0000000000000
# else /* MB_DOUBLE_FLOAT */
# define MB_FINF 0x7f800000 # define MB_FINF 0x7f800000
# endif /* MB_DOUBLE_FLOAT */
#endif /* MB_FINF */ #endif /* MB_FINF */
#ifndef MB_EOS #ifndef MB_EOS
@ -222,6 +234,10 @@ extern "C" {
# define MB_NULL_STRING "(EMPTY)" # define MB_NULL_STRING "(EMPTY)"
#endif /* MB_NULL_STRING */ #endif /* MB_NULL_STRING */
#ifndef mb_max
# define mb_max(a, b) (((a) > (b)) ? (a) : (b))
#endif /* mb_max */
#ifndef mb_stricmp #ifndef mb_stricmp
# ifdef MB_CP_VC # ifdef MB_CP_VC
# define mb_stricmp _strcmpi # define mb_stricmp _strcmpi
@ -452,7 +468,7 @@ typedef enum mb_data_e {
MB_DT_ROUTINE = 1 << 13 MB_DT_ROUTINE = 1 << 13
} mb_data_e; } mb_data_e;
typedef unsigned char mb_val_bytes_t[sizeof(void*) > sizeof(unsigned long) ? sizeof(void*) : sizeof(unsigned long)]; typedef unsigned char mb_val_bytes_t[mb_max(mb_max(sizeof(void*), sizeof(unsigned long)), sizeof(real_t))];
typedef enum mb_meta_func_u { typedef enum mb_meta_func_u {
MB_MF_IS, MB_MF_IS,