diff --git a/skeletons/REAL.c b/skeletons/REAL.c index ea37965b029abf573144fe01cf15535d5c056998..5ec56e4812792b099fef831f4c56ca5b35b33717 100644 --- a/skeletons/REAL.c +++ b/skeletons/REAL.c @@ -257,7 +257,7 @@ asn1_double2REAL(REAL_t *st, double dbl_value) { } /* fpclassify(3) is not portable yet */ if(expval == -INT_MAX) { - if(signbit(dbl_value)) { + if(copysign(1.0, dbl_value) < 0.0) { st->buf[0] = 0x80 | 0x40; st->buf[1] = 0; st->size = 2; @@ -266,7 +266,7 @@ asn1_double2REAL(REAL_t *st, double dbl_value) { st->size = 0; } } else if(isinf(dbl_value)) { - if(signbit(dbl_value)) { + if(copysign(1.0, dbl_value) < 0.0) { st->buf[0] = 0x41; /* MINUS-INFINITY */ } else { st->buf[0] = 0x40; /* PLUS-INFINITY */