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

Defined functions

cosh defined in line 56; never used
sinh defined in line 25; never used

Defined variables

p0 defined in line 17; used 1 times
  • in line 51
p1 defined in line 18; used 1 times
  • in line 51
p2 defined in line 19; used 1 times
  • in line 51
p3 defined in line 20; used 1 times
  • in line 51
q0 defined in line 21; used 1 times
  • in line 52
q1 defined in line 22; used 1 times
  • in line 52
q2 defined in line 23; used 1 times
  • in line 52
Last modified: 1981-07-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 673
Valid CSS Valid XHTML 1.0 Strict