I am writing a floating-point calculator-interface, in C, that allows the mathematical functions defined in math.h to be accessed at runtime. The interface is implemented as a function that behaves like strtold(). It is based on ASCII and is supposed to be as portable as ASCII but in order for that to be true I need to handle floating-points in as portable a way as possible. I am happy with limiting support to IEEE-754 floating-points but I am not sure how to handle the exceptions defined by IEEE-754 (overflow, underflow, etc.). First of all I am pretty sure the only way to check for exceptions that will work in all rounding modes is checking the status flags themselves; in order to do that I will need fenv.h (defined in Annex F of C99) so I want to know how portable fenv.h is in practice. I also do not completely understand how fenv.h is supposed to work; it appears to me that the status flags are centralized but for whatever reason I was under the impression each floating-point had the flags built-in. Also I know C99 says functions defined in math.h may overflow and underflow but I do not understand how I am supposed to check for these exceptions. So to summarize I am looking for an example of how to use fenv.h to check for an overflow caused by multiplication and an explanation of how to properly error check the functions defined in math.h.I am writing a floating-point calculator-interf