Intrinsic procedures

by Michael Metcalf / CERN CN-AS

We have already met most of the new intrinsic functions before. Here, we deal only with their general classification and with those that have so far been omitted.

All intrinsic procedures have keyword arguments:

and many have optional arguments. They are grouped into four categories:
  1. elemental - work on scalars or arrays, e.g. ABS(a);
  2. inquiry - independent of value of argument (which maybe undefined), e.g. PRECISION(a);
  3. transformational - array argument with array result of different shape, e.g. RESHAPE(a, b);
  4. subroutines, e.g. SYSTEM_CLOCK.
The procedures not already introduced are::
Bit inquiry
      BIT_SIZE           Number of bits in the model
Bit manipulation
      BTEST              Bit testing
      IAND               Logical AND
      IBCLR              Clear bit
      IBITS              Bit extraction
      IBSET              Set bit
      IEOR               Exclusive OR
      IOR                Inclusive OR
      ISHFT              Logical shift
      ISHFTC             Circular shift
      NOT                Logical complement
Transfer function, as in
            INTEGER :: i = TRANSFER('abcd', 0)
                           (replaces part of EQUIVALENCE)
      DATE_AND_TIME      Obtain date and/or time
      MVBITS             Copies bits
      RANDOM_NUMBER      Returns pseudorandom numbers
      RANDOM_SEED        Access to seed
      SYSTEM_CLOCK       Access to system clock