Line data Source code
1 :
2 : /* @(#)w_fmod.c 1.3 95/01/18 */
3 : /*
4 : * ====================================================
5 : * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
6 : *
7 : * Developed at SunSoft, a Sun Microsystems, Inc. business.
8 : * Permission to use, copy, modify, and distribute this
9 : * software is freely granted, provided that this notice
10 : * is preserved.
11 : * ====================================================
12 : */
13 :
14 : /*
15 : * wrapper fmod(x,y)
16 : */
17 :
18 : #include "fdlibm.h"
19 :
20 :
21 : #ifdef __STDC__
22 0 : double fmod(double x, double y) /* wrapper fmod */
23 : #else
24 : double fmod(x,y) /* wrapper fmod */
25 : double x,y;
26 : #endif
27 : {
28 : #ifdef _IEEE_LIBM
29 0 : return __ieee754_fmod(x,y);
30 : #else
31 : double z;
32 : z = __ieee754_fmod(x,y);
33 : if(_LIB_VERSION == _IEEE_ ||isnan(y)||isnan(x)) return z;
34 : if(y==0.0) {
35 : return __kernel_standard(x,y,27); /* fmod(x,0) */
36 : } else
37 : return z;
38 : #endif
39 : }
|