openbmc/build/tmp/deploy/sdk/witherspoon-2019-08-08/sysroots/armv6-openbmc-linux-gnueabi/usr/src/debug/glibc/2.29-r0/git/sysdeps/ieee754/dbl-64/s_nextup.c
double __nextup(double x)
{
    int32_t hx, ix;
    uint32_t lx;

    EXTRACT_WORDS(hx, lx, x);
    ix = hx & 0x7fffffff;

    if (((ix >= 0x7ff00000) && ((ix - 0x7ff00000) | lx) != 0)) /* x is nan.  */
        return x + x;
    if ((ix | lx) == 0)
        return DBL_TRUE_MIN;
    if (hx >= 0)
    { /* x > 0.  */
        if (isinf(x))
            return x;
        lx += 1;
        if (lx == 0)
            hx += 1;
    }
    else
    { /* x < 0.  */
        if (lx == 0)
            hx -= 1;
        lx -= 1;
    }
    INSERT_WORDS(x, hx, lx);
    return x;
}
/* Return the least floating-point number greater than X.  */
Return the least floating-point number greater than X.
Return the least floating - point number greater than X .
double __nextup(double x)
{
    int32_t hx, ix;
    uint32_t lx;
    EXTRACT_WORDS(hx, lx, x);
    ix = hx & 0x7fffffff;
    if (((ix >= 0x7ff00000) && ((ix - 0x7ff00000) | lx) != 0)) 
        return x + x;
    if ((ix | lx) == 0)
        return DBL_TRUE_MIN;
    if (hx >= 0)
    { 
        if (isinf(x))
            return x;
        lx += 1;
        if (lx == 0)
            hx += 1;
    }
    else
    { 
        if (lx == 0)
            hx -= 1;
        lx -= 1;
    }
    INSERT_WORDS(x, hx, lx);
    return x;
}
double __nextup ( double x ) { int32_t hx , ix ; uint32_t lx ; EXTRACT_WORDS ( hx , lx , x ) ; ix = hx & 0x7fffffff ; if ( ( ( ix >= 0x7ff00000 ) && ( ( ix - 0x7ff00000 ) | lx ) != 0 ) ) return x + x ; if ( ( ix | lx ) == 0 ) return DBL_TRUE_MIN ; if ( hx >= 0 ) { if ( isinf ( x ) ) return x ; lx += 1 ; if ( lx == 0 ) hx += 1 ; } else { if ( lx == 0 ) hx -= 1 ; lx -= 1 ; } INSERT_WORDS ( x , hx , lx ) ; return x ; }
Return the least floating-point number greater than X.
Return the least floating - point number greater than X .
/* x is nan.  */ /* x > 0.  */ /* x < 0.  */