X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftv%2Ffltcalc.c;h=d6105a8972817303daeca99dd561e5a82658d86e;hb=0f234e2d94155d13c0e4727871125beda0eaa66d;hp=412bbd81a93e9882a02222cf6f3cfe9e9db5eb80;hpb=226176ca6c81ef05c7232af425c218ab57e5314a;p=libfirm diff --git a/ir/tv/fltcalc.c b/ir/tv/fltcalc.c index 412bbd81a..d6105a897 100644 --- a/ir/tv/fltcalc.c +++ b/ir/tv/fltcalc.c @@ -24,21 +24,18 @@ * @author Mathias Heil * @version $Id$ */ - #include "config.h" #include "fltcalc.h" #include "strcalc.h" -#include /* need isnan() and isinf() (will be changed)*/ +#include /* undef some reused constants defined by math.h */ #ifdef NAN # undef NAN #endif -#ifdef HAVE_INTTYPES_H -# include -#endif +#include #include #include #include @@ -1228,6 +1225,12 @@ fp_value *fc_cast(const fp_value *value, const ieee_descriptor_t *desc, fp_value else return fc_get_snan(desc, result); } + else if(value->desc.clss == INF) { + if (value->sign == 0) + return fc_get_plusinf(desc, result); + else + return fc_get_minusinf(desc, result); + } /* set the descriptor of the new value */ result->desc.exponent_size = desc->exponent_size;