path: root/arch/arm/bits/float.h
AgeCommit message (Collapse)AuthorLines
2015-03-07fix FLT_ROUNDS to reflect the current rounding modeSzabolcs Nagy-1/+0
Implemented as a wrapper around fegetround introducing a new function to the ABI: __flt_rounds. (fegetround cannot be used directly from float.h)
2013-11-20fix the nominal type of LDBL_* limits on archs with ld64Rich Felker-4/+4
previously these macros wrongly had type double rather than long double. I see no way an application could detect the error in C99, but C11's _Generic can trivially detect it. at the same time, even though these archs do not have excess precision, the number of decimal places used to represent these constants has been increased to 21 to be consistent with the decimal representations used for the DBL_* macros.
2013-05-17add FLT_TRUE_MIN, etc. macros from C11Rich Felker-0/+1
there was some question as to how many decimal places to use, since one decimal place is always sufficient to identify the smallest denormal uniquely. for now, I'm following the example in the C standard which is consistent with the other min/max macros we already had in place.
2012-03-21fix DECIMAL_DIG definitionsRich Felker-0/+2
DECIMAL_DIG is not the same as LDBL_DIG type_DIG is the maximimum number of decimal digits that can survive a round trip from decimal to type and back to decimal. DECIMAL_DIG is the minimum number of decimal digits required in order for any floating point type to survive the round trip to decimal and back, and it is generally larger than LDBL_DIG. since the exact formula is non-trivial, and defining it larger than necessary may be legal but wasteful, just define the right value in bits/float.h.
2011-09-19fix incorrect long double parameters on arm (and other future ports)Rich Felker-10/+10
this was the cause of crashes in printf when attempting to print floating point values.
2011-09-18initial commit of the arm portRich Felker-0/+14
this port assumes eabi calling conventions, eabi linux syscall convention, and presence of the kernel helpers at 0xffff0f?0 needed for threads support. otherwise it makes very few assumptions, and the code should work even on armv4 without thumb support, as well as on systems with thumb interworking. the bits headers declare this a little endian system, but as far as i can tell the code should work equally well on big endian. some small details are probably broken; so far, testing has been limited to qemu/aboriginal linux.