OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib/] [newlib/] [libm/] [math/] [wf_j0.c] - Diff between revs 39 and 56

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 39 Rev 56
Line 35... Line 35...
        if(_LIB_VERSION == _IEEE_ || isnanf(x)) return z;
        if(_LIB_VERSION == _IEEE_ || isnanf(x)) return z;
        if(fabsf(x)>(float)X_TLOSS) {
        if(fabsf(x)>(float)X_TLOSS) {
            /* j0f(|x|>X_TLOSS) */
            /* j0f(|x|>X_TLOSS) */
            exc.type = TLOSS;
            exc.type = TLOSS;
            exc.name = "j0f";
            exc.name = "j0f";
 
            exc.err = 0;
 
            exc.arg1 = exc.arg2 = (double)x;
            exc.retval = 0.0;
            exc.retval = 0.0;
            if (_LIB_VERSION == _POSIX_)
            if (_LIB_VERSION == _POSIX_)
               errno = ERANGE;
               errno = ERANGE;
            else if (!matherr(&exc)) {
            else if (!matherr(&exc)) {
               errno = ERANGE;
               errno = ERANGE;
Line 73... Line 75...
            SET_HIGH_WORD(inf,0x7ff00000);      /* set inf to infinite */
            SET_HIGH_WORD(inf,0x7ff00000);      /* set inf to infinite */
#endif
#endif
            /* y0f(0) = -inf  or y0f(x<0) = NaN */
            /* y0f(0) = -inf  or y0f(x<0) = NaN */
            exc.type = DOMAIN;  /* should be SING for IEEE y0f(0) */
            exc.type = DOMAIN;  /* should be SING for IEEE y0f(0) */
            exc.name = "y0f";
            exc.name = "y0f";
 
            exc.err = 0;
 
            exc.arg1 = exc.arg2 = (double)x;
            if (_LIB_VERSION == _SVID_)
            if (_LIB_VERSION == _SVID_)
               exc.retval = -HUGE;
               exc.retval = -HUGE;
            else
            else
               exc.retval = -HUGE_VAL;
               exc.retval = -HUGE_VAL;
            if (_LIB_VERSION == _POSIX_)
            if (_LIB_VERSION == _POSIX_)
Line 90... Line 94...
        }
        }
        if(x>(float)X_TLOSS) {
        if(x>(float)X_TLOSS) {
            /* y0f(x>X_TLOSS) */
            /* y0f(x>X_TLOSS) */
            exc.type = TLOSS;
            exc.type = TLOSS;
            exc.name = "y0f";
            exc.name = "y0f";
 
            exc.err = 0;
 
            exc.arg1 = exc.arg2 = (double)x;
            exc.retval = 0.0;
            exc.retval = 0.0;
            if (_LIB_VERSION == _POSIX_)
            if (_LIB_VERSION == _POSIX_)
                errno = ERANGE;
                errno = ERANGE;
            else if (!matherr(&exc)) {
            else if (!matherr(&exc)) {
                errno = ERANGE;
                errno = ERANGE;

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.