home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a075 / 1.img / TOOLKIT1.EXE / SST154.PRG < prev    next >
Encoding:
Text File  |  1989-08-13  |  1.1 KB  |  46 lines

  1. ********************
  2.  
  3. FUNCTION Arctan
  4.  
  5.    * Written and contributed by ESSOR MASO
  6.    *
  7.    * ABS(arg) < 10^9
  8.    *
  9.    * The error ABS(e(arg)) <= 2*10^(-8)
  10.    *
  11.    * Correct form: ARCTAN(arg)
  12.    *
  13.    * National Bureau of Standards Handbook of Mathematical Functions
  14.  
  15.    PARAMETERS _clwork
  16.  
  17.    IF TYPE("_clwork") != "N"
  18.       RETURN(-1)
  19.    ENDIF
  20.  
  21.    SET DECIMAL TO 10
  22.  
  23.    PRIVATE _clsqu, _clsave, _clsign
  24.  
  25.    _clsign = (_clwork < 0)
  26.    _clwork = ABS(_clwork)
  27.    _clsave = _clwork
  28.    _clgt = (_clwork > 1)
  29.    IF _clwork>1
  30.       STORE 1/_clwork TO _clwork, _clsave
  31.    ENDIF
  32.    _clsqu  = _clwork * _clwork
  33.    _clwork = -.0161657367 + .0028662257 * _clsqu
  34.    _clwork =  .0429096138 + _clwork * _clsqu
  35.    _clwork = -.0752896400 + _clwork * _clsqu
  36.    _clwork =  .1065626393 + _clwork * _clsqu
  37.    _clwork = -.1420889944 + _clwork * _clsqu
  38.    _clwork =  .1999355085 + _clwork * _clsqu
  39.    _clwork = -.3333314528 + _clwork * _clsqu
  40.    _clwork = 1 + _clwork * _clsqu
  41.    _clwork = Rounding(_clsave * _clwork,8)
  42.    _clwork = IF(_clgt, 1.57079633-_clwork, _clwork)
  43.    RETURN(IF(_clsign,-_clwork,_clwork))
  44.  
  45. * End of File
  46.