1: /*	@(#)sinh.c	4.1	12/25/82	*/
   2: 
   3: /*
   4: 	sinh(arg) returns the hyperbolic sine of its floating-
   5: 	point argument.
   6: 
   7: 	The exponential function is called for arguments
   8: 	greater in magnitude than 0.5.
   9: 
  10: 	A series is used for arguments smaller in magnitude than 0.5.
  11: 	The coefficients are #2029 from Hart & Cheney. (20.36D)
  12: 
  13: 	cosh(arg) is computed from the exponential function for
  14: 	all arguments.
  15: */
  16: 
  17: double  exp();
  18: 
  19: static double p0  = -0.6307673640497716991184787251e+6;
  20: static double p1  = -0.8991272022039509355398013511e+5;
  21: static double p2  = -0.2894211355989563807284660366e+4;
  22: static double p3  = -0.2630563213397497062819489e+2;
  23: static double q0  = -0.6307673640497716991212077277e+6;
  24: static double q1   = 0.1521517378790019070696485176e+5;
  25: static double q2  = -0.173678953558233699533450911e+3;
  26: 
  27: double
  28: sinh(arg)
  29: double arg;
  30: {
  31:     double temp, argsq;
  32:     register sign;
  33: 
  34:     sign = 1;
  35:     if(arg < 0) {
  36:         arg = - arg;
  37:         sign = -1;
  38:     }
  39: 
  40:     if(arg > 21.) {
  41:         temp = exp(arg)/2;
  42:         if (sign>0)
  43:             return(temp);
  44:         else
  45:             return(-temp);
  46:     }
  47: 
  48:     if(arg > 0.5) {
  49:         return(sign*(exp(arg) - exp(-arg))/2);
  50:     }
  51: 
  52:     argsq = arg*arg;
  53:     temp = (((p3*argsq+p2)*argsq+p1)*argsq+p0)*arg;
  54:     temp /= (((argsq+q2)*argsq+q1)*argsq+q0);
  55:     return(sign*temp);
  56: }
  57: 
  58: double
  59: cosh(arg)
  60: double arg;
  61: {
  62:     if(arg < 0)
  63:         arg = - arg;
  64:     if(arg > 21.) {
  65:         return(exp(arg)/2);
  66:     }
  67: 
  68:     return((exp(arg) + exp(-arg))/2);
  69: }

Defined functions

cosh defined in line 58; used 2 times
sinh defined in line 27; used 2 times

Defined variables

p0 defined in line 19; used 1 times
  • in line 53
p1 defined in line 20; used 1 times
  • in line 53
p2 defined in line 21; used 1 times
  • in line 53
p3 defined in line 22; used 1 times
  • in line 53
q0 defined in line 23; used 1 times
  • in line 54
q1 defined in line 24; used 1 times
  • in line 54
q2 defined in line 25; used 1 times
  • in line 54
Last modified: 1985-06-05
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 863
Valid CSS Valid XHTML 1.0 Strict