home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug049.ark / F77LIB.FOR < prev    next >
Encoding:
Text File  |  1984-04-29  |  1.4 KB  |  79 lines

  1. CThese FORTRAN 77 functions are put into a separate library,
  2. C rather than being loaded by INCLUDE as they would be on
  3. C most large systems, where they would be ignored by the
  4. C compiler unless needed.
  5. C    DEFINE(CHARACTER,INTEGER)
  6. C    CHARACTER*1 CHAR
  7. C    REAL LOG,LOG10
  8. C    DATA KB/3/,KONS/3/
  9. C    DATA DPR/.01745329/,RPD/57.29578/
  10. C    DATA PI/3.141593/
  11.     FUNCTION ICHAR(I)
  12.     INTEGER*1 I
  13.     ICHAR=I
  14.     RETURN
  15.     END
  16.     FUNCTION CHAR(I)
  17.     INTEGER*1 CHAR
  18.     CHAR=I
  19.     RETURN
  20.     END
  21.     FUNCTION ANINT(X)
  22.     ANINT=AINT(X+SIGN(.5,X))
  23.     RETURN
  24.     END
  25.     FUNCTION NINT(X)
  26.     NINT=SIGN(.5,X)+X
  27.     RETURN
  28.     END
  29.     REAL FUNCTION LOG(X)
  30.     LOG=ALOG(X)
  31.     RETURN
  32.     END
  33.     REAL FUNCTION LOG10(X)
  34.     LOG10=ALOG10(X)
  35.     RETURN
  36.     END
  37.     FUNCTION TAN(X)
  38.     SX=SIN(X)
  39.     TAN=SX/SQRT(1.-SX*SX)
  40.     RETURN
  41.     END
  42.     FUNCTION ASIN(X)
  43.     ASIN=ATAN2(X,SQRT(1.-X*X))
  44.     RETURN
  45.     END
  46.     FUNCTION ACOS(X)
  47.     ACOS=ATAN2(SQRT(1.-X*X),X)
  48.     RETURN
  49.     END
  50.     FUNCTION SINH(X)
  51.     EX=EXP(X)
  52.     SINH=(EX-1./EX)*.5
  53.     RETURN
  54.     END
  55.     FUNCTION COSH(X)
  56.     EX=EXP(X)
  57.     COSH=(EX+1./EX)*.5
  58.     RETURN
  59.     END
  60.     FUNCTION INDEX(KA,KB,LB,LA)
  61.     INTEGER*1 KA,KB
  62. C Must pass string lengths explicitly in F66
  63.     DIMENSION KA(LA),KB(LB)
  64.     LB=MAX0(LB,1)
  65.     LA=MAX0(LA,1)
  66.     NS=LA-LB+1
  67.     DO 100 INDEX=1,NS
  68. C Try each possible start position until KB found
  69.     DO 10 I=1,LB
  70.     IA=I+INDEX-1
  71. 10    IF(KA(IA).NE.KB(I))GO TO 100
  72. C String found starting at INDEX
  73.     RETURN
  74. 100    CONTINUE
  75. C String not present
  76.     INDEX=0
  77.     RETURN
  78.     END
  79.