home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / kmpl9803.zip / 0_cosh.cmd < prev    next >
OS/2 REXX Batch file  |  1998-02-14  |  484b  |  25 lines

  1. /* REXX-Programm 0_cosh.cmd  */
  2.  
  3.    arg x,ND
  4.    Numeric Digits ND+40
  5.    
  6.    if x=0 then do; y=1; Signal W; end
  7.    if abs(x)>=1.0E8 then signal VW 
  8.    if abs(x) <  0.1 then SIGNAL A
  9.    if abs(x) >= 0.1 then SIGNAL B
  10.  
  11. A: u=1; v=1; m=2; z=x*x
  12.    do while (abs(u/v) > 10**(-ND-30))
  13.      g=z/(m*(m-1)); u=u*g; v=v+u; m=m+2; end
  14.    y=v; SIGNAL W
  15.  
  16. B: ep=0_exp(x,ND); em=1/ep; y=(ep+em)/2
  17.  
  18. W: numeric digits ND+5
  19.    return(Format(y))
  20. EXIT
  21.  
  22. vW:
  23.    return(NULL)
  24.    EXIT
  25.