Tree Data Interface IACHAR:INDEX
IACHAR (C)

      F90 Character Elemental.
      
      The position of a character in the ASCII 
                collating sequence. 
 
      Argument. C must be a length-one character. 
 
      Signals.  Same as C. 
      Units...  Same as C. 
      Form....  Byte unsigned of same shape. 
 
      Result..  The position of C in the ASCII collating sequence, where 
                0<=IACHAR(C)<=127; otherwise, a processor value. If 
                LLE(C,D) is true then IACHAR(C)<=IACHAR(D) for all 
                represented characters. 
 
      See also. ICHAR and the inverses ACHAR and CHAR. 

      Example.  IACHAR('X') is 88BU. 
 
IAND (I,J)

      F90 Bit-wise Elemental. 
      
      Bit-by-bit intersection. 
      
      Usual Form        I & J. 
      Function Form     IAND(I,J). 
 
      Arguments I and J must be integers. 
 
      Signals.  Single signal or smaller data. 
      Units...  Single or common units, else bad. 
      Form....  Unsigned integer of compatible shape. 
 
      Result..  True for each bit true in I and J; otherwise, false. 
 
      Example.  IAND(3,5) is 1. 
 
IAND_NOT (I,J)

      Bit-wise Elemental. 
      
      Bit-by-bit intersection with the J complemented. 
 
      Arguments I and J must be integers. 
 
      Signals.  Single signal or smaller data. 
      Units...  Single or common units, else bad. 
      Form....  Unsigned integer of compatible shape. 
 
      Result..  True for each bit of I true and of J false; otherwise, 
                false. 
 
      Example.  IAND_NOT(3,5) is 2. 
 
IBCLR (I,POS)

      F90 Bit-wise Elemental.
      
      Clear one bit to zero. 
 
      Arguments 
        I       any. F90 requires integer. 
        POS     integer offset within the element of I, must be 
                nonnegative and less than BIT_SIZE(I). 
 
      Signals.  Same as I. 
      Units...  Same as I. 
      Form....  Same type as I, compatible shape. 
 
      Result..  Same as I with bit at offset POS cleared. 
 
      Examples. IBCLR(14, 1) is 12. 
                IBCLR(31,[1,2,3,4]) is [29,27,23,15]. 
 
      See also. IBSET to set, IBITS to extract, and BTEST to test. 
 
IBSET (I,BIT)

      Bit-wise Elemental.
      
      Set a bit to one. 
 
      Arguments 
        I       any. F90 requires integer. 
        BIT     integer offset within the element of I. Must be 
                nonnegative and less than BIT_SIZE(I). 
 
      Signals.  Same as I. 
      Units...  Same as I. 
      Form....  Same type as I, compatible shape. 
 
      Result..  Same as I with bit at offset BIT set. 
 
      Examples. IBSET(12,1) is 14. 
                IBSET(0,[1,2,3,4]) is [2,4,8,16]. 
 
      See also. IBCLR to clear, IBITS to extract, and BTEST to test. 
 
ICHAR (C)

      F90 Character Elemental.
      
      The position of a character in the 
      	processor collating sequence. 
 
      Argument. C must be a length-one character. 
 
      Signals.  Same as C. 
      Units...  Same as C. 
      Form....  Byte unsigned of same shape. 
 
      Result..  The position of C in the processor collating sequence 
                and is in the range 0<=ICHAR(C)

IDENT_OF (A) 

      MDS Operation. 
      
      Get the ident field. 
 
      Argument. Descriptor as below. 
 
      Result..  DISPATCH_OF(A) is searched for this: 
                DSC$K_DTYPE_DISPATCH, the ident field. 
                Otherwise, an error. 
 
IEOR (I,J)

      F90 Bit-wise Elemental. 
      
      Bit-by-bit exclusive-OR. 
 
      Arguments I and J must be integers. 
 
      Signals.  Single signal or smaller data. 
      Units...  Single or common units, else bad. 
      Form....  Unsigned integer of compatible shape. 
 
      Result..  True for exactly one bit of I and J true; 
                otherwise, false. 
 
      Example.  IEOR(1,3) is 2. 
 
IEOR_NOT (I,J)

      F90 Bit-wise Elemental. Bit-by-bit exclusive-OR with the second 
                complemented. Equivalent to INOT(IEOR(I,J)). 
 
      Arguments I and J must be integers. 
 
      Signals.  Single signal or smaller data. 
      Units...  Single or common units, else bad. 
      Form....  Unsigned integer of compatible shape. 
 
      Result..  False for each bit of I equal to that bit of J; 
                otherwise, true. 
 
      Example.  IEOR_NOT(1bu,3bu) in binary is 0B11111101BU 
 
IF (TEST,STMT,[ELSESTMT])

      CC Statement. 
      
      Do statement if expression true, else possibly do another. 
      
      Required Usual Forms. IF (TEST) STMT, IF (TEST) STMT ELSE ELSESTMT. 
      Function Form.    IF(TEST,STMT,[ELSESTMT]). May be syntatically invalid. 
 
      Arguments Optional: ELSESTMT. 
        TEST    logical scalar. 
        STMT    statement, simple or {brace enclosed}. 
        ELSESTMT statement, simple or {brace enclosed}. 
 
      Result..  None. 
 
      Example.  IF (_A) _B=2; ELSE _B=3;. 
 
IF_ERROR (A,B,...)

      Miscellaneous.
      
      Evaluate arguments until no error. 
 
      Arguments Are any expressions. 
 
      Result..  That of the first expression without an error. If all 
                have errors, the result is the final error. 
 
      Example.  IF_ERROR(_A EQ _B, _A, _B) gives the expression if _A 
                and _B are defined or the one defined; else an error. 
IMAGE_OF (A)

      MDS Operation.
      
      Get the image field. 
 
      Argument. Descriptor as below. 
 
      Result..  A is searched for these: 
                DSC$K_DTYPE_CALL, the image field. 
                DSC$K_DTYPE_CONGLOM, the image field. 
                DSC$K_DTYPE_ROUTINE, the image field. 
                Otherwise, an error. 
 
INAND (I,J)

      Bit-wise Elemental.
      
      Complement of bit-by-bit intersection. 
 
      Arguments I and J must be integers. 
 
      Signals.  Single signal or smaller data. 
      Units...  Single or common units, else bad. 
      Form....  Unsigned integer of compatible shape. 
 
      Result..  False for each bit true in I and J; otherwise, true. 
 
      Example.  INAND(3BU,5BU) in binary is 0B111111110BU. 
 
INAND_NOT (I,J)

      Bit-wise Elemental.
      
      Complement of bit-by-bit intersection with the 
                second complemented. Equivalant to IOR(INOT(I),J). 
 
      Arguments I and J must be integers. 
 
      Signals.  Single signal or smaller data. 
      Units...  Single or common units, else bad. 
      Form....  Unsigned integer of compatible shape. 
 
      Result..  False for each bit of I true and of J false; otherwise, 
                true. 
      Example.  INAND_NOT(3WU,5WU) in binary is 0B11111101BU. 
 
INDEX (STRING,SUBSTRING,[BACK])

      F90 Character Elemental.
      
      The starting position of a substring within 
                a string. Note the result is 1 less than for F90. 
 
      Arguments Optional: BACK 
        STRING  character. 
        SUBSTRING character. 
        BACK    logical. 
 
      Signals.  Single signal or smallest data. 
      Units...  Same as STRING. 
      Form....  Integer of compatible shape. 
 
      Result. 
        (i)     If BACK is absent or is false, the minimum value j such 
                that STRING(j:j+LEN(SUBSTRING-1)==SUBSTRING or -1 if 
                there is no such value. 
                For LEN(STRING) < LEN(SUBSTRING), the result is -1 
                and for LEN(SUBSTRING) = 0, the result is 0. 
        (ii)    If BACK present and true, the maximum value j as above 
                or -1 if there is no such value. 
                For LEN(STRING) < LEN(SUBSTRING), the result is -1 
                and for LEN(SUBSTRING) = 0, the result is 0. 
 
      Examples. INDEX('FORTRAN','R') is 2. 
                INDEX('FORTRAN','R',$TRUE) is 4.