home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / FTNCHK32.ZIP / intrins.h < prev    next >
Text File  |  1993-02-16  |  3KB  |  116 lines

  1. /* intrins.h:
  2.    List of intrinsic functions for use by find_intrinsic
  3.    and check_intrins_args.  You may add locally available intrinsics
  4.    to this list (order not important).
  5.  
  6.     Copyright (C) 1992 by Robert K. Moniot.
  7.     This program is free software.  Permission is granted to
  8.     modify it and/or redistribute it, retaining this notice.
  9.     No guarantees accompany this software.
  10.  
  11.  
  12. */
  13.  
  14.  
  15.     /* Define positional flags to allow specifying more
  16.        than one allowed type of argument for generics.
  17.      */
  18.  
  19. #define I   (1 << type_INTEGER)
  20. #define R   (1 << type_REAL)
  21. #define D   (1 << type_DP)
  22. #define C   (1 << type_COMPLEX)
  23. #define L   (1 << type_LOGICAL)
  24. #define STR (1 << type_STRING)
  25.  
  26.  
  27.     /* Table contains: name, num_args, arg_type, result_type.
  28.        Note: num_args == -1 means 1 or 2 args, -2 means 2 or more args.
  29.      */
  30.  
  31. {"INT",     1,    I|R|D|C,type_INTEGER},
  32. {"IFIX",    1,    R,    type_INTEGER},
  33. {"IDINT",    1,    D,    type_INTEGER},
  34. {"REAL",    1,    I|R|D|C,type_REAL},
  35. {"FLOAT",    1,    I,    type_REAL},
  36. {"SNGL",    1,    D,    type_REAL},
  37. {"DBLE",    1,    I|R|D|C,type_DP},
  38. {"CMPLX",    -1,    I|R|D|C,type_COMPLEX},
  39. {"ICHAR",    1,    STR,    type_INTEGER},
  40. {"CHAR",    1,    I,    type_STRING},
  41. {"AINT",    1,    R|D,    type_GENERIC},
  42. {"DINT",    1,    D,    type_DP},
  43. {"ANINT",    1,    R|D,    type_GENERIC},
  44. {"DNINT",    1,    D,    type_DP},
  45. {"NINT",    1,    R|D,    type_INTEGER},
  46. {"IDNINT",    1,    D,    type_INTEGER},
  47. {"ABS",     1,    I|R|D|C,type_GENERIC},
  48. {"IABS",    1,    I,    type_INTEGER},
  49. {"DABS",    1,    D,    type_DP},
  50. {"CABS",    1,    C,    type_REAL},
  51. {"MOD",     2,    I|R|D,    type_GENERIC},
  52. {"AMOD",    2,    R,    type_REAL},
  53. {"DMOD",    2,    D,    type_DP},
  54. {"SIGN",    2,    I|R|D,    type_GENERIC},
  55. {"ISIGN",    2,    I,    type_INTEGER},
  56. {"DSIGN",    2,    D,    type_DP},
  57. {"DIM",        2,    I|R|D,    type_GENERIC},
  58. {"IDIM",    2,    I,    type_INTEGER},
  59. {"DDIM",    2,    D,    type_DP},
  60. {"DPROD",    2,    R,    type_DP},
  61. {"MAX",        -2,    I|R|D,    type_GENERIC},
  62. {"MAX0",    -2,    I,    type_INTEGER},
  63. {"AMAX1",    -2,    R,    type_REAL},
  64. {"DMAX1",    -2,    D,    type_DP},
  65. {"AMAX0",    -2,    I,    type_REAL},
  66. {"MAX1",    -2,    R,    type_INTEGER},
  67. {"MIN",     -2,    I|R|D,    type_GENERIC},
  68. {"MIN0",    -2,    I,    type_INTEGER},
  69. {"AMIN1",    -2,    R,    type_REAL},
  70. {"DMIN1",    -2,    D,    type_DP},
  71. {"AMIN0",    -2,    I,    type_REAL},
  72. {"MIN1",    -2,    R,    type_INTEGER},
  73. {"LEN",     1,    STR,    type_INTEGER},
  74. {"INDEX",    2,    STR,    type_INTEGER},
  75. {"AIMAG",    1,    C,    type_REAL},
  76. {"CONJG",    1,    C,    type_COMPLEX},
  77. {"SQRT",    1,    R|D|C,    type_GENERIC},
  78. {"DSQRT",    1,    D,    type_DP},
  79. {"CSQRT",    1,    C,    type_COMPLEX},
  80. {"EXP",        1,    R|D|C,    type_GENERIC},
  81. {"DEXP",    1,    D,    type_DP},
  82. {"CEXP",    1,    C,    type_COMPLEX},
  83. {"LOG",     1,    R|D|C,    type_GENERIC},
  84. {"ALOG",    1,    R,    type_REAL},
  85. {"DLOG",    1,    D,    type_DP},
  86. {"CLOG",    1,    C,    type_COMPLEX},
  87. {"LOG10",    1,    R|D,    type_GENERIC},
  88. {"ALOG10",    1,    R,    type_REAL},
  89. {"DLOG10",    1,    D,    type_DP},
  90. {"SIN",     1,    R|D|C,    type_GENERIC},
  91. {"DSIN",    1,    D,    type_DP},
  92. {"CSIN",    1,    C,    type_COMPLEX},
  93. {"COS",     1,    R|D|C,    type_GENERIC},
  94. {"DCOS",    1,    D,    type_DP},
  95. {"CCOS",    1,    C,    type_COMPLEX},
  96. {"TAN",     1,    R|D,    type_GENERIC},
  97. {"DTAN",    1,    D,    type_DP},
  98. {"ASIN",    1,    R|D,    type_GENERIC},
  99. {"DASIN",    1,    D,    type_DP},
  100. {"ACOS",    1,    R|D,    type_GENERIC},
  101. {"DACOS",    1,    D,    type_DP},
  102. {"ATAN",    1,    R|D,    type_GENERIC},
  103. {"DATAN",    1,    D,    type_DP},
  104. {"ATAN2",    2,    R|D,    type_GENERIC},
  105. {"DATAN2",    2,    D,    type_DP},
  106. {"SINH",    1,    R|D,    type_GENERIC},
  107. {"DSINH",    1,    D,    type_DP},
  108. {"COSH",    1,    R|D,    type_GENERIC},
  109. {"DCOSH",    1,    D,    type_DP},
  110. {"TANH",    1,    R|D,    type_GENERIC},
  111. {"DTANH",    1,    D,    type_DP},
  112. {"LGE",     2,    STR,    type_LOGICAL},
  113. {"LGT",     2,    STR,    type_LOGICAL},
  114. {"LLE",     2,    STR,    type_LOGICAL},
  115. {"LLT",     2,    STR,    type_LOGICAL},
  116.