Wiki Markup |
---|
C99 Section 7.12.1 defines two types of errors that relate specifically to math functions in {{math.h}} \[[ISO/IEC 9899:1999|AA. C References#ISO/IEC 9899-1999]\]: |
...
Wiki Markup |
---|
The exact treatment of error conditions from math functions is quite complicated. C99 Section 7.12.1 defines the following behavior for floating point overflow \[[ISO/IEC 9899:1999|AA. C References#ISO/IEC 9899-1999]\] |
...
Wiki Markup |
---|
It is also difficult to check for math errors using {{errno}} because an implementation might not set it. For real functions, the programmer can tell whether the implementation sets {{errno}} by checking whether {{math_errhandling & MATH_ERRNO}} is nonzero. For complex functions, the C99 Section 7.3.2 simply states "an implementation may set {{errno}} but is not required to" \[[ISO/IEC 9899:1999|AA. C References#ISO/IEC 9899-1999]\]. |
...
Wiki Markup |
---|
\[[ISO/IEC 9899:1999|AA. C References#ISO/IEC 9899-1999]\] Section 7.3, "Complex arithmetic <{{complex.h}}>", and Section 7.12, "Mathematics <{{math.h}}>" \[[MITRE 07|AA. C References#MITRE 07]\] [CWE ID 682|http://cwe.mitre.org/data/definitions/682.html], "Incorrect Calculation" \[[Plum 85|AA. C References#Plum 85]\] Rule 2-2 \[[Plum 89|AA. C References#Plum 91]\] Topic 2.10, "conv - conversions and overflow" |
...