module Intrinsics

  def intrinsics
    {
      'abs'                => :interior,
      'achar'              => :interior,
      'acos'               => :interior,
      'adjustl'            => :interior,
      'adjustr'            => :interior,
      'aimag'              => :interior,
      'aint'               => :interior,
      'all'                => :interior,
      'allocated'          => :complete,
      'alog'               => :interior,
      'alog10'             => :interior,
      'amax0'              => :interior,
      'amax1'              => :interior,
      'amin0'              => :interior,
      'amin1'              => :interior,
      'amod'               => :interior,
      'anint'              => :interior,
      'any'                => :interior,
      'asin'               => :interior,
      'associated'         => :interior,
      'atan'               => :interior,
      'atan2'              => :interior,
      'bit_size'           => :complete,
      'btest'              => :interior,
      'cabs'               => :interior,
      'ccos'               => :interior,
      'ceiling'            => :interior,
      'cexp'               => :interior,
      'char'               => :interior,
      'clog'               => :interior,
      'cmplx'              => :interior,
      'conjg'              => :interior,
      'cos'                => :interior,
      'cosh'               => :interior,
      'count'              => :interior,
      'cshift'             => :error,
      'csin'               => :interior,
      'csqrt'              => :interior,
      'dabs'               => :interior,
      'dacos'              => :interior,
      'dasin'              => :interior,
      'datan'              => :interior,
      'datan2'             => :interior,
      'date_and_time'      => :error,
      'dble'               => :interior,
      'dcos'               => :interior,
      'dcosh'              => :interior,
      'ddim'               => :interior,
      'dexp'               => :interior,
      'digits'             => :complete,
      'dim'                => :interior,
      'dint'               => :interior,
      'dlog'               => :interior,
      'dlog10'             => :interior,
      'dmax1'              => :interior,
      'dmin1'              => :interior,
      'dmod'               => :interior,
      'dnint'              => :interior,
      'dot_product'        => :interior,
      'dprod'              => :interior,
      'dsign'              => :interior,
      'dsin'               => :interior,
      'dsinh'              => :interior,
      'dsqrt'              => :interior,
      'dtan'               => :interior,
      'dtanh'              => :interior,
      'eoshift'            => :error,
      'epsilon'            => :complete,
      'exp'                => :interior,
      'exponent'           => :interior,
      'float'              => :interior,
      'floor'              => :interior,
      'fraction'           => :interior,
      'huge'               => :complete,
      'iabs'               => :interior,
      'iachar'             => :interior,
      'iand'               => :interior,
      'ibclr'              => :interior,
      'ibits'              => :interior,
      'ibset'              => :interior,
      'ichar'              => :interior,
      'idim'               => :interior,
      'idint'              => :interior,
      'idnint'             => :interior,
      'ieor'               => :interior,
      'ifix'               => :interior,
      'index'              => :interior,
      'int'                => :interior,
      'ior'                => :interior,
      'ishft'              => :interior,
      'ishftc'             => :interior,
      'isign'              => :interior,
      'kind'               => :complete,
      'lbound'             => :interior,
      'len'                => :complete,
      'len_trim'           => :interior,
      'lge'                => :interior,
      'lgt'                => :interior,
      'lle'                => :interior,
      'llt'                => :interior,
      'log'                => :interior,
      'log10'              => :interior,
      'logical'            => :interior,
      'matmul'             => :error,
      'max'                => :interior,
      'max0'               => :interior,
      'max1'               => :interior,
      'maxexponent'        => :complete,
      'maxloc'             => :interior,
      'maxval'             => :interior,
      'merge'              => :interior,
      'min'                => :interior,
      'min0'               => :interior,
      'min1'               => :interior,
      'minexponent'        => :complete,
      'minloc'             => :interior,
      'minval'             => :interior,
      'mod'                => :interior,
      'modulo'             => :interior,
      'mvbits'             => :interior,
      'nearest'            => :interior,
      'nint'               => :interior,
      'not'                => :interior,
      'pack'               => :error,
      'precision'          => :complete,
      'present'            => :complete,
      'product'            => :error,
      'radix'              => :complete,
      'random_number'      => :interior,
      'random_seed'        => :interior,
      'range'              => :complete,
      'real'               => :interior,
      'repeat'             => :error,
      'reshape'            => :error,
      'rrspacing'          => :interior,
      'scale'              => :interior,
      'scan'               => :interior,
      'selected_int_kind'  => :error,
      'selected_real_kind' => :error,
      'set_exponent'       => :interior,
      'shape'              => :interior,
      'sign'               => :interior,
      'sin'                => :interior,
      'sinh'               => :interior,
      'size'               => :interior,
      'sngl'               => :interior,
      'spacing'            => :interior,
      'spread'             => :error,
      'sqrt'               => :interior,
      'sum'                => :interior,
      'system_clock'       => :error,
      'tan'                => :interior,
      'tanh'               => :interior,
      'tiny'               => :complete,
      'transfer'           => :interior,
      'transpose'          => :error,
      'trim'               => :error,
      'ubound'             => :interior,
      'unpack'             => :error,
      'verify'             => :interior
    }
  end

end
