[BACK]Return to w_atan2f.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libm / src

Annotation of src/lib/libm/src/w_atan2f.c, Revision 1.4

1.1       jtc         1: /* w_atan2f.c -- float version of w_atan2.c.
                      2:  * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
                      3:  */
                      4:
                      5: /*
                      6:  * ====================================================
                      7:  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
                      8:  *
                      9:  * Developed at SunPro, a Sun Microsystems, Inc. business.
                     10:  * Permission to use, copy, modify, and distribute this
                     11:  * software is freely granted, provided that this notice
                     12:  * is preserved.
                     13:  * ====================================================
                     14:  */
                     15:
1.4     ! lukem      16: #include <sys/cdefs.h>
1.2       jtc        17: #if defined(LIBM_SCCS) && !defined(lint)
1.4     ! lukem      18: __RCSID("$NetBSD$");
1.1       jtc        19: #endif
                     20:
                     21: /*
                     22:  * wrapper atan2f(y,x)
                     23:  */
                     24:
                     25: #include "math.h"
                     26: #include "math_private.h"
                     27:
                     28:
                     29: #ifdef __STDC__
                     30:        float atan2f(float y, float x)          /* wrapper atan2f */
                     31: #else
                     32:        float atan2f(y,x)                       /* wrapper atan2 */
                     33:        float y,x;
                     34: #endif
                     35: {
                     36: #ifdef _IEEE_LIBM
                     37:        return __ieee754_atan2f(y,x);
                     38: #else
                     39:        float z;
                     40:        z = __ieee754_atan2f(y,x);
                     41:        if(_LIB_VERSION == _IEEE_||isnanf(x)||isnanf(y)) return z;
                     42:        if(x==(float)0.0&&y==(float)0.0) {
                     43:                /* atan2f(+-0,+-0) */
                     44:                return (float)__kernel_standard((double)y,(double)x,103);
                     45:        } else
                     46:            return z;
                     47: #endif
                     48: }

CVSweb <webmaster@jp.NetBSD.org>