home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 300-399 / ff335.lzh / DTC / stmtfunc.for < prev    next >
Text File  |  1990-03-22  |  1KB  |  32 lines

  1. c Useful statement functions:
  2. c   1) type checking of single character
  3. c   2) quick binary to 2-digit bcd conversion, and vice versa
  4. c   3) Check for leap-year (Gregorian)
  5. c   4) Hashdate for DTC appointment matching
  6. c
  7. c ! Character type checking
  8.       numeric(ch) = (ch .GE. 48) .AND. (ch .LE.57)
  9.       chnumeric(chch) = (chch .GE. '0') .AND. (chch .LE. '9')
  10.       lcalpha(ch) = (ch .GE.97) .AND. (ch .LE.122)
  11.       alpha(ch)=((ch.ge.65.and.ch.le.90).or.(ch.ge.97.and.ch.le.122))
  12. c      alpha(ch) = ((ch .AND. Z'5f5f5f5f') .GE.65)
  13. c     1     .AND. ((ch .AND. Z'5f5f5f5f') .LE. 90)
  14. c
  15. c Icvtbcd now unused
  16. c Icvtbin replaced by real function in dtc.for
  17. c
  18. c      icvtbcd(inum) = ((MOD(inum, 10) * 256) .OR. inum/10) .OR. '00'
  19. c      icvtbin(ich2) = ((ich2 .AND. Z'000F') * 10)
  20. c     1         + ((ich2 .AND. Z'0F00')/256)
  21. c ! Works w/space as first char
  22. c      icvtbn1(ch) = ch .AND. Z'0F'
  23. c ! Convert single character
  24. c
  25.       islpyr(izyr) = (mod(izyr, 400) .EQ. 0) .OR.
  26.      1 ((izyr .AND. 3) .EQ. 0) .AND. (mod(izyr, 100) .NE. 0)
  27. c
  28.       ihymd(izyr, izmo, izdy) = (((izyr * 16) + izmo) * 32) + izdy
  29. c
  30. c End statement functions
  31.  
  32.