Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
f90_intrinsic.h File Reference
#include <cray/portdefs.h>
#include <cray/dopevec.h>
#include <liberrno.h>
#include <float.h>
#include <inttypes.h>
#include <fmath.h>
#include <fortran.h>
#include <stdlib.h>
#include <string.h>
Include dependency graph for f90_intrinsic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  complex
struct  dcomplex
struct  qcomplex

Defines

#define MAX_NARY_DIMS   MAXDIM
#define BIGDEFAULTSZ   64
#define ERROR   _lerror
#define FALSE   0
#define TRUE   1
#define GET_RANK_FROM_DESC(array)   (array->n_dim)
#define GET_EXTENT_FROM_DESC(array, dim)   (array->dimension[dim].extent)
#define GET_ASSOCIATED_FROM_DESC(array)   (array->assoc)
#define GET_ALEN_FROM_DESC(array)   (array->base_addr.a.el_len)
#define GET_DV_ASCII_FROM_DESC(array)   (array->type_lens.type == DVTYPE_ASCII)
#define GET_DV_LOGICAL_FROM_DESC(array)   (array->type_lens.type == DVTYPE_LOGICAL)
#define GET_ADDRESS_FROM_DESC(array)
#define GET_BYTEALIGNED_FROM_DESC(array)
#define GET_ELEMENT_SZ_FROM_DESC(array)
#define MK_STRIDE(byte_aligned, typ_sz)
#define SET_RANK_IN_DESC(array, r)   (array->n_dim = r)
#define SET_ADDRESS_IN_DESC(array, d)   (array->base_addr.a.ptr = d)
#define SET_CHARPTR_IN_DESC(array, cr, sz)   (array->base_addr.charptr = _cptofcd (cr, sz))
#define SET_LBOUND_IN_DESC(array, dim, b)   (array->dimension[dim].low_bound = b)
#define SET_EXTENT_IN_DESC(array, dim, e)   (array->dimension[dim].extent = e)
#define SET_STRMULT_IN_DESC(array, dim, e)   (array->dimension[dim].stride_mult = e)
#define SET_ASSOCIATED_IN_DESC(array)   (array->assoc = TRUE)
#define SET_CONTIG_IN_DESC(array)   (array->a_contig = TRUE)
#define SET_ORIG_BS_IN_DESC(array, a)   (array->orig_base = a)
#define SET_ORIG_SZ_IN_DESC(array, s)   (array->orig_size = s)
#define SET_ALEN_IN_DESC(array, l)   (array->base_addr.a.el_len = l)
#define OFFSET_TO_TF_BYTE(by)   (by-1)
#define i8   int64_t
#define i4   int32_t
#define i2   int16_t
#define i1   int8_t
#define ui8   uint64_t
#define ui4   uint32_t
#define ui2   uint16_t
#define ui1   uint8_t
#define l8   uint64_t
#define l4   uint32_t
#define l2   uint16_t
#define l1   uint8_t
#define r16   long double
#define r8   double
#define r4   float
#define c32   qcomplex
#define c16   dcomplex
#define c8   complex
#define ALIGNED_r16(address)   (((size_t)address & 0x7) == 0)
#define ALIGNED_r8(address)   (((size_t)address & 0x7) == 0)
#define ALIGNED_i8(address)   (((size_t)address & 0x7) == 0)
#define ALIGNED_i4(address)   (((size_t)address & 0x3) == 0)
#define ALIGNED_r4(address)   (((size_t)address & 0x3) == 0)
#define ALIGNED_i2(address)   (((size_t)address & 0x1) == 0)
#define ALIGNED_i1(address)   (TRUE)

Functions

static size_t GET_STRIDE_FROM_DESC (DopeVectorType *array, int32_t dim)

Define Documentation

#define ALIGNED_i1 (   address)    (TRUE)

Definition at line 168 of file f90_intrinsic.h.

Referenced by _CSHIFT(), _EOSHIFT(), _PACK(), _RESHAPE(), and _SPREAD().

#define ALIGNED_i2 (   address)    (((size_t)address & 0x1) == 0)

Definition at line 167 of file f90_intrinsic.h.

Referenced by _CSHIFT(), _EOSHIFT(), _PACK(), _RESHAPE(), and _SPREAD().

#define ALIGNED_i4 (   address)    (((size_t)address & 0x3) == 0)

Definition at line 165 of file f90_intrinsic.h.

#define ALIGNED_i8 (   address)    (((size_t)address & 0x7) == 0)

Definition at line 164 of file f90_intrinsic.h.

#define ALIGNED_r16 (   address)    (((size_t)address & 0x7) == 0)

Definition at line 162 of file f90_intrinsic.h.

Referenced by _CSHIFT(), _EOSHIFT(), _PACK(), _RESHAPE(), and _SPREAD().

#define ALIGNED_r4 (   address)    (((size_t)address & 0x3) == 0)

Definition at line 166 of file f90_intrinsic.h.

Referenced by _CSHIFT(), _EOSHIFT(), _PACK(), _RESHAPE(), and _SPREAD().

#define ALIGNED_r8 (   address)    (((size_t)address & 0x7) == 0)

Definition at line 163 of file f90_intrinsic.h.

Referenced by _CSHIFT(), _EOSHIFT(), _PACK(), _RESHAPE(), and _SPREAD().

#define BIGDEFAULTSZ   64

Definition at line 47 of file f90_intrinsic.h.

Referenced by _CSHIFT(), _EOSHIFT(), _PACK(), _RESHAPE(), _SPREAD(), _TRANS(), and _UNPACK().

#define c16   dcomplex

Definition at line 159 of file f90_intrinsic.h.

#define c32   qcomplex

Definition at line 158 of file f90_intrinsic.h.

#define c8   complex

Definition at line 160 of file f90_intrinsic.h.

#define ERROR   _lerror

Definition at line 49 of file f90_intrinsic.h.

#define FALSE   0

Definition at line 50 of file f90_intrinsic.h.

#define GET_ALEN_FROM_DESC (   array)    (array->base_addr.a.el_len)

Definition at line 59 of file f90_intrinsic.h.

Referenced by _RESHAPE(), and alloc_res().

#define GET_BYTEALIGNED_FROM_DESC (   array)
Value:
((array->type_lens.type == DVTYPE_ASCII) ||  \
          (array->type_lens.type == DVTYPE_DERIVEDBYTE))

Definition at line 68 of file f90_intrinsic.h.

Referenced by _CSHIFT(), _EOSHIFT(), _PACK(), _RESHAPE(), _SPREAD(), _TRANS(), _TRANSFER(), and _UNPACK().

#define GET_DV_ASCII_FROM_DESC (   array)    (array->type_lens.type == DVTYPE_ASCII)

Definition at line 60 of file f90_intrinsic.h.

Referenced by _CSHIFT(), _EOSHIFT(), _PACK(), _RESHAPE(), _SPREAD(), _TRANS(), _TRANSFER(), and _UNPACK().

#define GET_EXTENT_FROM_DESC (   array,
  dim 
)    (array->dimension[dim].extent)
#define l1   uint8_t

Definition at line 148 of file f90_intrinsic.h.

Referenced by _ALL_1(), _ANY_1(), and s_cmp().

#define l2   uint16_t

Definition at line 147 of file f90_intrinsic.h.

Referenced by _ALL_2(), _ANY_2(), s_cmp(), and s_copy().

#define l4   uint32_t

Definition at line 146 of file f90_intrinsic.h.

Referenced by _ALL_4(), and _ANY_4().

#define l8   uint64_t

Definition at line 145 of file f90_intrinsic.h.

Referenced by _ALL(), and _ANY().

#define MK_STRIDE (   byte_aligned,
  typ_sz 
)
Value:
((byte_aligned || typ_sz == 1) ?   \
         (typ_sz)                   :   \
           ((typ_sz == 2)           ?   \
           (typ_sz/(BYTES_PER_WORD/2)) :\
              (typ_sz/BYTES_PER_WORD)))

Definition at line 103 of file f90_intrinsic.h.

Referenced by _CSHIFT(), _EOSHIFT(), _PACK(), _RESHAPE(), _SPREAD(), _TRANS(), _TRANSFER(), _UNPACK(), and alloc_res().

#define r16   long double
#define SET_ADDRESS_IN_DESC (   array,
  d 
)    (array->base_addr.a.ptr = d)
#define SET_ALEN_IN_DESC (   array,
 
)    (array->base_addr.a.el_len = l)

Definition at line 121 of file f90_intrinsic.h.

Referenced by _RESHAPE().

#define SET_ASSOCIATED_IN_DESC (   array)    (array->assoc = TRUE)
#define SET_CHARPTR_IN_DESC (   array,
  cr,
  sz 
)    (array->base_addr.charptr = _cptofcd (cr, sz))

Definition at line 113 of file f90_intrinsic.h.

Referenced by _CSHIFT(), _EOSHIFT(), _PACK(), _RESHAPE(), _SPREAD(), _TRANS(), _TRANSFER(), and _UNPACK().

#define SET_CONTIG_IN_DESC (   array)    (array->a_contig = TRUE)
#define SET_EXTENT_IN_DESC (   array,
  dim,
 
)    (array->dimension[dim].extent = e)
#define SET_LBOUND_IN_DESC (   array,
  dim,
 
)    (array->dimension[dim].low_bound = b)
#define SET_ORIG_BS_IN_DESC (   array,
 
)    (array->orig_base = a)
#define SET_ORIG_SZ_IN_DESC (   array,
  s 
)    (array->orig_size = s)
#define SET_RANK_IN_DESC (   array,
 
)    (array->n_dim = r)

Definition at line 111 of file f90_intrinsic.h.

Referenced by _RESHAPE().

#define SET_STRMULT_IN_DESC (   array,
  dim,
 
)    (array->dimension[dim].stride_mult = e)
#define TRUE   1

Definition at line 51 of file f90_intrinsic.h.

#define ui1   uint8_t

Definition at line 143 of file f90_intrinsic.h.

#define ui2   uint16_t

Definition at line 142 of file f90_intrinsic.h.

#define ui4   uint32_t

Definition at line 141 of file f90_intrinsic.h.

#define ui8   uint64_t

Definition at line 140 of file f90_intrinsic.h.


Function Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines