Home | History | Annotate | Download | only in fdlibm
      1 
      2 /* @(#)w_lgamma_r.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 double ieee_lgamma_r(double x, int *signgamp)
     16  */
     17 
     18 #include "fdlibm.h"
     19 
     20 
     21 #ifdef __STDC__
     22 	double ieee_lgamma_r(double x, int *signgamp) /* wrapper lgamma_r */
     23 #else
     24 	double ieee_lgamma_r(x,signgamp)              /* wrapper lgamma_r */
     25         double x; int *signgamp;
     26 #endif
     27 {
     28 #ifdef _IEEE_LIBM
     29 	return __ieee754_lgamma_r(x,signgamp);
     30 #else
     31         double y;
     32         y = __ieee754_lgamma_r(x,signgamp);
     33         if(_LIB_VERSION == _IEEE_) return y;
     34         if(!ieee_finite(y)&&ieee_finite(x)) {
     35             if(ieee_floor(x)==x&&x<=0.0)
     36                 return __kernel_standard(x,x,15); /* lgamma pole */
     37             else
     38                 return __kernel_standard(x,x,14); /* lgamma overflow */
     39         } else
     40             return y;
     41 #endif
     42 }
     43