home *** CD-ROM | disk | FTP | other *** search
/ PC Extra Super CD 1998 January / PCPLUS131.iso / DJGPP / V2 / DJLSR201.ZIP / src / libm / src / wf_acosh.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-09-25  |  1.2 KB  |  49 lines

  1. /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */
  2. /* w_acoshf.c -- float version of w_acosh.c.
  3.  * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
  4.  */
  5.  
  6. /*
  7.  * ====================================================
  8.  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
  9.  *
  10.  * Developed at SunPro, a Sun Microsystems, Inc. business.
  11.  * Permission to use, copy, modify, and distribute this
  12.  * software is freely granted, provided that this notice 
  13.  * is preserved.
  14.  * ====================================================
  15.  *
  16.  */
  17.  
  18. #if defined(LIBM_SCCS) && !defined(lint)
  19. static char rcsid[] = "$Id: w_acoshf.c,v 1.1 1994/08/10 20:33:28 jtc Exp $";
  20. #endif
  21.  
  22. /* 
  23.  * wrapper acoshf(x)
  24.  */
  25.  
  26. #include "math.h"
  27. #include "math_private.h"
  28.  
  29. #ifdef __STDC__
  30.     float acoshf(float x)        /* wrapper acoshf */
  31. #else
  32.     float acoshf(x)            /* wrapper acoshf */
  33.     float x;
  34. #endif
  35. {
  36. #ifdef _IEEE_LIBM
  37.     return __ieee754_acoshf(x);
  38. #else
  39.     float z;
  40.     z = __ieee754_acoshf(x);
  41.     if(_LIB_VERSION == _IEEE_ || isnanf(x)) return z;
  42.     if(x<(float)1.0) {
  43.         /* acosh(x<1) */
  44.             return (float)__kernel_standard((double)x,(double)x,129);
  45.     } else
  46.         return z;
  47. #endif
  48. }
  49.