xref: /haiku/src/system/libroot/posix/glibc/stdlib/strtof.c (revision e81a954787e50e56a7f06f72705b7859b6ab06d1)
1 /* The actual implementation for all floating point sizes is in strtod.c.
2    These macros tell it to produce the `float' version, `strtof'.  */
3 
4 #define	FLOAT		float
5 #define	FLT		FLT
6 #ifdef USE_IN_EXTENDED_LOCALE_MODEL
7 # define STRTOF		__strtof_l
8 #else
9 # define STRTOF		strtof
10 #endif
11 #define	MPN2FLOAT	__mpn_construct_float
12 #define	FLOAT_HUGE_VAL	HUGE_VALF
13 #define SET_MANTISSA(flt, mant) \
14   do { union ieee754_float u;						      \
15        u.f = (flt);							      \
16        if ((mant & 0x7fffff) == 0)					      \
17 	 mant = 0x400000;						      \
18        u.ieee.mantissa = (mant) & 0x7fffff;				      \
19        (flt) = u.f;							      \
20   } while (0)
21 
22 #include "strtod.c"
23