Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
arith.internal.h File Reference
#include "arith.h"
#include <limits.h>
Include dependency graph for arith.internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  AR_INT_8_64
struct  AR_INT_64
struct  AR_INT_128
struct  AR_IEEE_32
struct  AR_IEEE_64
struct  AR_IEEE_128
struct  AR_MIPS_128
struct  AR_CPLX_IEEE_32
struct  AR_CPLX_IEEE_64
struct  AR_CPLX_IEEE_128
struct  AR_CPLX_MIPS_128
struct  AR_CRAY_64
struct  AR_CRAY_128
struct  AR_CPLX_CRAY_64
struct  AR_CPLX_CRAY_128
union  ar_data
struct  ar_state_info

Defines

#define AR_CLASS(type)   (type & 0x1c0)
#define AR_INT_SIZE(type)   (type & 0x3c)
#define AR_POINTER_FORMAT(type)   (type & 0x3c)
#define AR_POINTER_SIZE(type)   (type & 0x3)
#define AR_SIGNEDNESS(type)   (type & 0x1)
#define AR_FLOAT_FORMAT(type)   (type & 0x20)
#define AR_FLOAT_ROUND(type)   (type & 0x18)
#define AR_FLOAT_SIZE(type)   (type & 0x6)
#define AR_FLOAT_IS_COMPLEX(type)   (type & 0x1)
#define AR_IEEE32_ZERO_BITS   32
#define AR_IEEE32_EXPO_BITS   8
#define AR_IEEE32_C0_BITS   7
#define AR_IEEE32_C1_BITS   16
#define AR_IEEE64_EXPO_BITS   11
#define AR_IEEE64_C0_BITS   4
#define AR_IEEE64_C1_BITS   16
#define AR_IEEE64_C2_BITS   16
#define AR_IEEE64_C3_BITS   16
#define AR_IEEE128_EXPO_BITS   15
#define AR_IEEE128_C0_BITS   16
#define AR_IEEE128_C1_BITS   16
#define AR_IEEE128_C2_BITS   16
#define AR_IEEE128_C3_BITS   16
#define AR_IEEE128_C4_BITS   16
#define AR_IEEE128_C5_BITS   16
#define AR_IEEE128_C6_BITS   16
#define AR_IEEE32_MIN_EXPO   0000
#define AR_IEEE32_EXPO_BIAS   0177
#define AR_IEEE32_MAX_EXPO   0376
#define AR_IEEE32_COEFF_BITS   23
#define AR_IEEE64_MIN_EXPO   00000
#define AR_IEEE64_EXPO_BIAS   01777
#define AR_IEEE64_MAX_EXPO   03776
#define AR_IEEE64_COEFF_BITS   52
#define AR_IEEE128_MIN_EXPO   000000
#define AR_IEEE128_EXPO_BIAS   037777
#define AR_IEEE128_MAX_EXPO   077776
#define AR_IEEE128_COEFF_BITS   112 /* For extended-double format */
#define AR_IEEE32_ROUND_BITS   3 /* guard, round, and sticky */
#define AR_IEEE64_ROUND_BITS   3 /* guard, round, and sticky */
#define AR_IEEE128_ROUND_BITS   3 /* guard, round, and sticky */
#define AR_MIPS128_MIN_EXPO   AR_IEEE64_MIN_EXPO
#define AR_MIPS128_MAX_EXPO   AR_IEEE64_MAX_EXPO
#define AR_MIPS128_EXPO_BIAS   AR_IEEE64_EXPO_BIAS
#define AR_CRAY_EXPO_BITS   15
#define AR_CRAY_C0_BITS   16 /* must be smallest, if different */
#define AR_CRAY_C1_BITS   16
#define AR_CRAY_C2_BITS   16
#define AR_CRAY_ZERO_BITS   16
#define AR_CRAY_C3_BITS   16
#define AR_CRAY_C4_BITS   16
#define AR_CRAY_C5_BITS   16
#define AR_CRAY_MIN_EXPO   020000
#define AR_CRAY_EXPO_BIAS   040001
#define AR_CRAY_MAX_EXPO   057777
#define AR_CRAY64_COEFF_BITS   48
#define AR_CRAY128_COEFF_BITS   96
#define MASKL(bits)
#define MASKR(bits)
#define MASKM(bits, where)   ((unsigned long) (MASKR(bits) << (where)))
#define HOST_IS_UNKNOWN   (ar_host() == AR_Arch_Unknown )
#define HOST_IS_PVP   (ar_host() == AR_Arch_PVP )
#define HOST_IS_PVP_IEEE   (ar_host() == AR_Arch_PVP_IEEE)
#define HOST_IS_T3D   (ar_host() == AR_Arch_T3D )
#define HOST_IS_T3E   (ar_host() == AR_Arch_T3E )
#define HOST_IS_SPARC   (ar_host() == AR_Arch_SPARC )
#define HOST_IS_MIPS   (ar_host() == AR_Arch_MIPS )
#define HOST_IS_MPP   (HOST_IS_T3D || HOST_IS_T3E)
#define HOST_IS_CRAY_FLOAT   (HOST_IS_PVP)
#define HOST_IS_IEEE_FLOAT
#define _Solaris   0
#define ROUND_MODE(t)   ((t >> 3) & 3)
#define UNROUNDED_TYPE(t)   (t &~ 0x18)
#define IS_ERROR_STATUS(s)   (((s) & AR_ERROR_STATUS) != 0)
#define INT_OVERFLOWS_46_BITS(OPND)
#define IS_INT8_ZERO(i)   ((i)->ar_i8.part5 == 0)
#define IS_INT16_ZERO(i)   ((i)->ar_i64.part4 == 0)
#define IS_INT24_ZERO(i)
#define IS_INT32_ZERO(i)
#define IS_INT46_ZERO(i)
#define IS_INT64_ZERO(i)
#define IS_INT128_ZERO(i)
#define IS_INT8_UPPER_ZERO(i)
#define IS_INT16_UPPER_ZERO(i)
#define IS_INT24_UPPER_ZERO(i)
#define IS_INT32_UPPER_ZERO(i)
#define IS_INT46_UPPER_ZERO(i)
#define ZERO_INT8(i)   (i)->ar_i8.part5 = 0
#define ZERO_INT16(i)   (i)->ar_i64.part4 = 0
#define ZERO_INT24(i)
#define ZERO_INT32(i)
#define ZERO_INT64(i)
#define ZERO_INT128(i)
#define ZERO_INT8_UPPER(i)
#define ZERO_INT16_UPPER(i)
#define ZERO_INT24_UPPER(i)
#define ZERO_INT32_UPPER(i)
#define ZERO_INT8_ALL(i)
#define ZERO_INT16_ALL(i)
#define ZERO_INT24_ALL(i)   ZERO_INT16_ALL(i)
#define ZERO_INT32_ALL(i)   ZERO_INT16_ALL(i)
#define ZERO_INT64_ALL(i)   ZERO_INT16_ALL(i)
#define ZERO_INT128_ALL(i)
#define IS_INT8_UPPER_ONES(i)
#define IS_INT16_UPPER_ONES(i)
#define IS_INT24_UPPER_ONES(i)
#define IS_INT32_UPPER_ONES(i)
#define IS_INT46_UPPER_ONES(i)
#define INT8_SIGN(i)   ((i)->ar_i8.part5 & 0x80 )
#define INT16_SIGN(i)   ((i)->ar_i64.part4 & 0x8000)
#define INT24_SIGN(i)   ((i)->ar_i64.part3 & 0x80 )
#define INT32_SIGN(i)   ((i)->ar_i64.part3 & 0x8000)
#define INT64_SIGN(i)   ((i)->ar_i64.part1 & 0x8000)
#define INT128_SIGN(i)   ((i)->ar_i128.part1 & 0x8000)
#define INT_SIGN(t, i)
#define COPY_INT8(i, j)   (i)->ar_i8.part5 = (j)->ar_i8.part5
#define COPY_INT16(i, j)   (i)->ar_i64.part4 = (j)->ar_i64.part4
#define COPY_INT24(i, j)
#define COPY_INT32(i, j)
#define COPY_INT46(i, j)
#define COPY_INT64(i, j)
#define COPY_INT128(i, j)
#define INT8_TO_HOST_SINT64(i, a)
#define INT16_TO_HOST_SINT64(i, a)
#define INT32_TO_HOST_SINT64(i, a)
#define INT64_TO_HOST_SINT64(i, a)
#define IS_IEEE32_NZ_COEFF(x)
#define IS_IEEE64_NZ_COEFF(x)
#define IS_IEEE128_NZ_COEFF(x)
#define IS_MIPS128_NZ_COEFF(x)
#define IS_IEEE32_NaN(x)   ((x)->expo > AR_IEEE32_MAX_EXPO && IS_IEEE32_NZ_COEFF(x))
#define IS_IEEE64_NaN(x)   ((x)->expo > AR_IEEE64_MAX_EXPO && IS_IEEE64_NZ_COEFF(x))
#define IS_IEEE128_NaN(x)   ((x)->expo > AR_IEEE128_MAX_EXPO && IS_IEEE128_NZ_COEFF(x))
#define IS_MIPS128_NaN(x)
#define ADDIEEE32(sum, carry, a, b)
#define ADDIEEE64(sum, carry, a, b)
#define ADDIEEE128(sum, carry, a, b)
#define CPLX32_IMAG_TO_IEEE32(s, c)
#define CPLX32_REAL_TO_IEEE32(s, c)
#define IEEE32_TO_CPLX32_REAL(c, s)
#define IEEE32_TO_CPLX32_IMAG(c, s)
#define IEEE32TOINT64(i, f)
#define IEEE64TOINT64(i, f)
#define INCIEEE32(sum, carry)
#define INCIEEE64(sum, carry)
#define INCIEEE128(sum, carry)
#define INT64TOIEEE32(f, i)
#define INT64TOIEEE64(f, i)
#define INT64TOIEEE128(f, i)
#define NOTIEEE32(x)
#define NOTIEEE64(x)
#define NOTIEEE128(x)
#define SHLEFTIEEE32(x)
#define SHLEFTIEEE64(x)
#define SHLEFTIEEE128(x)
#define SHLEFTIEEE32_2(x, y)
#define SHLEFTIEEE64_2(x, y)
#define SHLEFTIEEE128_2(x, y)
#define SHRIGHTIEEE32(x)
#define SHRIGHTIEEE64(x)
#define SHRIGHTIEEE128(x)
#define SHRIGHTIEEE32_2(x, y)
#define SHRIGHTIEEE64_2(x, y)
#define SHRIGHTIEEE128_2(x, y)
#define ZEROIEEE32(x)
#define ZEROIEEE64(x)
#define ZEROIEEE128(x)
#define ZEROIEEE128M(x)
#define QNaNIEEE32(x)
#define QNaNIEEE64(x)
#define QNaNIEEE128(x)
#define ADDCRAY64(sum, carry, a, b)
#define ADDCRAY128(sum, carry, a, b)
#define CRAY64TO128(d, s)
#define CRAY128TO64(s, d)
#define CRAY64TOINT64(i, c)
#define INCCRAY64(sum, carry)
#define INCCRAY128(sum, carry)
#define INT64TOCRAY64(c, i)
#define NOTCRAY64(x)
#define NOTCRAY128(x)
#define SHLEFTCRAY64(x)
#define SHLEFTCRAY128(x)
#define SHRIGHTCRAY64(x)
#define SHRIGHTCRAY128(x)
#define ZEROCRAY64(x)   ((x).sign = (x).expo = (x).coeff0 = (x).coeff1 = (x).coeff2 = 0)
#define ZEROCRAY128(x)

Enumerations

enum  message_types {
  Comment, Note, Caution, Warning,
  Error, Internal, Vector_Info, Scalar_Info,
  Table, Ansi, Logfile_Warning, Inline_Info,
  Info, Tasking_Info, Limit, Logfile_Error,
  Logfile_Summary, F77_ANSI, Unknown
}
enum  AR_ARCHITECTURE {
  AR_Arch_Unknown, AR_Arch_PVP, AR_Arch_PVP_IEEE, AR_Arch_T3D,
  AR_Arch_T3E, AR_Arch_SPARC, AR_Arch_MIPS
}

Functions

int ar_add_integer (ar_data *, const AR_TYPE *, const ar_data *, const AR_TYPE *, const ar_data *, const AR_TYPE *)
void ar_dblshift (ar_data *, const AR_TYPE *resulttype, const ar_data *, const ar_data *, int)
int ar_divide_integer (ar_data *, const AR_TYPE *, ar_data *, const AR_TYPE *, const ar_data *, const AR_TYPE *, const ar_data *, const AR_TYPE *)
int ar_negate_integer (ar_data *, const AR_TYPE *, const ar_data *, const AR_TYPE *)
int ar_multiply_integer (ar_data *, const AR_TYPE *, const ar_data *, const AR_TYPE *, const ar_data *, const AR_TYPE *)
int ar_subtract_integer (ar_data *, const AR_TYPE *, int *, const ar_data *, const AR_TYPE *, const ar_data *, const AR_TYPE *)
int ar_i32norm (signed int, unsigned long, unsigned long, AR_IEEE_32 *, int)
int ar_i64norm (signed int, unsigned long, unsigned long, AR_IEEE_64 *, int)
int ar_i128norm (signed int, unsigned long, unsigned long, AR_IEEE_128 *, int)
int ar_i32to64 (AR_IEEE_64 *, const AR_IEEE_32 *)
int ar_i64to32 (AR_IEEE_32 *, const AR_IEEE_64 *, const int)
int ar_i64to128 (AR_IEEE_128 *, const AR_IEEE_64 *)
int ar_i128to64 (AR_IEEE_64 *, const AR_IEEE_128 *, const int)
int ar_ifadd32 (AR_IEEE_32 *, const AR_IEEE_32 *, const AR_IEEE_32 *, int)
int ar_ifadd64 (AR_IEEE_64 *, const AR_IEEE_64 *, const AR_IEEE_64 *, int)
int ar_ifadd128 (AR_IEEE_128 *, const AR_IEEE_128 *, const AR_IEEE_128 *, int)
int ar_ifdiv32 (AR_IEEE_32 *, const AR_IEEE_32 *, const AR_IEEE_32 *, int)
int ar_ifdiv64 (AR_IEEE_64 *, const AR_IEEE_64 *, const AR_IEEE_64 *, int)
int ar_ifdiv128 (AR_IEEE_128 *, const AR_IEEE_128 *, const AR_IEEE_128 *, int)
int ar_ifix32 (AR_INT_64 *, const AR_IEEE_32 *, int, int)
int ar_ifix64 (AR_INT_64 *, const AR_IEEE_64 *, int, int)
int ar_ifix128 (AR_INT_64 *, const AR_IEEE_128 *, int, int)
int ar_iflt32 (AR_IEEE_32 *, const AR_INT_64 *, int, int)
int ar_iflt64 (AR_IEEE_64 *, const AR_INT_64 *, int, int)
int ar_iflt128 (AR_IEEE_128 *, const AR_INT_64 *, int, int)
int ar_ifmul32 (AR_IEEE_32 *, const AR_IEEE_32 *, const AR_IEEE_32 *, int)
int ar_ifmul64 (AR_IEEE_64 *, const AR_IEEE_64 *, const AR_IEEE_64 *, int)
int ar_ifmul128 (AR_IEEE_128 *, const AR_IEEE_128 *, const AR_IEEE_128 *, int)
int ar_ifsub32 (AR_IEEE_32 *, const AR_IEEE_32 *, const AR_IEEE_32 *, int)
int ar_ifsub64 (AR_IEEE_64 *, const AR_IEEE_64 *, const AR_IEEE_64 *, int)
int ar_ifsub128 (AR_IEEE_128 *, const AR_IEEE_128 *, const AR_IEEE_128 *, int)
int ar_isqrt64 (AR_IEEE_64 *, const AR_IEEE_64 *, int)
int ar_c64to128 (AR_CRAY_128 *, const AR_CRAY_64 *)
int ar_c128to64 (AR_CRAY_64 *, const AR_CRAY_128 *)
int ar_c1frecip (AR_CRAY_64 *, const AR_CRAY_64 *)
int ar_cfadd64 (AR_CRAY_64 *, const AR_CRAY_64 *, const AR_CRAY_64 *)
int ar_cfadd128 (AR_CRAY_128 *, const AR_CRAY_128 *, const AR_CRAY_128 *)
int ar_cfdiv64 (AR_CRAY_64 *, const AR_CRAY_64 *, const AR_CRAY_64 *, int)
int ar_cfdiv128 (AR_CRAY_128 *, const AR_CRAY_128 *, const AR_CRAY_128 *, int)
int ar_cfix64 (AR_INT_64 *, const AR_CRAY_64 *, int)
int ar_cfix128 (AR_INT_64 *, const AR_CRAY_128 *, int)
int ar_cflt64 (AR_CRAY_64 *, const AR_INT_64 *, int)
int ar_cflt128 (AR_CRAY_128 *, const AR_INT_64 *, int)
int ar_cfmul64 (AR_CRAY_64 *, const AR_CRAY_64 *, const AR_CRAY_64 *, int)
int ar_cfmul128 (AR_CRAY_128 *, const AR_CRAY_128 *, const AR_CRAY_128 *, int)
int ar_crnd64 (AR_CRAY_64 *, const AR_CRAY_64 *)
int ar_crnd128 (AR_CRAY_128 *, const AR_CRAY_128 *)
int ar_cfsub64 (AR_CRAY_64 *, const AR_CRAY_64 *, const AR_CRAY_64 *)
int ar_cfsub128 (AR_CRAY_128 *, const AR_CRAY_128 *, const AR_CRAY_128 *)
void ar_CRAY_64_trunc (AR_CRAY_64 *opnd)
int ar_convert_to_integral (ar_data *, const AR_TYPE *, const ar_data *, const AR_TYPE *)
int ar_compose_complex (ar_data *, AR_TYPE *, const ar_data *, const ar_data *, const AR_TYPE *)
int ar_decompose_complex (ar_data *, ar_data *, AR_TYPE *, const ar_data *, const AR_TYPE *)
int ar_negate_float (ar_data *, const AR_TYPE *, const ar_data *, const AR_TYPE *)
int ar_c128toi64 (AR_IEEE_64 *, const AR_CRAY_128 *)
int ar_i64toc128 (AR_CRAY_128 *, const AR_IEEE_64 *)
int ar_ctoi64 (AR_IEEE_64 *, const AR_CRAY_64 *)
int ar_ctoi128 (AR_IEEE_128 *, const AR_CRAY_128 *)
int ar_itoc64 (AR_CRAY_64 *, const AR_IEEE_64 *, int)
int ar_itoc128 (AR_CRAY_128 *, const AR_IEEE_128 *, int)
void ar_internal_error (int msgnum, char *file, int line)
void ar_set_invalid_result (ar_data *result, const AR_TYPE *resulttype)
void ar_clear_unused_bits (ar_data *opnd, const AR_TYPE *opndtype)
void PRINTMSG (int pseudo_line_num, int msg_number, enum message_types msg_severity, int column_num,...)
AR_ARCHITECTURE ar_host (void)

Variables

ar_state_info ar_state_register
int ar_simulate
int ar_rounding_modes
int ar_underflow_modes

Define Documentation

#define _Solaris   0

Definition at line 719 of file arith.internal.h.

#define ADDCRAY128 (   sum,
  carry,
  a,
 
)
Value:
do {                                                            \
                (sum).coeff5 = (carry) += (a).coeff5 + (b).coeff5;                      \
                (carry) >>= AR_CRAY_C5_BITS;                                                            \
                (sum).coeff4 = (carry) += (a).coeff4 + (b).coeff4;                      \
                (carry) >>= AR_CRAY_C4_BITS;                                                            \
                (sum).coeff3 = (carry) += (a).coeff3 + (b).coeff3;                      \
                (carry) >>= AR_CRAY_C3_BITS;                                                            \
                (sum).coeff2 = (carry) += (a).coeff2 + (b).coeff2;                      \
                (carry) >>= AR_CRAY_C2_BITS;                                                            \
                (sum).coeff1 = (carry) += (a).coeff1 + (b).coeff1;                      \
                (carry) >>= AR_CRAY_C1_BITS;                                                            \
                (sum).coeff0 = (carry) += (a).coeff0 + (b).coeff0;                      \
                (carry) >>= AR_CRAY_C0_BITS;                                                            \
} while (0)

Definition at line 1434 of file arith.internal.h.

Referenced by ar_cfadd128(), and ar_cfmul128().

#define ADDCRAY64 (   sum,
  carry,
  a,
 
)
Value:
do {                                                            \
                (sum).coeff2 = (carry) += (a).coeff2 + (b).coeff2;                      \
                (carry) >>= AR_CRAY_C2_BITS;                                                            \
                (sum).coeff1 = (carry) += (a).coeff1 + (b).coeff1;                      \
                (carry) >>= AR_CRAY_C1_BITS;                                                            \
                (sum).coeff0 = (carry) += (a).coeff0 + (b).coeff0;                      \
                (carry) >>= AR_CRAY_C0_BITS;                                                            \
} while (0)

Definition at line 1425 of file arith.internal.h.

Referenced by ar_cfadd64(), and ar_cfmul64().

#define ADDIEEE128 (   sum,
  carry,
  a,
 
)
Value:
do {                                                            \
                (sum).coeff6 = (carry) += (a).coeff6 + (b).coeff6;                      \
                (carry) >>= AR_IEEE128_C6_BITS;                                                         \
                (sum).coeff5 = (carry) += (a).coeff5 + (b).coeff5;                      \
                (carry) >>= AR_IEEE128_C5_BITS;                                                         \
                (sum).coeff4 = (carry) += (a).coeff4 + (b).coeff4;                      \
                (carry) >>= AR_IEEE128_C4_BITS;                                                         \
                (sum).coeff3 = (carry) += (a).coeff3 + (b).coeff3;                      \
                (carry) >>= AR_IEEE128_C3_BITS;                                                         \
                (sum).coeff2 = (carry) += (a).coeff2 + (b).coeff2;                      \
                (carry) >>= AR_IEEE128_C2_BITS;                                                         \
                (sum).coeff1 = (carry) += (a).coeff1 + (b).coeff1;                      \
                (carry) >>= AR_IEEE128_C1_BITS;                                                         \
                (sum).coeff0 = (carry) += (a).coeff0 + (b).coeff0;                      \
                (carry) >>= AR_IEEE128_C0_BITS;                                                         \
} while (0)

Definition at line 1056 of file arith.internal.h.

Referenced by ar_ifadd128(), and ar_ifmul128().

#define ADDIEEE32 (   sum,
  carry,
  a,
 
)
Value:
do {                                                            \
                (sum).coeff1 = (carry) += (a).coeff1 + (b).coeff1;                      \
                (carry) >>= AR_IEEE32_C1_BITS;                                                          \
                (sum).coeff0 = (carry) += (a).coeff0 + (b).coeff0;                      \
                (carry) >>= AR_IEEE32_C0_BITS;                                                          \
} while (0)

Definition at line 1038 of file arith.internal.h.

Referenced by ar_ifadd32(), and ar_ifmul32().

#define ADDIEEE64 (   sum,
  carry,
  a,
 
)
Value:
do {                                                            \
                (sum).coeff3 = (carry) += (a).coeff3 + (b).coeff3;                      \
                (carry) >>= AR_IEEE64_C3_BITS;                                                          \
                (sum).coeff2 = (carry) += (a).coeff2 + (b).coeff2;                      \
                (carry) >>= AR_IEEE64_C2_BITS;                                                          \
                (sum).coeff1 = (carry) += (a).coeff1 + (b).coeff1;                      \
                (carry) >>= AR_IEEE64_C1_BITS;                                                          \
                (sum).coeff0 = (carry) += (a).coeff0 + (b).coeff0;                      \
                (carry) >>= AR_IEEE64_C0_BITS;                                                          \
} while (0)

Definition at line 1045 of file arith.internal.h.

Referenced by ar_ifadd64(), and ar_ifmul64().

#define AR_CLASS (   type)    (type & 0x1c0)

Definition at line 85 of file arith.internal.h.

#define AR_CRAY128_COEFF_BITS   96

Definition at line 267 of file arith.internal.h.

Referenced by ar_cfadd128(), ar_cfmul128(), and ar_ctoi128().

#define AR_CRAY_C0_BITS   16 /* must be smallest, if different */
#define AR_CRAY_C1_BITS   16

Definition at line 256 of file arith.internal.h.

Referenced by ar_cfmul64().

#define AR_CRAY_C2_BITS   16

Definition at line 257 of file arith.internal.h.

#define AR_CRAY_C3_BITS   16

Definition at line 259 of file arith.internal.h.

Referenced by ar_c128toi64(), ar_cfdiv128(), and ar_cflt128().

#define AR_CRAY_C4_BITS   16

Definition at line 260 of file arith.internal.h.

#define AR_CRAY_C5_BITS   16

Definition at line 261 of file arith.internal.h.

#define AR_CRAY_EXPO_BITS   15

Definition at line 254 of file arith.internal.h.

Referenced by ar_cflt128(), ar_cflt64(), and ar_cfmul128().

#define AR_CRAY_MIN_EXPO   020000
#define AR_CRAY_ZERO_BITS   16

Definition at line 258 of file arith.internal.h.

#define AR_FLOAT_ROUND (   type)    (type & 0x18)

Definition at line 129 of file arith.internal.h.

#define AR_IEEE128_C0_BITS   16

Definition at line 150 of file arith.internal.h.

Referenced by ar_ctoi128(), ar_i128norm(), ar_ifadd128(), ar_ifdiv128(), and ar_ifmul128().

#define AR_IEEE128_C1_BITS   16

Definition at line 151 of file arith.internal.h.

Referenced by ar_ifdiv128().

#define AR_IEEE128_C2_BITS   16

Definition at line 152 of file arith.internal.h.

Referenced by ar_ifdiv128().

#define AR_IEEE128_C3_BITS   16

Definition at line 153 of file arith.internal.h.

Referenced by ar_ifdiv128().

#define AR_IEEE128_C4_BITS   16

Definition at line 154 of file arith.internal.h.

Referenced by ar_ifdiv128().

#define AR_IEEE128_C5_BITS   16

Definition at line 155 of file arith.internal.h.

Referenced by ar_ifdiv128().

#define AR_IEEE128_C6_BITS   16

Definition at line 156 of file arith.internal.h.

Referenced by ar_ifdiv128().

#define AR_IEEE128_COEFF_BITS   112 /* For extended-double format */
#define AR_IEEE128_EXPO_BITS   15

Definition at line 149 of file arith.internal.h.

Referenced by ar_iflt128().

#define AR_IEEE128_MIN_EXPO   000000

Definition at line 168 of file arith.internal.h.

Referenced by ar_i128norm().

#define AR_IEEE128_ROUND_BITS   3 /* guard, round, and sticky */

Definition at line 175 of file arith.internal.h.

Referenced by ar_i128norm(), ar_ifadd128(), ar_ifdiv128(), ar_ifix128(), and ar_ifmul128().

#define AR_IEEE32_C0_BITS   7

Definition at line 140 of file arith.internal.h.

Referenced by ar_i32norm(), ar_ifadd32(), ar_ifdiv32(), and ar_ifmul32().

#define AR_IEEE32_C1_BITS   16

Definition at line 141 of file arith.internal.h.

Referenced by ar_ifdiv32().

#define AR_IEEE32_COEFF_BITS   23

Definition at line 161 of file arith.internal.h.

Referenced by ar_ifadd32(), ar_ifdiv32(), ar_ifix32(), ar_iflt32(), and ar_ifmul32().

#define AR_IEEE32_EXPO_BIAS   0177
#define AR_IEEE32_EXPO_BITS   8

Definition at line 139 of file arith.internal.h.

Referenced by ar_iflt32().

#define AR_IEEE32_MIN_EXPO   0000

Definition at line 158 of file arith.internal.h.

#define AR_IEEE32_ROUND_BITS   3 /* guard, round, and sticky */

Definition at line 173 of file arith.internal.h.

Referenced by ar_i32norm(), ar_ifadd32(), ar_ifdiv32(), ar_ifix32(), ar_iflt32(), and ar_ifmul32().

#define AR_IEEE32_ZERO_BITS   32

Definition at line 138 of file arith.internal.h.

#define AR_IEEE64_C1_BITS   16

Definition at line 145 of file arith.internal.h.

Referenced by ar_i32to64(), ar_i64to32(), and ar_ifdiv64().

#define AR_IEEE64_C2_BITS   16

Definition at line 146 of file arith.internal.h.

Referenced by ar_i32to64(), ar_i64to32(), and ar_ifdiv64().

#define AR_IEEE64_C3_BITS   16

Definition at line 147 of file arith.internal.h.

Referenced by ar_ifdiv64().

#define AR_IEEE64_EXPO_BITS   11

Definition at line 143 of file arith.internal.h.

Referenced by ar_iflt64().

#define AR_IEEE64_MIN_EXPO   00000

Definition at line 163 of file arith.internal.h.

Referenced by ar_i32norm(), and ar_i64norm().

#define AR_IEEE64_ROUND_BITS   3 /* guard, round, and sticky */
#define AR_INT_SIZE (   type)    (type & 0x3c)

Definition at line 116 of file arith.internal.h.

Definition at line 179 of file arith.internal.h.

Referenced by AR_one().

Definition at line 178 of file arith.internal.h.

Referenced by AR_status().

Definition at line 177 of file arith.internal.h.

#define AR_POINTER_SIZE (   type)    (type & 0x3)

Definition at line 120 of file arith.internal.h.

Referenced by AR_add_ptr_int(), and ar_clear_unused_bits().

#define AR_SIGNEDNESS (   type)    (type & 0x1)

Definition at line 122 of file arith.internal.h.

#define COPY_INT128 (   i,
 
)
Value:
do {                                                                                                                    \
                                (i)->ar_i128.part1 = (j)->ar_i128.part1;                                \
                                (i)->ar_i128.part2 = (j)->ar_i128.part2;                                \
                                (i)->ar_i128.part3 = (j)->ar_i128.part3;                                \
                                (i)->ar_i128.part4 = (j)->ar_i128.part4;                                \
                                (i)->ar_i128.part5 = (j)->ar_i128.part5;                                \
                                (i)->ar_i128.part6 = (j)->ar_i128.part6;                                \
                                (i)->ar_i128.part7 = (j)->ar_i128.part7;                                \
                                (i)->ar_i128.part8 = (j)->ar_i128.part8;                                \
                } while(0)

Definition at line 934 of file arith.internal.h.

#define COPY_INT16 (   i,
 
)    (i)->ar_i64.part4 = (j)->ar_i64.part4

Definition at line 909 of file arith.internal.h.

Referenced by AR_abs().

#define COPY_INT24 (   i,
 
)
Value:
do {                                                                                                                    \
                                (i)->ar_i64.part3 = (j)->ar_i64.part3 & 0xFF00;                 \
                                (i)->ar_i64.part4 = (j)->ar_i64.part4;                                  \
                } while(0)

Definition at line 911 of file arith.internal.h.

#define COPY_INT32 (   i,
 
)
Value:
do {                                                                                                                    \
                                (i)->ar_i64.part3 = (j)->ar_i64.part3;                                  \
                                (i)->ar_i64.part4 = (j)->ar_i64.part4;                                  \
                } while(0)

Definition at line 916 of file arith.internal.h.

Referenced by AR_abs().

#define COPY_INT46 (   i,
 
)
Value:
do {                                                                                                                    \
                                (i)->ar_i64.part2 = (j)->ar_i64.part2 & 0x3FFF;                 \
                                (i)->ar_i64.part3 = (j)->ar_i64.part3;                                  \
                                (i)->ar_i64.part4 = (j)->ar_i64.part4;                                  \
                } while(0)

Definition at line 921 of file arith.internal.h.

#define COPY_INT64 (   i,
 
)
Value:
do {                                                                                                                    \
                                (i)->ar_i64.part1 = (j)->ar_i64.part1;                                  \
                                (i)->ar_i64.part2 = (j)->ar_i64.part2;                                  \
                                (i)->ar_i64.part3 = (j)->ar_i64.part3;                                  \
                                (i)->ar_i64.part4 = (j)->ar_i64.part4;                                  \
                } while(0)

Definition at line 927 of file arith.internal.h.

Referenced by AR_abs().

#define COPY_INT8 (   i,
 
)    (i)->ar_i8.part5 = (j)->ar_i8.part5

Definition at line 907 of file arith.internal.h.

Referenced by AR_abs().

#define CPLX32_IMAG_TO_IEEE32 (   s,
  c 
)
Value:
(                                                               \
                (s).sign = (c).isign,                                                                           \
                (s).expo = (c).iexpo,                                                                           \
                (s).coeff0 = (c).icoeff0,                                                                       \
                (s).coeff1 = (c).icoeff1,                                                                       \
                (s).zero = 0 )

Definition at line 1074 of file arith.internal.h.

Referenced by AR_add(), ar_decompose_complex(), and AR_subtract().

#define CPLX32_REAL_TO_IEEE32 (   s,
  c 
)
Value:
(                                                               \
                (s).sign = (c).rsign,                                                                           \
                (s).expo = (c).rexpo,                                                                           \
                (s).coeff0 = (c).rcoeff0,                                                                       \
                (s).coeff1 = (c).rcoeff1,                                                                       \
                (s).zero = 0 )

Definition at line 1081 of file arith.internal.h.

Referenced by AR_add(), ar_convert_to_integral(), ar_decompose_complex(), and AR_subtract().

#define CRAY128TO64 (   s,
  d 
)
Value:
(                                                                                       \
                (s).sign = (d).sign,                                                                            \
                (s).expo = (d).expo,                                                                            \
                (s).coeff0 = (d).coeff0,                                                                        \
                (s).coeff1 = (d).coeff1,                                                                        \
                (s).coeff2 = (d).coeff2 )

Definition at line 1457 of file arith.internal.h.

Referenced by ar_c128to64(), ar_c128toi64(), ar_cfdiv128(), and ar_cfix128().

#define CRAY64TO128 (   d,
  s 
)
Value:
(                                                                                       \
                (d).sign = (s).sign,                                                                            \
                (d).expo = (s).expo,                                                                            \
                (d).coeff0 = (s).coeff0,                                                                        \
                (d).coeff1 = (s).coeff1,                                                                        \
                (d).coeff2 = (s).coeff2,                                                                        \
                (d).zero = (d).coeff3 = (d).coeff4 = (d).coeff5 = 0 )

Definition at line 1449 of file arith.internal.h.

Referenced by ar_c64to128(), ar_cfdiv128(), ar_cflt128(), and ar_i64toc128().

#define CRAY64TOINT64 (   i,
  c 
)
Value:
(                                                                               \
                (i).part1 = (c).sign << 15 | (c).expo,                                          \
                (i).part2 = (c).coeff0,                                                                         \
                (i).part3 = (c).coeff1,                                                                         \
                (i).part4 = (c).coeff2 )

Definition at line 1464 of file arith.internal.h.

Referenced by ar_c128toi64(), ar_cfix128(), ar_cfix64(), and ar_ctoi64().

Definition at line 705 of file arith.internal.h.

Value:
(HOST_IS_PVP_IEEE ||    \
                                                                 HOST_IS_MPP      ||    \
                                                                 HOST_IS_SPARC    ||    \
                                                                 HOST_IS_MIPS)

Definition at line 706 of file arith.internal.h.

Referenced by AR_convert_float_to_str().

#define HOST_IS_MPP   (HOST_IS_T3D || HOST_IS_T3E)

Definition at line 703 of file arith.internal.h.

#define HOST_IS_PVP   (ar_host() == AR_Arch_PVP )

Definition at line 696 of file arith.internal.h.

Definition at line 697 of file arith.internal.h.

#define HOST_IS_SPARC   (ar_host() == AR_Arch_SPARC )

Definition at line 700 of file arith.internal.h.

#define HOST_IS_T3D   (ar_host() == AR_Arch_T3D )

Definition at line 698 of file arith.internal.h.

#define HOST_IS_T3E   (ar_host() == AR_Arch_T3E )

Definition at line 699 of file arith.internal.h.

#define HOST_IS_UNKNOWN   (ar_host() == AR_Arch_Unknown )

Definition at line 695 of file arith.internal.h.

#define IEEE32_TO_CPLX32_IMAG (   c,
  s 
)
Value:
(                                                               \
                (c).isign = (s).sign,                                                                           \
                (c).iexpo = (s).expo,                                                                           \
                (c).icoeff0 = (s).coeff0,                                                                       \
                (c).icoeff1 = (s).coeff1 )

Definition at line 1094 of file arith.internal.h.

Referenced by AR_add(), ar_compose_complex(), AR_make_complex(), and AR_subtract().

#define IEEE32_TO_CPLX32_REAL (   c,
  s 
)
Value:
(                                                               \
                (c).rsign = (s).sign,                                                                           \
                (c).rexpo = (s).expo,                                                                           \
                (c).rcoeff0 = (s).coeff0,                                                                       \
                (c).rcoeff1 = (s).coeff1 )

Definition at line 1088 of file arith.internal.h.

Referenced by AR_add(), ar_compose_complex(), ar_convert_to_complex(), AR_make_complex(), and AR_subtract().

#define IEEE32TOINT64 (   i,
  f 
)
Value:
(                                                                               \
                (i).part1 = (i).part2 = 0,                                                                      \
                (i).part3 = (f).sign << 15 | (f).expo << 7 | (f).coeff0,        \
                (i).part4 = (f).coeff1 )

Definition at line 1100 of file arith.internal.h.

Referenced by ar_ifix32().

#define IEEE64TOINT64 (   i,
  f 
)
Value:
(                                                                               \
                (i).part1 = (f).sign << 15 | (f).expo << 4 | (f).coeff0,        \
                (i).part2 = (f).coeff1,                                                                         \
                (i).part3 = (f).coeff2,                                                                         \
                (i).part4 = (f).coeff3 )

Definition at line 1105 of file arith.internal.h.

Referenced by ar_ifix64().

#define INCCRAY128 (   sum,
  carry 
)
Value:
do {                                                                    \
                (sum).coeff5 = (carry) += (sum).coeff5;                                         \
                (carry) >>= AR_CRAY_C5_BITS;                                                            \
                (sum).coeff4 = (carry) += (sum).coeff4;                                         \
                (carry) >>= AR_CRAY_C4_BITS;                                                            \
                (sum).coeff3 = (carry) += (sum).coeff3;                                         \
                (carry) >>= AR_CRAY_C3_BITS;                                                            \
                (sum).coeff2 = (carry) += (sum).coeff2;                                         \
                (carry) >>= AR_CRAY_C2_BITS;                                                            \
                (sum).coeff1 = (carry) += (sum).coeff1;                                         \
                (carry) >>= AR_CRAY_C1_BITS;                                                            \
                (sum).coeff0 = (carry) += (sum).coeff0;                                         \
                (carry) >>= AR_CRAY_C0_BITS;                                                            \
} while (0)

Definition at line 1479 of file arith.internal.h.

Referenced by ar_cfdiv128(), and ar_cfmul128().

#define INCCRAY64 (   sum,
  carry 
)
Value:
do {                                                                    \
                (sum).coeff2 = (carry) += (sum).coeff2;                                         \
                (carry) >>= AR_CRAY_C2_BITS;                                                            \
                (sum).coeff1 = (carry) += (sum).coeff1;                                         \
                (carry) >>= AR_CRAY_C1_BITS;                                                            \
                (sum).coeff0 = (carry) += (sum).coeff0;                                         \
                (carry) >>= AR_CRAY_C0_BITS;                                                            \
} while (0)

Definition at line 1470 of file arith.internal.h.

Referenced by ar_cfadd64(), and ar_cfdiv128().

#define INCIEEE128 (   sum,
  carry 
)
Value:
do {                                                                    \
                (sum).coeff6 = (carry) += (sum).coeff6;                                         \
                (carry) >>= AR_IEEE128_C6_BITS;                                                         \
                (sum).coeff5 = (carry) += (sum).coeff5;                                         \
                (carry) >>= AR_IEEE128_C5_BITS;                                                         \
                (sum).coeff4 = (carry) += (sum).coeff4;                                         \
                (carry) >>= AR_IEEE128_C4_BITS;                                                         \
                (sum).coeff3 = (carry) += (sum).coeff3;                                         \
                (carry) >>= AR_IEEE128_C3_BITS;                                                         \
                (sum).coeff2 = (carry) += (sum).coeff2;                                         \
                (carry) >>= AR_IEEE128_C2_BITS;                                                         \
                (sum).coeff1 = (carry) += (sum).coeff1;                                         \
                (carry) >>= AR_IEEE128_C1_BITS;                                                         \
                (sum).coeff0 = (carry) += (sum).coeff0;                                         \
                (carry) >>= AR_IEEE128_C0_BITS;                                                         \
} while (0)

Definition at line 1130 of file arith.internal.h.

Referenced by ar_i128norm(), and ar_ifadd128().

#define INCIEEE32 (   sum,
  carry 
)
Value:
do {                                                                    \
                (sum).coeff1 = (carry) += (sum).coeff1;                                         \
                (carry) >>= AR_IEEE32_C1_BITS;                                                          \
                (sum).coeff0 = (carry) += (sum).coeff0;                                         \
                (carry) >>= AR_IEEE32_C0_BITS;                                                          \
} while (0)

Definition at line 1112 of file arith.internal.h.

Referenced by ar_i32norm(), and ar_ifadd32().

#define INCIEEE64 (   sum,
  carry 
)
Value:
do {                                                                    \
                (sum).coeff3 = (carry) += (sum).coeff3;                                         \
                (carry) >>= AR_IEEE64_C3_BITS;                                                          \
                (sum).coeff2 = (carry) += (sum).coeff2;                                         \
                (carry) >>= AR_IEEE64_C2_BITS;                                                          \
                (sum).coeff1 = (carry) += (sum).coeff1;                                         \
                (carry) >>= AR_IEEE64_C1_BITS;                                                          \
                (sum).coeff0 = (carry) += (sum).coeff0;                                         \
                (carry) >>= AR_IEEE64_C0_BITS;                                                          \
} while (0)

Definition at line 1119 of file arith.internal.h.

Referenced by ar_i64norm(), and ar_ifadd64().

#define INT128_SIGN (   i)    ((i)->ar_i128.part1 & 0x8000)

Definition at line 888 of file arith.internal.h.

#define INT16_SIGN (   i)    ((i)->ar_i64.part4 & 0x8000)
#define INT16_TO_HOST_SINT64 (   i,
 
)
Value:
do {                                                                                                                    \
                        if (INT16_SIGN(a))                                                                                      \
                                i = -(((~((AR_HOST_SINT64) ((a)->ar_i64.part4))) +              \
                                           1                                                                                            \
                                          ) &                                                                                           \
                                          ~(-((AR_HOST_SINT64) 1) << 16)                                        \
                                         );                                                                                                     \
                        else                                                                                                            \
                                i = (AR_HOST_SINT64) (a)->ar_i64.part4;                                 \
                } while (0)

Definition at line 957 of file arith.internal.h.

Referenced by AR_ibits(), AR_ishft(), and AR_ishftc().

#define INT24_SIGN (   i)    ((i)->ar_i64.part3 & 0x80 )

Definition at line 882 of file arith.internal.h.

Referenced by ar_convert_to_integral(), and AR_status().

#define INT32_SIGN (   i)    ((i)->ar_i64.part3 & 0x8000)
#define INT32_TO_HOST_SINT64 (   i,
 
)
Value:
do {                                                                                                                    \
                        if (INT32_SIGN(a))                                                                                      \
                                i = -(((~((((AR_HOST_SINT64) (a)->ar_i64.part3) << 16)  \
                                                  |                                                                                             \
                                                  (((AR_HOST_SINT64) (a)->ar_i64.part4)      )  \
                                                 )                                                                                              \
                                           ) +                                                                                          \
                                           1                                                                                            \
                                          ) &                                                                                           \
                                          ~(-((AR_HOST_SINT64) 1) << 32)                                        \
                                         );                                                                                                     \
                        else                                                                                                            \
                                i = (((AR_HOST_SINT64) (a)->ar_i64.part3) << 16) |              \
                                        (((AR_HOST_SINT64) (a)->ar_i64.part4)      );           \
                } while (0)

Definition at line 968 of file arith.internal.h.

Referenced by AR_ibits(), AR_ishft(), and AR_ishftc().

#define INT64_TO_HOST_SINT64 (   i,
 
)
Value:
do {                                                                                                                    \
                        i = (((AR_HOST_SINT64) (a)->ar_i64.part1) << 48) |                      \
                                (((AR_HOST_SINT64) (a)->ar_i64.part2) << 32) |                  \
                                (((AR_HOST_SINT64) (a)->ar_i64.part3) << 16) |                  \
                                (((AR_HOST_SINT64) (a)->ar_i64.part4)      );                   \
                } while (0)

Definition at line 984 of file arith.internal.h.

Referenced by AR_ibits(), AR_ishft(), and AR_ishftc().

#define INT64TOCRAY64 (   c,
 
)
Value:
(                                                                               \
                (c).sign = (i).part1 >> 15,                                                             \
                (c).expo = (i).part1,                                                                           \
                (c).coeff0 = (i).part2,                                                                         \
                (c).coeff1 = (i).part3,                                                                         \
                (c).coeff2 = (i).part4 )

Definition at line 1494 of file arith.internal.h.

Referenced by ar_cflt128(), ar_cflt64(), ar_i64toc128(), and ar_itoc64().

#define INT64TOIEEE128 (   f,
 
)
Value:
(                                                                               \
                (f).sign = (i).part1 >> 15,                                                             \
                (f).expo = (i).part1,                                                                           \
                (f).coeff0 = (i).part2,                                                                         \
                (f).coeff1 = (i).part3,                                                                         \
                (f).coeff2 = (i).part4 )

Definition at line 1163 of file arith.internal.h.

Referenced by ar_iflt128().

#define INT64TOIEEE32 (   f,
 
)
Value:
(                                                                               \
                (f).zero = 0,                                                                                           \
                (f).sign = (i).part3 >> 15,                                                             \
                (f).expo = (i).part3 >> 7,                                                                      \
                (f).coeff0 = (i).part3,                                                                         \
                (f).coeff1 = (i).part4 )

Definition at line 1148 of file arith.internal.h.

Referenced by ar_iflt32().

#define INT64TOIEEE64 (   f,
 
)
Value:
(                                                                               \
                (f).sign = (i).part1 >> 15,                                                             \
                (f).expo = (i).part1 >> 4,                                                                      \
                (f).coeff0 = (i).part1,                                                                         \
                (f).coeff1 = (i).part2,                                                                         \
                (f).coeff2 = (i).part3,                                                                         \
                (f).coeff3 = (i).part4 )

Definition at line 1155 of file arith.internal.h.

Referenced by ar_c128toi64(), ar_ctoi64(), and ar_iflt64().

#define INT8_SIGN (   i)    ((i)->ar_i8.part5 & 0x80 )
#define INT8_TO_HOST_SINT64 (   i,
 
)
Value:
do {                                                                                                                    \
                        if (INT8_SIGN(a))                                                                                       \
                                i = -(((~((AR_HOST_SINT64) ((a)->ar_i8.part5))) +               \
                                           1                                                                                            \
                                          ) &                                                                                           \
                                          ~(-((AR_HOST_SINT64) 1) << 8)                                         \
                                         );                                                                                                     \
                        else                                                                                                            \
                                i = (AR_HOST_SINT64) (a)->ar_i8.part5;                                  \
                } while (0)

Definition at line 946 of file arith.internal.h.

Referenced by AR_ibits(), AR_ishft(), and AR_ishftc().

#define INT_OVERFLOWS_46_BITS (   OPND)
Value:
((((OPND).ar_i64.part1 & 0xffff) != 0xffff ||                           \
                  ((OPND).ar_i64.part2 & 0xe000) != 0xe000) &&                          \
                 (((OPND).ar_i64.part1 & 0xffff) != 0 ||                                        \
                  ((OPND).ar_i64.part2 & 0xe000) != 0))

Definition at line 727 of file arith.internal.h.

Referenced by ar_convert_to_integral(), AR_divide(), and ar_multiply_integer().

#define INT_SIGN (   t,
 
)
Value:
((AR_INT_SIZE(t) == AR_INT_SIZE_8   &&          \
                  INT8_SIGN(i))                                                 ||      \
                 (AR_INT_SIZE(t) == AR_INT_SIZE_16  &&          \
                  INT16_SIGN(i))                                                ||      \
                 (AR_INT_SIZE(t) == AR_INT_SIZE_24  &&          \
                  INT24_SIGN(i))                                                ||      \
                 (AR_INT_SIZE(t) == AR_INT_SIZE_32  &&          \
                  INT32_SIGN(i))                                                ||      \
                 (AR_INT_SIZE(t) == AR_INT_SIZE_46  &&          \
                  INT64_SIGN(i))                                                ||      \
                 (AR_INT_SIZE(t) == AR_INT_SIZE_64  &&          \
                  INT64_SIGN(i))                                                ||      \
                 (AR_INT_SIZE(t) == AR_INT_SIZE_128 &&          \
                  INT128_SIGN(i)))

Definition at line 891 of file arith.internal.h.

Referenced by ar_power().

#define IS_IEEE128_NaN (   x)    ((x)->expo > AR_IEEE128_MAX_EXPO && IS_IEEE128_NZ_COEFF(x))

Definition at line 1030 of file arith.internal.h.

Referenced by ar_ifadd128(), ar_ifcmp128(), ar_ifdiv128(), ar_ifmul128(), and ar_ifsub128().

#define IS_IEEE128_NZ_COEFF (   x)
Value:
((x)->coeff0 != 0 ||                                                                            \
                 (x)->coeff1 != 0 ||                                                                            \
                 (x)->coeff2 != 0 ||                                                                            \
                 (x)->coeff3 != 0 ||                                                                            \
                 (x)->coeff4 != 0 ||                                                                            \
                 (x)->coeff5 != 0 ||                                                                            \
                 (x)->coeff6 != 0)

Definition at line 1004 of file arith.internal.h.

Referenced by ar_i128to64(), ar_i64to128(), ar_ifadd128(), ar_ifcmp128(), ar_ifdiv128(), ar_ifix128(), ar_ifmul128(), and AR_status().

#define IS_IEEE32_NaN (   x)    ((x)->expo > AR_IEEE32_MAX_EXPO && IS_IEEE32_NZ_COEFF(x))

Definition at line 1024 of file arith.internal.h.

Referenced by ar_ifadd32(), ar_ifcmp32(), ar_ifdiv32(), ar_ifmul32(), and ar_ifsub32().

#define IS_IEEE32_NZ_COEFF (   x)
Value:
((x)->coeff0 != 0 ||                                                                            \
                 (x)->coeff1 != 0)

Definition at line 994 of file arith.internal.h.

Referenced by ar_i32to64(), ar_i64to32(), ar_ifadd32(), ar_ifcmp32(), ar_ifdiv32(), ar_ifix32(), ar_ifmul32(), and AR_status().

#define IS_IEEE64_NaN (   x)    ((x)->expo > AR_IEEE64_MAX_EXPO && IS_IEEE64_NZ_COEFF(x))

Definition at line 1027 of file arith.internal.h.

Referenced by ar_ifadd64(), ar_ifcmp64(), ar_ifdiv64(), ar_ifmul64(), and ar_ifsub64().

#define IS_IEEE64_NZ_COEFF (   x)
Value:
((x)->coeff0 != 0 ||                                                                            \
                 (x)->coeff1 != 0 ||                                                                            \
                 (x)->coeff2 != 0 ||                                                                            \
                 (x)->coeff3 != 0)

Definition at line 998 of file arith.internal.h.

Referenced by ar_i128to64(), ar_i32to64(), ar_i64to128(), ar_i64to32(), ar_ifadd64(), ar_ifcmp64(), ar_ifdiv64(), ar_ifix64(), ar_ifmul64(), ar_isqrt64(), and AR_status().

#define IS_INT128_ZERO (   i)
Value:
((i)->ar_i128.part1 == 0 &&                             \
                 (i)->ar_i128.part2 == 0 &&                             \
                 (i)->ar_i128.part3 == 0 &&                             \
                 (i)->ar_i128.part4 == 0 &&                             \
                 (i)->ar_i128.part5 == 0 &&                             \
                 (i)->ar_i128.part6 == 0 &&                             \
                 (i)->ar_i128.part7 == 0 &&                             \
                 (i)->ar_i128.part8 == 0)

Definition at line 755 of file arith.internal.h.

#define IS_INT16_UPPER_ONES (   i)
Value:
((i)->ar_i64.part1 == 0xFFFF &&                 \
                 (i)->ar_i64.part2 == 0xFFFF &&                 \
                 (i)->ar_i64.part3 == 0xFFFF)

Definition at line 863 of file arith.internal.h.

#define IS_INT16_UPPER_ZERO (   i)
Value:
((i)->ar_i64.part1 == 0 &&                              \
                 (i)->ar_i64.part2 == 0 &&                              \
                 (i)->ar_i64.part3 == 0)

Definition at line 770 of file arith.internal.h.

Referenced by AR_convert_str_to_int(), and ar_convert_to_integral().

#define IS_INT16_ZERO (   i)    ((i)->ar_i64.part4 == 0)
#define IS_INT24_UPPER_ONES (   i)
Value:
((i)->ar_i64.part1 == 0xFFFF &&                 \
                 (i)->ar_i64.part2 == xxFFFF &&                 \
                 ((i)->ar_i64.part3 & 0xFF00) == 0xFF00)

Definition at line 867 of file arith.internal.h.

#define IS_INT24_UPPER_ZERO (   i)
Value:
((i)->ar_i64.part1 == 0 &&                              \
                 (i)->ar_i64.part2 == 0 &&                              \
                 ((i)->ar_i64.part3 & 0xFF00) == 0)

Definition at line 774 of file arith.internal.h.

Referenced by AR_convert_str_to_int(), and ar_convert_to_integral().

#define IS_INT24_ZERO (   i)
Value:
(((i)->ar_i64.part3 & 0xFF) == 0 &&             \
                 (i)->ar_i64.part4 == 0)

Definition at line 740 of file arith.internal.h.

Referenced by AR_convert_str_to_int(), and AR_status().

#define IS_INT32_UPPER_ONES (   i)
Value:
((i)->ar_i64.part1 == 0xFFFF &&                 \
                 (i)->ar_i64.part2 == 0xFFFF)

Definition at line 871 of file arith.internal.h.

#define IS_INT32_UPPER_ZERO (   i)
Value:
((i)->ar_i64.part1 == 0 &&                              \
                 (i)->ar_i64.part2 == 0)

Definition at line 778 of file arith.internal.h.

Referenced by AR_convert_str_to_int(), and ar_convert_to_integral().

#define IS_INT32_ZERO (   i)
Value:
((i)->ar_i64.part3 == 0 &&                              \
                 (i)->ar_i64.part4 == 0)

Definition at line 743 of file arith.internal.h.

Referenced by ar_add_integer(), AR_convert_str_to_int(), AR_divide(), ar_divide_integer(), ar_multiply_integer(), AR_status(), and ar_subtract_integer().

#define IS_INT46_UPPER_ONES (   i)
Value:
((i)->ar_i64.part1 == 0xFFFF &&                 \
                 ((i)->ar_i64.part2 & 0xC000) == 0xC000)

Definition at line 874 of file arith.internal.h.

#define IS_INT46_UPPER_ZERO (   i)
Value:
((i)->ar_i64.part1 == 0 &&                              \
                 ((i)->ar_i64.part2 & 0xC000) == 0)

Definition at line 781 of file arith.internal.h.

Referenced by AR_convert_str_to_int().

#define IS_INT46_ZERO (   i)
Value:
(((i)->ar_i64.part2 & 0x3FFF) == 0 &&   \
                 (i)->ar_i64.part3 == 0 &&                              \
                 (i)->ar_i64.part4 == 0)

Definition at line 746 of file arith.internal.h.

Referenced by AR_convert_str_to_int().

#define IS_INT64_ZERO (   i)
Value:
((i)->ar_i64.part1 == 0 &&                              \
                 (i)->ar_i64.part2 == 0 &&                              \
                 (i)->ar_i64.part3 == 0 &&                              \
                 (i)->ar_i64.part4 == 0)

Definition at line 750 of file arith.internal.h.

Referenced by ar_add_integer(), AR_convert_int_to_str(), AR_convert_str_to_int(), ar_convert_to_integral(), AR_divide(), ar_divide_integer(), ar_multiply_integer(), ar_power(), AR_status(), and ar_subtract_integer().

#define IS_INT8_UPPER_ONES (   i)
Value:
((i)->ar_i8.part1 == 0xFFFF &&                  \
                 (i)->ar_i8.part2 == 0xFFFF &&                  \
                 (i)->ar_i8.part3 == 0xFFFF &&                  \
                 (i)->ar_i8.part4 == 0xFF)

Definition at line 858 of file arith.internal.h.

#define IS_INT8_UPPER_ZERO (   i)
Value:
((i)->ar_i8.part1 == 0 &&                               \
                 (i)->ar_i8.part2 == 0 &&                               \
                 (i)->ar_i8.part3 == 0 &&                               \
                 (i)->ar_i8.part4 == 0)

Definition at line 765 of file arith.internal.h.

Referenced by AR_convert_str_to_int(), and ar_convert_to_integral().

#define IS_INT8_ZERO (   i)    ((i)->ar_i8.part5 == 0)
#define IS_MIPS128_NaN (   x)
Value:
(((x)->expo > AR_MIPS128_MAX_EXPO || \
                  (x)->expol > AR_MIPS128_MAX_EXPO) && IS_MIPS128_NZ_COEFF(x))

Definition at line 1033 of file arith.internal.h.

Referenced by ar_ifcmp128().

#define IS_MIPS128_NZ_COEFF (   x)
Value:
((x)->coeff0  != 0 || \
                 (x)->coeff1  != 0 || \
                 (x)->coeff2  != 0 || \
                 (x)->coeff3  != 0 || \
                 (x)->coeff0l != 0 || \
                 (x)->coeff1l != 0 || \
                 (x)->coeff2l != 0 || \
                 (x)->coeff3l != 0 )

Definition at line 1013 of file arith.internal.h.

Referenced by AR_status().

#define MASKL (   bits)
Value:
((unsigned long)                                                        \
                                                         (~((~(unsigned long) 0) >> (bits))))

Definition at line 344 of file arith.internal.h.

Referenced by test_ishftc_signed().

#define MASKM (   bits,
  where 
)    ((unsigned long) (MASKR(bits) << (where)))

Definition at line 348 of file arith.internal.h.

#define NOTCRAY128 (   x)
Value:
( (x).coeff0 ^= MASKR (AR_CRAY_C0_BITS),                \
                                                (x).coeff1 ^= MASKR (AR_CRAY_C1_BITS),          \
                                                (x).coeff2 ^= MASKR (AR_CRAY_C2_BITS),          \
                                                (x).coeff3 ^= MASKR (AR_CRAY_C3_BITS),          \
                                                (x).coeff4 ^= MASKR (AR_CRAY_C4_BITS),          \
                                                (x).coeff5 ^= MASKR (AR_CRAY_C5_BITS) )

Definition at line 1505 of file arith.internal.h.

Referenced by ar_cfadd128().

#define NOTCRAY64 (   x)
Value:
( (x).coeff0 ^= MASKR (AR_CRAY_C0_BITS),                \
                                           (x).coeff1 ^= MASKR (AR_CRAY_C1_BITS),               \
                                           (x).coeff2 ^= MASKR (AR_CRAY_C2_BITS) )

Definition at line 1501 of file arith.internal.h.

Referenced by ar_cfadd64(), and ar_cfmul64().

#define NOTIEEE128 (   x)
Value:
( (x).coeff0 ^= MASKR (AR_IEEE128_C0_BITS),     \
                                                (x).coeff1 ^= MASKR (AR_IEEE128_C1_BITS),       \
                                                (x).coeff2 ^= MASKR (AR_IEEE128_C2_BITS),       \
                                                (x).coeff3 ^= MASKR (AR_IEEE128_C3_BITS),       \
                                                (x).coeff4 ^= MASKR (AR_IEEE128_C4_BITS),       \
                                                (x).coeff5 ^= MASKR (AR_IEEE128_C5_BITS),       \
                                                (x).coeff6 ^= MASKR (AR_IEEE128_C6_BITS) )

Definition at line 1179 of file arith.internal.h.

Referenced by ar_ifadd128().

#define NOTIEEE32 (   x)
Value:
( (x).coeff0 ^= MASKR (AR_IEEE32_C0_BITS),              \
                                           (x).coeff1 ^= MASKR (AR_IEEE32_C1_BITS) )

Definition at line 1171 of file arith.internal.h.

Referenced by ar_ifadd32().

#define NOTIEEE64 (   x)
Value:
( (x).coeff0 ^= MASKR (AR_IEEE64_C0_BITS),              \
                                           (x).coeff1 ^= MASKR (AR_IEEE64_C1_BITS),             \
                                           (x).coeff2 ^= MASKR (AR_IEEE64_C2_BITS),             \
                                           (x).coeff3 ^= MASKR (AR_IEEE64_C3_BITS) )

Definition at line 1174 of file arith.internal.h.

Referenced by ar_ifadd64().

#define QNaNIEEE128 (   x)
Value:
do {                                                                                                    \
                if (HOST_IS_MIPS) {                                                                                                     \
                        ZEROIEEE128M(*((AR_MIPS_128 *) x));                                                             \
                        ((AR_MIPS_128 *) x)->coeff0 = MASKR (AR_IEEE64_C0_BITS - 1);    \
                        ((AR_MIPS_128 *) x)->coeff1 = MASKR (AR_IEEE64_C1_BITS    );    \
                        ((AR_MIPS_128 *) x)->coeff2 = MASKR (AR_IEEE64_C2_BITS    );    \
                        ((AR_MIPS_128 *) x)->coeff3 = MASKR (AR_IEEE64_C3_BITS    );    \
                        ((AR_MIPS_128 *) x)->expo = AR_IEEE64_MAX_EXPO + 1;                             \
                }                                                                                                                                       \
                else {                                                                                                                          \
                        ZEROIEEE128(*x);                                                                                                \
                        NOTIEEE128(*x);                                                                                                 \
                        (x)->expo = AR_IEEE128_MAX_EXPO + 1;                                                    \
                }                                                                                                                                       \
} while (0)

Definition at line 1406 of file arith.internal.h.

Referenced by ar_ctoi128(), ar_ifadd128(), ar_ifdiv128(), and ar_ifmul128().

#define QNaNIEEE32 (   x)
Value:
do {                                                                            \
                ZEROIEEE32(*x);                                                                                 \
                NOTIEEE32(*x);                                                                                  \
                if (HOST_IS_MIPS) {                                                                             \
                        (x)->coeff0 ^= (1 << (AR_IEEE32_C0_BITS - 1));          \
                }                                                                                                               \
                (x)->expo = AR_IEEE32_MAX_EXPO + 1;                                             \
} while (0)

Definition at line 1388 of file arith.internal.h.

Referenced by ar_ifadd32(), ar_ifdiv32(), and ar_ifmul32().

#define QNaNIEEE64 (   x)
Value:
do {                                                                            \
                ZEROIEEE64(*x);                                                                                 \
                NOTIEEE64(*x);                                                                                  \
                if (HOST_IS_MIPS) {                                                                             \
                        (x)->coeff0 ^= (1 << (AR_IEEE64_C0_BITS - 1));          \
                }                                                                                                               \
                (x)->expo = AR_IEEE64_MAX_EXPO + 1;                                             \
} while (0)

Definition at line 1397 of file arith.internal.h.

Referenced by ar_c128toi64(), ar_ctoi64(), ar_ifadd64(), ar_ifdiv64(), and ar_ifmul64().

#define SHLEFTCRAY128 (   x)
Value:
do {                                                                            \
                (x).coeff0 = ((x).coeff0 << 1) |                                                        \
                                         ((x).coeff1 >> (AR_CRAY_C1_BITS - 1));                 \
                (x).coeff1 = ((x).coeff1 << 1) |                                                        \
                                         ((x).coeff2 >> (AR_CRAY_C2_BITS - 1));                 \
                (x).coeff2 = ((x).coeff2 << 1) |                                                        \
                                         ((x).coeff3 >> (AR_CRAY_C3_BITS - 1));                 \
                (x).coeff3 = ((x).coeff3 << 1) |                                                        \
                                         ((x).coeff4 >> (AR_CRAY_C4_BITS - 1));                 \
                (x).coeff4 = ((x).coeff4 << 1) |                                                        \
                                         ((x).coeff5 >> (AR_CRAY_C5_BITS - 1));                 \
                (x).coeff5 <<= 1;                                                                                       \
} while (0)

Definition at line 1527 of file arith.internal.h.

Referenced by ar_cfadd128(), ar_cfdiv128(), ar_cfix128(), ar_cflt128(), and ar_cfmul128().

#define SHLEFTCRAY64 (   x)
Value:
do {                                                                            \
                (x).coeff0 = ((x).coeff0 << 1) |                                                        \
                                         ((x).coeff1 >> (AR_CRAY_C1_BITS - 1));                 \
                (x).coeff1 = ((x).coeff1 << 1) |                                                        \
                                         ((x).coeff2 >> (AR_CRAY_C2_BITS - 1));                 \
                (x).coeff2 <<= 1;                                                                                       \
} while (0)

Definition at line 1518 of file arith.internal.h.

Referenced by ar_c1frecip(), ar_cfadd64(), ar_cflt64(), and ar_cfmul64().

#define SHLEFTIEEE128 (   x)
Value:
do {                                                                            \
                (x).coeff0 = ((x).coeff0 << 1) |                                                        \
                                         ((x).coeff1 >> (AR_IEEE128_C1_BITS - 1));              \
                (x).coeff1 = ((x).coeff1 << 1) |                                                        \
                                         ((x).coeff2 >> (AR_IEEE128_C2_BITS - 1));              \
                (x).coeff2 = ((x).coeff2 << 1) |                                                        \
                                         ((x).coeff3 >> (AR_IEEE128_C3_BITS - 1));              \
                (x).coeff3 = ((x).coeff3 << 1) |                                                        \
                                         ((x).coeff4 >> (AR_IEEE128_C4_BITS - 1));              \
                (x).coeff4 = ((x).coeff4 << 1) |                                                        \
                                         ((x).coeff5 >> (AR_IEEE128_C5_BITS - 1));              \
                (x).coeff5 = ((x).coeff5 << 1) |                                                        \
                                         ((x).coeff6 >> (AR_IEEE128_C6_BITS - 1));              \
                (x).coeff6 <<= 1;                                                                                       \
} while (0)

Definition at line 1204 of file arith.internal.h.

Referenced by ar_i128norm(), and ar_ifdiv128().

#define SHLEFTIEEE128_2 (   x,
 
)
Value:
do {                                                                    \
                (x).coeff0 = ((x).coeff0 << 1) |                                                        \
                                         ((x).coeff1 >> (AR_IEEE128_C1_BITS - 1));              \
                (x).coeff1 = ((x).coeff1 << 1) |                                                        \
                                         ((x).coeff2 >> (AR_IEEE128_C2_BITS - 1));              \
                (x).coeff2 = ((x).coeff2 << 1) |                                                        \
                                         ((x).coeff3 >> (AR_IEEE128_C3_BITS - 1));              \
                (x).coeff3 = ((x).coeff3 << 1) |                                                        \
                                         ((x).coeff4 >> (AR_IEEE128_C4_BITS - 1));              \
                (x).coeff4 = ((x).coeff4 << 1) |                                                        \
                                         ((x).coeff5 >> (AR_IEEE128_C5_BITS - 1));              \
                (x).coeff5 = ((x).coeff5 << 1) |                                                        \
                                         ((x).coeff6 >> (AR_IEEE128_C6_BITS - 1));              \
                (x).coeff6 = ((x).coeff6 << 1) |                                                        \
                                         ((y).coeff0 >> (AR_IEEE128_C0_BITS - 1));              \
                (y).coeff0 = ((y).coeff0 << 1) |                                                        \
                                         ((y).coeff1 >> (AR_IEEE128_C1_BITS - 1));              \
                (y).coeff1 = ((y).coeff1 << 1) |                                                        \
                                         ((y).coeff2 >> (AR_IEEE128_C2_BITS - 1));              \
                (y).coeff2 = ((y).coeff2 << 1) |                                                        \
                                         ((y).coeff3 >> (AR_IEEE128_C3_BITS - 1));              \
                (y).coeff3 = ((y).coeff3 << 1) |                                                        \
                                         ((y).coeff4 >> (AR_IEEE128_C4_BITS - 1));              \
                (y).coeff4 = ((y).coeff4 << 1) |                                                        \
                                         ((y).coeff5 >> (AR_IEEE128_C5_BITS - 1));              \
                (y).coeff5 = ((y).coeff5 << 1) |                                                        \
                                         ((y).coeff6 >> (AR_IEEE128_C6_BITS - 1));              \
                (y).coeff6 <<= 1;                                                                                       \
} while (0)

Definition at line 1249 of file arith.internal.h.

Referenced by ar_ifmul128().

#define SHLEFTIEEE32 (   x)
Value:
do {                                                                            \
                (x).coeff0 = ((x).coeff0 << 1) |                                                        \
                                         ((x).coeff1 >> (AR_IEEE32_C1_BITS - 1));               \
                (x).coeff1 <<= 1;                                                                                       \
} while (0)

Definition at line 1188 of file arith.internal.h.

Referenced by ar_i32norm(), and ar_ifdiv32().

#define SHLEFTIEEE32_2 (   x,
 
)
Value:
do {                                                                    \
                (x).coeff0 = ((x).coeff0 << 1) |                                                        \
                                         ((x).coeff1 >> (AR_IEEE32_C1_BITS - 1));               \
                (x).coeff1 = ((x).coeff1 << 1) |                                                        \
                                         ((y).coeff0 >> (AR_IEEE32_C0_BITS - 1));               \
                (y).coeff0 = ((y).coeff0 << 1) |                                                        \
                                         ((y).coeff1 >> (AR_IEEE32_C1_BITS - 1));               \
                (y).coeff1 <<= 1;                                                                                       \
} while (0)

Definition at line 1221 of file arith.internal.h.

Referenced by ar_ifmul32().

#define SHLEFTIEEE64 (   x)
Value:
do {                                                                            \
                (x).coeff0 = ((x).coeff0 << 1) |                                                        \
                                         ((x).coeff1 >> (AR_IEEE64_C1_BITS - 1));               \
                (x).coeff1 = ((x).coeff1 << 1) |                                                        \
                                         ((x).coeff2 >> (AR_IEEE64_C2_BITS - 1));               \
                (x).coeff2 = ((x).coeff2 << 1) |                                                        \
                                         ((x).coeff3 >> (AR_IEEE64_C3_BITS - 1));               \
                (x).coeff3 <<= 1;                                                                                       \
} while (0)

Definition at line 1194 of file arith.internal.h.

Referenced by ar_c128toi64(), ar_i64norm(), and ar_ifdiv64().

#define SHLEFTIEEE64_2 (   x,
 
)
Value:
do {                                                                    \
                (x).coeff0 = ((x).coeff0 << 1) |                                                        \
                                         ((x).coeff1 >> (AR_IEEE64_C1_BITS - 1));               \
                (x).coeff1 = ((x).coeff1 << 1) |                                                        \
                                         ((x).coeff2 >> (AR_IEEE64_C2_BITS - 1));               \
                (x).coeff2 = ((x).coeff2 << 1) |                                                        \
                                         ((x).coeff3 >> (AR_IEEE64_C3_BITS - 1));               \
                (x).coeff3 = ((x).coeff3 << 1) |                                                        \
                                         ((y).coeff0 >> (AR_IEEE64_C0_BITS - 1));               \
                (y).coeff0 = ((y).coeff0 << 1) |                                                        \
                                         ((y).coeff1 >> (AR_IEEE64_C1_BITS - 1));               \
                (y).coeff1 = ((y).coeff1 << 1) |                                                        \
                                         ((y).coeff2 >> (AR_IEEE64_C2_BITS - 1));               \
                (y).coeff2 = ((y).coeff2 << 1) |                                                        \
                                         ((y).coeff3 >> (AR_IEEE64_C3_BITS - 1));               \
                (y).coeff3 <<= 1;                                                                                       \
} while (0)

Definition at line 1231 of file arith.internal.h.

Referenced by ar_ifmul64().

#define SHRIGHTCRAY128 (   x)
Value:
do {                                                                            \
                (x).coeff5 = ((x).coeff5 >> 1) |                                                        \
                                         ((x).coeff4 << (AR_CRAY_C5_BITS - 1));                 \
                (x).coeff4 = ((x).coeff4 >> 1) |                                                        \
                                         ((x).coeff3 << (AR_CRAY_C4_BITS - 1));                 \
                (x).coeff3 = ((x).coeff3 >> 1) |                                                        \
                                         ((x).coeff2 << (AR_CRAY_C3_BITS - 1));                 \
                (x).coeff2 = ((x).coeff2 >> 1) |                                                        \
                                         ((x).coeff1 << (AR_CRAY_C2_BITS - 1));                 \
                (x).coeff1 = ((x).coeff1 >> 1) |                                                        \
                                         ((x).coeff0 << (AR_CRAY_C1_BITS - 1));                 \
                (x).coeff0 >>= 1;                                                                                       \
} while (0)

Definition at line 1556 of file arith.internal.h.

Referenced by ar_cfadd128(), ar_cfdiv128(), ar_cfmul128(), ar_i64toc128(), and ar_itoc128().

#define SHRIGHTCRAY64 (   x)
Value:
do {                                                                            \
                (x).coeff2 = ((x).coeff2 >> 1) |                                                        \
                                         ((x).coeff1 << (AR_CRAY_C2_BITS - 1));                 \
                (x).coeff1 = ((x).coeff1 >> 1) |                                                        \
                                         ((x).coeff0 << (AR_CRAY_C1_BITS - 1));                 \
                (x).coeff0 >>= 1;                                                                                       \
} while (0)

Definition at line 1547 of file arith.internal.h.

Referenced by ar_c1frecip(), ar_cfadd64(), ar_cfmul64(), and ar_itoc64().

#define SHRIGHTIEEE128 (   x)
Value:
do {                                                                            \
                (x).coeff6 = ((x).coeff6 >> 1) |                                                        \
                                         ((x).coeff5 << (AR_IEEE128_C6_BITS - 1));              \
                (x).coeff5 = ((x).coeff5 >> 1) |                                                        \
                                         ((x).coeff4 << (AR_IEEE128_C5_BITS - 1));              \
                (x).coeff4 = ((x).coeff4 >> 1) |                                                        \
                                         ((x).coeff3 << (AR_IEEE128_C4_BITS - 1));              \
                (x).coeff3 = ((x).coeff3 >> 1) |                                                        \
                                         ((x).coeff2 << (AR_IEEE128_C3_BITS - 1));              \
                (x).coeff2 = ((x).coeff2 >> 1) |                                                        \
                                         ((x).coeff1 << (AR_IEEE128_C2_BITS - 1));              \
                (x).coeff1 = ((x).coeff1 >> 1) |                                                        \
                                         ((x).coeff0 << (AR_IEEE128_C1_BITS - 1));              \
                (x).coeff0 >>= 1;                                                                                       \
} while (0)

Definition at line 1296 of file arith.internal.h.

Referenced by ar_i128norm(), ar_ifadd128(), and ar_ifmul128().

#define SHRIGHTIEEE128_2 (   x,
 
)
Value:
do {                                                                    \
                (y).coeff6 = ((y).coeff6 >> 1) |                                                        \
                                         ((y).coeff5 << (AR_IEEE128_C6_BITS - 1));              \
                (y).coeff5 = ((y).coeff5 >> 1) |                                                        \
                                         ((y).coeff4 << (AR_IEEE128_C5_BITS - 1));              \
                (y).coeff4 = ((y).coeff4 >> 1) |                                                        \
                                         ((y).coeff3 << (AR_IEEE128_C4_BITS - 1));              \
                (y).coeff3 = ((y).coeff3 >> 1) |                                                        \
                                         ((y).coeff2 << (AR_IEEE128_C3_BITS - 1));              \
                (y).coeff2 = ((y).coeff2 >> 1) |                                                        \
                                         ((y).coeff1 << (AR_IEEE128_C2_BITS - 1));              \
                (y).coeff1 = ((y).coeff1 >> 1) |                                                        \
                                         ((y).coeff0 << (AR_IEEE128_C1_BITS - 1));              \
                (y).coeff0 = ((y).coeff0 >> 1) |                                                        \
                                         ((x).coeff6 << (AR_IEEE128_C0_BITS - 1));              \
                (x).coeff6 = ((x).coeff6 >> 1) |                                                        \
                                         ((x).coeff5 << (AR_IEEE128_C6_BITS - 1));              \
                (x).coeff5 = ((x).coeff5 >> 1) |                                                        \
                                         ((x).coeff4 << (AR_IEEE128_C5_BITS - 1));              \
                (x).coeff4 = ((x).coeff4 >> 1) |                                                        \
                                         ((x).coeff3 << (AR_IEEE128_C4_BITS - 1));              \
                (x).coeff3 = ((x).coeff3 >> 1) |                                                        \
                                         ((x).coeff2 << (AR_IEEE128_C3_BITS - 1));              \
                (x).coeff2 = ((x).coeff2 >> 1) |                                                        \
                                         ((x).coeff1 << (AR_IEEE128_C2_BITS - 1));              \
                (x).coeff1 = ((x).coeff1 >> 1) |                                                        \
                                         ((x).coeff0 << (AR_IEEE128_C1_BITS - 1));              \
                (x).coeff0 >>= 1;                                                                                       \
} while (0)

Definition at line 1341 of file arith.internal.h.

Referenced by ar_ifdiv128().

#define SHRIGHTIEEE32 (   x)
Value:
do {                                                                            \
                (x).coeff1 = ((x).coeff1 >> 1) |                                                        \
                                         ((x).coeff0 << (AR_IEEE32_C1_BITS - 1));               \
                (x).coeff0 >>= 1;                                                                                       \
} while (0)

Definition at line 1280 of file arith.internal.h.

Referenced by ar_i32norm(), ar_ifadd32(), and ar_ifmul32().

#define SHRIGHTIEEE32_2 (   x,
 
)
Value:
do {                                                                    \
                (y).coeff1 = ((y).coeff1 >> 1) |                                                        \
                                         ((y).coeff0 << (AR_IEEE32_C1_BITS - 1));               \
                (y).coeff0 = ((y).coeff0 >> 1) |                                                        \
                                         ((x).coeff1 << (AR_IEEE32_C0_BITS - 1));               \
                (x).coeff1 = ((x).coeff1 >> 1) |                                                        \
                                         ((x).coeff0 << (AR_IEEE32_C1_BITS - 1));               \
                (x).coeff0 >>= 1;                                                                                       \
} while (0)

Definition at line 1313 of file arith.internal.h.

Referenced by ar_ifdiv32().

#define SHRIGHTIEEE64 (   x)
Value:
do {                                                                            \
                (x).coeff3 = ((x).coeff3 >> 1) |                                                        \
                                         ((x).coeff2 << (AR_IEEE64_C3_BITS - 1));               \
                (x).coeff2 = ((x).coeff2 >> 1) |                                                        \
                                         ((x).coeff1 << (AR_IEEE64_C2_BITS - 1));               \
                (x).coeff1 = ((x).coeff1 >> 1) |                                                        \
                                         ((x).coeff0 << (AR_IEEE64_C1_BITS - 1));               \
                (x).coeff0 >>= 1;                                                                                       \
} while (0)

Definition at line 1286 of file arith.internal.h.

Referenced by ar_i64norm(), ar_ifadd64(), and ar_ifmul64().

#define SHRIGHTIEEE64_2 (   x,
 
)
Value:
do {                                                                    \
                (y).coeff3 = ((y).coeff3 >> 1) |                                                        \
                                         ((y).coeff2 << (AR_IEEE64_C3_BITS - 1));               \
                (y).coeff2 = ((y).coeff2 >> 1) |                                                        \
                                         ((y).coeff1 << (AR_IEEE64_C2_BITS - 1));               \
                (y).coeff1 = ((y).coeff1 >> 1) |                                                        \
                                         ((y).coeff0 << (AR_IEEE64_C1_BITS - 1));               \
                (y).coeff0 = ((y).coeff0 >> 1) |                                                        \
                                         ((x).coeff3 << (AR_IEEE64_C0_BITS - 1));               \
                (x).coeff3 = ((x).coeff3 >> 1) |                                                        \
                                         ((x).coeff2 << (AR_IEEE64_C3_BITS - 1));               \
                (x).coeff2 = ((x).coeff2 >> 1) |                                                        \
                                         ((x).coeff1 << (AR_IEEE64_C2_BITS - 1));               \
                (x).coeff1 = ((x).coeff1 >> 1) |                                                        \
                                         ((x).coeff0 << (AR_IEEE64_C1_BITS - 1));               \
                (x).coeff0 >>= 1;                                                                                       \
} while (0)

Definition at line 1323 of file arith.internal.h.

Referenced by ar_ifdiv64().

#define ZERO_INT128 (   i)
Value:
(i)->ar_i128.part1 =                                    \
                        (i)->ar_i128.part2 =                            \
                        (i)->ar_i128.part3 =                            \
                        (i)->ar_i128.part4 =                            \
                        (i)->ar_i128.part5 =                            \
                        (i)->ar_i128.part6 =                            \
                        (i)->ar_i128.part7 =                            \
                        (i)->ar_i128.part8 = 0

Definition at line 802 of file arith.internal.h.

#define ZERO_INT128_ALL (   i)
Value:
(i)->ar_i128.part1 =                                    \
                        (i)->ar_i128.part2 =                            \
                        (i)->ar_i128.part3 =                            \
                        (i)->ar_i128.part4 =                            \
                        (i)->ar_i128.part5 =                            \
                        (i)->ar_i128.part6 =                            \
                        (i)->ar_i128.part7 =                            \
                        (i)->ar_i128.part8 = 0

Definition at line 848 of file arith.internal.h.

#define ZERO_INT16 (   i)    (i)->ar_i64.part4 = 0
#define ZERO_INT16_ALL (   i)
Value:
(i)->ar_i64.part1 =                                             \
                        (i)->ar_i64.part2 =                                     \
                        (i)->ar_i64.part3 =                                     \
                        (i)->ar_i64.part4 = 0

Definition at line 837 of file arith.internal.h.

Referenced by ar_divide_integer().

#define ZERO_INT24 (   i)
Value:
do {                                                                    \
                                (i)->ar_i64.part3 &= 0xFF00;    \
                                (i)->ar_i64.part4 = 0;                  \
                } while(0)

Definition at line 789 of file arith.internal.h.

#define ZERO_INT24_ALL (   i)    ZERO_INT16_ALL(i)

Definition at line 842 of file arith.internal.h.

#define ZERO_INT24_UPPER (   i)
Value:
do {                                                                    \
                                (i)->ar_i64.part1 =                             \
                                        (i)->ar_i64.part2 = 0;          \
                                (i)->ar_i64.part3 &= 0xFF;              \
                } while(0)

Definition at line 821 of file arith.internal.h.

Referenced by ar_clear_unused_bits().

#define ZERO_INT32 (   i)
Value:
(i)->ar_i64.part3 =                                             \
                        (i)->ar_i64.part4 = 0

Definition at line 794 of file arith.internal.h.

Referenced by ar_divide_integer(), AR_dshiftl(), AR_dshiftr(), AR_mask(), AR_shiftl(), and AR_shiftr().

#define ZERO_INT32_ALL (   i)    ZERO_INT16_ALL(i)

Definition at line 844 of file arith.internal.h.

Referenced by ar_divide_integer().

#define ZERO_INT32_UPPER (   i)
#define ZERO_INT64 (   i)
Value:
(i)->ar_i64.part1 =                                             \
                        (i)->ar_i64.part2 =                                     \
                        (i)->ar_i64.part3 =                                     \
                        (i)->ar_i64.part4 = 0

Definition at line 797 of file arith.internal.h.

Referenced by AR_convert_str_to_int(), ar_divide_integer(), AR_dshiftl(), AR_dshiftr(), AR_ishft(), AR_mask(), AR_shiftl(), and AR_shiftr().

#define ZERO_INT64_ALL (   i)    ZERO_INT16_ALL(i)

Definition at line 846 of file arith.internal.h.

Referenced by ar_divide_integer().

#define ZERO_INT8 (   i)    (i)->ar_i8.part5 = 0
#define ZERO_INT8_ALL (   i)
Value:
(i)->ar_i8.part1 =                                              \
                        (i)->ar_i8.part2 =                                      \
                        (i)->ar_i8.part3 =                                      \
                        (i)->ar_i8.part4 =                                      \
                        (i)->ar_i8.part5 = 0

Definition at line 831 of file arith.internal.h.

Referenced by ar_divide_integer().

#define ZERO_INT8_UPPER (   i)
Value:
(i)->ar_i8.part1 =                                              \
                        (i)->ar_i8.part2 =                                      \
                        (i)->ar_i8.part3 =                                      \
                        (i)->ar_i8.part4 = 0

Definition at line 812 of file arith.internal.h.

Referenced by AR_abs(), ar_add_integer(), ar_clear_unused_bits(), ar_dblshift(), ar_divide_integer(), ar_multiply_integer(), ar_subtract_integer(), test_ibits_signed(), and test_ishftc_signed().

#define ZEROCRAY128 (   x)
Value:
((x).sign = (x).expo = (x).coeff0 = (x).coeff1 = (x).coeff2 =   \
                                        (x).zero = (x).coeff3 = (x).coeff4 = (x).coeff5 = 0)

Definition at line 1573 of file arith.internal.h.

Referenced by ar_cfadd128(), ar_cflt128(), ar_cfmul128(), ar_convert_to_complex(), ar_i64toc128(), ar_itoc128(), AR_one(), and ar_set_invalid_result().

#define ZEROCRAY64 (   x)    ((x).sign = (x).expo = (x).coeff0 = (x).coeff1 = (x).coeff2 = 0)
#define ZEROIEEE128 (   x)
Value:
((x).sign = (x).expo = (x).coeff0 =                     \
                                                (x).coeff1 = (x).coeff2 = (x).coeff3 =          \
                                                (x).coeff4 = (x).coeff5 = (x).coeff6 = 0)

Definition at line 1378 of file arith.internal.h.

Referenced by ar_convert_to_complex(), ar_ctoi128(), ar_cvt_str_to_float(), ar_i64to128(), ar_ifdiv128(), ar_ifmul128(), ar_itoc128(), AR_one(), and ar_set_invalid_result().

#define ZEROIEEE128M (   x)
Value:
((x).sign = (x).expo = (x).coeff0 =                             \
                                                 (x).coeff1 = (x).coeff2 = (x).coeff3 =                 \
                                                 (x).signl = (x).expol = (x).coeff0l =                  \
                                                 (x).coeff1l = (x).coeff2l = (x).coeff3l = 0)

Definition at line 1382 of file arith.internal.h.

#define ZEROIEEE32 (   x)
Value:
((x).zero = (x).sign = (x).expo = (x).coeff0 =\
                                           (x).coeff1 = 0)

Definition at line 1372 of file arith.internal.h.

Referenced by ar_cvt_str_to_float(), ar_i64to32(), ar_ifdiv32(), ar_ifmul32(), AR_one(), and ar_set_invalid_result().

#define ZEROIEEE64 (   x)
Value:
((x).sign = (x).expo = (x).coeff0 =                     \
                                           (x).coeff1 = (x).coeff2 = (x).coeff3 = 0)

Definition at line 1375 of file arith.internal.h.

Referenced by ar_c128toi64(), ar_convert_to_complex(), ar_ctoi64(), ar_cvt_str_to_float(), ar_i128to64(), ar_i32to64(), ar_i64toc128(), ar_ifdiv64(), ar_ifmul64(), ar_itoc64(), AR_one(), and ar_set_invalid_result().


Enumeration Type Documentation

Enumerator:
AR_Arch_Unknown 
AR_Arch_PVP 
AR_Arch_PVP_IEEE 
AR_Arch_T3D 
AR_Arch_T3E 
AR_Arch_SPARC 
AR_Arch_MIPS 

Definition at line 683 of file arith.internal.h.

Enumerator:
Comment 
Note 
Caution 
Warning 
Error 
Internal 
Vector_Info 
Scalar_Info 
Table 
Ansi 
Logfile_Warning 
Inline_Info 
Info 
Tasking_Info 
Limit 
Logfile_Error 
Logfile_Summary 
F77_ANSI 
Unknown 

Definition at line 354 of file arith.internal.h.


Function Documentation

int ar_cfdiv64 ( AR_CRAY_64 ,
const AR_CRAY_64 ,
const AR_CRAY_64 ,
int   
)

Definition at line 272 of file cray_fadd.c.

References ar_cfadd128(), and AR_CRAY_128::sign.

Referenced by ar_cfcmp128(), AR_subtract(), and main().

Here is the call graph for this function:

int ar_cfsub64 ( AR_CRAY_64 ,
const AR_CRAY_64 ,
const AR_CRAY_64  
)

Definition at line 138 of file cray_fadd.c.

References ar_cfadd64(), and AR_CRAY_64::sign.

Referenced by ar_cfcmp64(), ar_cfdiv128(), ar_sim(), AR_subtract(), and main().

Here is the call graph for this function:

Definition at line 43 of file cvt.c.

References ar_cfix128(), ar_cfix64(), AR_CLASS, AR_CLASS_FLOAT, AR_CLASS_INT, AR_CLASS_POINTER, ar_clear_unused_bits(), AR_Complex_Cray1_128, AR_Complex_Cray1_64, AR_Complex_Cray1_64_F, AR_Complex_IEEE_DN_128, AR_Complex_IEEE_DN_32, AR_Complex_IEEE_DN_64, AR_Complex_IEEE_NR_128, AR_Complex_IEEE_NR_32, AR_Complex_IEEE_NR_64, AR_Complex_IEEE_UP_128, AR_Complex_IEEE_UP_32, AR_Complex_IEEE_UP_64, AR_Complex_IEEE_ZE_128, AR_Complex_IEEE_ZE_32, AR_Complex_IEEE_ZE_64, ar_data::ar_cplx_f128, ar_data::ar_cplx_f64, ar_data::ar_cplx_ieee128, ar_data::ar_cplx_ieee32, ar_data::ar_cplx_ieee64, ar_data::ar_f128, ar_data::ar_f64, AR_Float_Cray1_128, AR_Float_Cray1_64, AR_Float_Cray1_64_F, AR_Float_IEEE_DN_128, AR_Float_IEEE_DN_32, AR_Float_IEEE_DN_64, AR_Float_IEEE_NR_128, AR_Float_IEEE_NR_32, AR_Float_IEEE_NR_64, AR_Float_IEEE_UP_128, AR_Float_IEEE_UP_32, AR_Float_IEEE_UP_64, AR_Float_IEEE_ZE_128, AR_Float_IEEE_ZE_32, AR_Float_IEEE_ZE_64, ar_data::ar_i64, ar_data::ar_i8, ar_data::ar_ieee128, ar_data::ar_ieee32, ar_data::ar_ieee64, ar_ifix128(), ar_ifix32(), ar_ifix64(), AR_Int_16_S, AR_Int_16_U, AR_Int_24_S, AR_Int_24_U, AR_Int_32_S, AR_Int_32_U, AR_Int_46_S, AR_Int_64_S, AR_Int_8_S, AR_Int_8_U, AR_INT_SIZE, AR_INT_SIZE_16, AR_INT_SIZE_24, AR_INT_SIZE_32, AR_INT_SIZE_46, AR_INT_SIZE_64, AR_INT_SIZE_8, AR_SIGNED, AR_SIGNEDNESS, AR_STAT_INVALID_TYPE, AR_STAT_NEGATIVE, AR_STAT_OK, AR_STAT_OVERFLOW, AR_STAT_SEMIVALID, AR_STAT_ZERO, AR_UNSIGNED, CPLX32_REAL_TO_IEEE32, INT16_SIGN, INT24_SIGN, INT32_SIGN, INT64_SIGN, INT8_SIGN, INT_OVERFLOWS_46_BITS, IS_INT16_UPPER_ZERO, IS_INT24_UPPER_ZERO, IS_INT32_UPPER_ZERO, IS_INT64_ZERO, IS_INT8_UPPER_ZERO, AR_INT_8_64::part1, AR_INT_64::part1, AR_INT_8_64::part2, AR_INT_64::part2, AR_INT_8_64::part3, AR_INT_64::part3, AR_INT_8_64::part4, AR_INT_64::part4, AR_INT_8_64::part5, AR_CPLX_IEEE_64::real, AR_CPLX_IEEE_128::real, AR_CPLX_CRAY_64::real, AR_CPLX_CRAY_128::real, and ROUND_MODE.

Referenced by AR_add_ptr_int(), AR_convert(), AR_convert_int_to_str(), ar_convert_to_float(), ar_convert_to_pointer(), ar_get_function_value(), ar_pass_arg_value(), and AR_subtract_ptr_ptr().

Here is the call graph for this function:

void ar_CRAY_64_trunc ( AR_CRAY_64 opnd)

Definition at line 908 of file miscmath.c.

References ar_internal_error(), ar_state_info::ar_truncate_bits, AR_CRAY_64::coeff0, AR_CRAY_64::coeff1, and AR_CRAY_64::coeff2.

Referenced by AR_add(), ar_cfdiv64(), ar_multiply_float(), and AR_subtract().

Here is the call graph for this function:

int ar_crnd128 ( AR_CRAY_128 ,
const AR_CRAY_128  
)

Definition at line 1372 of file convert.c.

References ar_cfadd128(), AR_CRAY_128::coeff0, AR_CRAY_128::coeff1, AR_CRAY_128::coeff2, AR_CRAY_128::coeff3, AR_CRAY_128::coeff4, and AR_CRAY_128::coeff5.

Referenced by AR_round_int_div().

Here is the call graph for this function:

int ar_crnd64 ( AR_CRAY_64 ,
const AR_CRAY_64  
)

Definition at line 1349 of file convert.c.

References ar_cfadd64(), AR_CRAY_64::coeff0, AR_CRAY_64::coeff1, and AR_CRAY_64::coeff2.

Referenced by AR_round_int_div().

Here is the call graph for this function:

Definition at line 1031 of file miscmath.c.

References AR_Arch_MIPS, AR_Arch_PVP, AR_Arch_PVP_IEEE, AR_Arch_SPARC, AR_Arch_T3D, AR_Arch_T3E, AR_Arch_Unknown, ar_internal_error(), CHECKMC(), GETPMC(), and initialized.

Here is the call graph for this function:

int ar_iflt64 ( AR_IEEE_64 ,
const AR_INT_64 ,
int  ,
int   
)

Definition at line 512 of file convert.c.

References ar_i64norm(), AR_IEEE64_COEFF_BITS, AR_IEEE64_EXPO_BIAS, AR_IEEE64_EXPO_BITS, COPY64, INT64TOIEEE64, NEG64, AR_INT_64::part1, AR_IEEE_64::sign, SIGNBIT, and val.

Referenced by ar_convert_to_float(), ar_sim(), and main().

Here is the call graph for this function:

int ar_ifsub128 ( AR_IEEE_128 ,
const AR_IEEE_128 ,
const AR_IEEE_128 ,
int   
)

Definition at line 580 of file ieee_fadd.c.

References ar_ifadd128(), AR_STAT_UNDEFINED, IS_IEEE128_NaN, and AR_IEEE_128::sign.

Referenced by AR_subtract(), and main().

Here is the call graph for this function:

int ar_ifsub32 ( AR_IEEE_32 ,
const AR_IEEE_32 ,
const AR_IEEE_32 ,
int   
)

Definition at line 194 of file ieee_fadd.c.

References ar_ifadd32(), AR_STAT_UNDEFINED, IS_IEEE32_NaN, and AR_IEEE_32::sign.

Referenced by AR_subtract(), and main().

Here is the call graph for this function:

int ar_ifsub64 ( AR_IEEE_64 ,
const AR_IEEE_64 ,
const AR_IEEE_64 ,
int   
)

Definition at line 368 of file ieee_fadd.c.

References ar_ifadd64(), AR_STAT_UNDEFINED, IS_IEEE64_NaN, and AR_IEEE_64::sign.

Referenced by ar_isqrt64(), ar_sim(), AR_subtract(), and main().

Here is the call graph for this function:

void PRINTMSG ( int  pseudo_line_num,
int  msg_number,
enum message_types  msg_severity,
int  column_num,
  ... 
)

Definition at line 41 of file PRINTMSG_dummy.c.

References Error, exit(), fprintf(), and Internal.

Referenced by add_common_blk_objects_to_list(), align_bit_length(), all_intrinsic(), alloc_obj_opr_handler(), allocate_stmt_semantics(), allocated_intrinsic(), and_opr_handler(), ar_internal_error(), ar_sim(), arith_if_stmt_semantics(), array_construct_semantics(), array_dim_resolution(), assign_new_idxs_after_input(), assign_offset(), assign_stmt_semantics(), assignment_stmt_semantics(), associated_intrinsic(), atan2_intrinsic(), attr_aux_var_error(), attr_init_semantics(), attr_link_resolution(), attr_semantics(), bd_var_error(), bin_array_syntax_check(), blk_desc_str(), blk_match_err(), block_err_string(), bound_semantics(), bounds_cdir_handler(), buffer_stmt_semantics(), build_fwd_ref_entry(), build_loop_tbl(), calculate_iteration_count(), call_list_semantics(), case_stmt_semantics(), case_value_range_semantics(), cast_opnd_to_type_idx(), cast_to_type_idx(), cast_typeless_constant(), change_section_to_this_element(), change_subscript(), char_intrinsic(), char_len_resolution(), character_to_character(), check_actual_and_dummy(), check_and_allocate_common_storage(), check_arg_for_co_array(), check_array_bounds(), check_asg_semantics(), check_call_for_global_def(), check_cmic_blk_branches(), check_defines_compatibility(), check_do_open_mp_nesting(), check_elemental_conformance(), check_enums_for_change(), check_for_dup_derived_type_lbl(), check_for_elementals(), check_for_legal_define(), check_forall_triplet_for_index(), check_global_pgm_unit(), check_loop_bottom_nesting(), check_mp_dir_nesting(), check_ordered_open_mp_nesting(), check_section_open_mp_context(), check_stat_variable(), check_substring_bounds(), check_target_and_value(), check_where_conformance(), chk_for_unlabeled_stmt(), cif_begin_scope_rec(), cif_data_type(), Cif_Error(), cif_flush_include_recs(), cif_message_rec(), cif_stmt_type_rec(), ck_lbl_construct_name(), classify_line(), clock_intrinsic(), cmp_ref_trees(), cmplx_intrinsic(), collapse_interface_blk(), compare_darg_to_actual_arg(), compare_duplicate_interface_bodies(), compare_entry_to_func_rslt(), compare_func_result(), complete_intrinsic_definition(), compress_tbls(), conform_check(), const_init_semantics(), constant_value_semantics(), continue_stmt_semantics(), convert_const(), convert_to_string(), copy_sbtree(), copy_text_for_expansion(), copy_to_gl_subtree(), create_alloc_descriptor(), create_array_constructor_asg(), create_bd_ntry_for_const(), create_constructor_constant(), create_io_call_descriptor(), create_kwd_text(), create_mod_info_file(), create_namelist_descriptor(), create_runtime_array_constructor(), create_scalar_type_tbl(), create_struct_argchck_tbl(), create_struct_constructor_asg(), create_tmp_asg(), create_tmp_DV_asg(), cshift_intrinsic(), cval_to_f_int(), cvmgp_intrinsic(), cvrt_exp_to_pdg(), cvrt_str_to_cn(), data_repeat_semantics(), data_stmt_semantics(), dealloc_obj_opr_handler(), deallocate_stmt_semantics(), decl_semantics(), default_init_semantics(), determine_tmp_size(), dim_intrinsic(), dim_reshape_pass_driver(), directive_region_error(), directive_stmt_semantics(), do_cmic_blk_checks(), do_loop_expr_semantics(), do_read_namelist_semantics(), do_stmt_semantics(), doall_cmic_semantics(), doparallel_cmic_semantics(), dope_vector_setup(), dprod_intrinsic(), dshiftl_intrinsic(), dump_func_trace_info(), dump_mem_trace_info(), else_stmt_semantics(), emit_format_msg(), encode_decode_stmt_semantics(), end_blk_mp_semantics(), end_contains(), end_do_blk(), end_do_parallel_blk(), end_forall_semantics(), end_if_blk(), end_interface_blk(), end_internal_err(), end_internal_proc(), end_labeled_do(), end_module_proc(), end_parallel_blk(), end_pdo_blk(), end_SGI_parallel_blk(), end_type_blk(), end_where_semantics(), entry_stmt_semantics(), eoshift_intrinsic(), eq_opr_handler(), equivalence_semantics(), expand_imp_do(), expand_io_list(), final_arg_work(), final_attr_semantics(), final_equivalence_semantics(), find_line_and_col(), find_prog_unit_tbl(), finish_cdir_id(), fixed_get_keyword(), fixed_get_stmt(), flatten_function_call(), fnd_semantic_err(), fold_aggragate_expression(), fold_all_subscripts(), fold_cc_expr(), fold_f_abort_(), fold_relationals(), folder_driver(), forall_semantics(), format_line_n_col(), free_get_keyword(), free_get_stmt(), ga_var_error(), gen_allocatable_ptr_ptee(), gen_arg_type_descriptor(), gen_array_element_init(), gen_assumed_shape_copy(), gen_attr_and_IR_for_lbl(), gen_bd_entry(), gen_debug_lbl_stmt(), gen_dv_access_low_bound(), gen_dv_stride_mult(), gen_forall_if_mask(), gen_forall_max_expr(), gen_forall_tmp_bd_entry(), gen_if_stmt(), gen_il(), gen_init_stmt(), gen_internal_dope_vector(), gen_internal_lbl(), gen_ir(), gen_loop_end_ir(), gen_runtime_bounds(), gen_runtime_conformance(), gen_runtime_substring(), gen_sh(), gen_static_dv_whole_def(), gen_whole_subscript(), generic_spec_semantics(), get_arg_type(), get_basic_type(), get_char_len(), get_debug_directive(), get_directive(), get_dummy_arg_type(), get_format_str(), get_label(), get_machine_chars(), get_micro_directive(), get_open_mp_directive(), get_openad_directive(), get_operand_digit(), get_operand_dot(), get_operand_letter(), get_operand_quote(), get_operator(), get_operator_dot(), get_program_str(), get_sgi_directive(), get_token(), get_type_desc(), global_name_semantics(), good_data_imp_do_expr(), goto_stmt_semantics(), has_been_reprivatized(), iand_intrinsic(), ibits_intrinsic(), ibset_intrinsic(), ichar_intrinsic(), idate_intrinsic(), ieee_real_intrinsic(), if_stmt_semantics(), illegal_stmt_type(), imp_do_metamorphed(), implicit_use_semantics(), init_cif(), init_compiler(), init_const_tbl(), init_debug_file(), init_src_input(), init_sytb(), init_whole_array(), inline_processing(), inquire_stmt_semantics(), interpret_array_construct_opr(), interpret_binary_intrinsic_opr(), interpret_binary_opr(), interpret_concat_opr(), interpret_constructor(), interpret_csmg_opr(), interpret_cvmgt_opr(), interpret_implied_do(), interpret_index_opr(), interpret_max_min_opr(), interpret_ref(), interpret_struct_construct_opr(), io_ctl_list_semantics(), io_list_semantics(), ir_list_var_error(), is_attr_referenced_in_bound(), ishft_intrinsic(), ishftc_intrinsic(), iss_blk_stk_err(), issue_attr_blk_err(), issue_attr_err(), issue_deferred_msgs(), issue_undefined_type_msg(), just_find_dope_and_rank(), kind_to_linear_type(), kludge_input_conversion(), kludge_output_conversion(), label_ref_semantics(), lbound_intrinsic(), leadz_intrinsic(), lg_opr_handler(), linearize_list_for_equiv(), loc_intrinsic(), look_for_real_div(), loop_end_processing(), loop_top_is_perfectly_nested(), lower_ptr_asg(), lt_opr_handler(), main(), make_base_assumed_size(), make_base_subtree(), make_new_bd_entries(), matmul_intrinsic(), max_intrinsic(), merge_access(), merge_allocatable(), merge_automatic(), merge_dimension(), merge_external(), merge_intent(), merge_intrinsic(), merge_optional(), merge_parameter(), merge_pointer(), merge_save(), merge_target(), merge_type(), merge_volatile(), mergee_intrinsic(), minus_opr_handler(), minval_intrinsic(), mod_intrinsic(), modulo_intrinsic(), mp_directive_semantics(), mult_opr_handler(), mvbits_intrinsic(), namelist_resolution(), namelist_static_dv_whole_def(), needs_bounds_check(), no_semantics_routine(), not_intrinsic(), not_opr_handler(), not_visible_semantics(), ntr_abnormal_ieee_const(), ntr_const_tbl(), ntr_ref_in_global_tbl(), ntr_stor_blk_tbl(), ntr_sym_tbl(), ntr_unshared_const_tbl(), null_intrinsic(), nullify_stmt_semantics(), num_images_intrinsic(), object_semantics(), omp_set_lock_intrinsic(), open_arith_file(), open_intrinsics_file(), open_module_file(), open_mp_directive_semantics(), optimize_whole_array_init(), outmoded_if_stmt_semantics(), output_mod_info_file(), output_msg(), pack_intrinsic(), parallel_cmic_semantics(), parse_access_stmt(), parse_actual_arg_spec(), parse_allocate_stmt(), parse_array_spec(), parse_assert_directive(), parse_assign_stmt(), parse_assignment_stmt(), parse_attr_spec(), parse_attrs(), parse_automatic_stmt(), parse_auxiliary_dir(), parse_backspace_stmt(), parse_bad_stmt(), parse_block_stmt(), parse_buffer_stmt(), parse_cache_align_name_list(), parse_cache_bypass_dir(), parse_case_stmt(), parse_cc_line(), parse_cc_operand(), parse_close_stmt(), parse_common_dirs(), parse_common_stmt(), parse_cpnt_dcl_stmt(), parse_cycle_stmt(), parse_data_imp_do(), parse_data_stmt(), parse_deallocate_stmt(), parse_decode_stmt(), parse_deref(), parse_derived_type_stmt(), parse_dir_directives(), parse_directive_stmt(), parse_distribution_dir(), parse_do_stmt(), parse_doall_cmic(), parse_dollar_directives(), parse_doparallel_cmic(), parse_dummy_args(), parse_else_stmt(), parse_encode_stmt(), parse_end_stmt(), parse_endfile_stmt(), parse_entry_stmt(), parse_equivalence_stmt(), parse_err_flush(), parse_exit_stmt(), parse_expr(), parse_fill_align_symbol(), parse_forall(), parse_format_stmt(), parse_generic_spec(), parse_goto_stmt(), parse_id_directive(), parse_if_stmt(), parse_imp_do(), parse_implicit_stmt(), parse_initializer(), parse_inline_always_never(), parse_inquire_stmt(), parse_int_spec_expr(), parse_io_control_list(), parse_kind_selector(), parse_length_selector(), parse_level_1(), parse_level_4(), parse_lhs(), parse_mic_directives(), parse_module_stmt(), parse_mp_directive(), parse_mult_opnd(), parse_name_dir(), parse_namelist_stmt(), parse_open_mp_clauses(), parse_open_mp_directives(), parse_open_stmt(), parse_openad_directives(), parse_par_directives(), parse_parallel_cmic(), parse_pe_array_spec(), parse_permutation_mic(), parse_pointer_stmt(), parse_prefetch_ref(), parse_prefix_spec(), parse_print_stmt(), parse_prog_unit(), parse_program_stmt(), parse_read_stmt(), parse_redistribute_dir(), parse_return_stmt(), parse_rewind_stmt(), parse_save_stmt(), parse_sequence_stmt(), parse_sgi_dir_inline(), parse_slash_common_dirs(), parse_star_dir_directives(), parse_star_directives(), parse_stmt_func_stmt(), parse_stop_pause_stmt(), parse_type_dcl_stmt(), parse_type_spec(), parse_typed_function_stmt(), parse_use_stmt(), parse_var_common_list(), parse_var_name_list(), parse_volatile_stmt(), parse_where_stmt(), parse_write_stmt(), pe_array_dim_resolution(), pgm_unit_semantics(), plus_opr_handler(), pop_and_err_blk_stk(), power_o_two(), power_opr_handler(), prefetch_ref_semantics(), present_intrinsic(), print_all_text(), print_attr_name(), print_buffered_messages(), print_id_line(), print_list(), print_stmt_semantics(), PRINTMSG(), process_all_initialized_cpnts(), process_blockable_dir(), process_cpnt_inits(), process_data_imp_do_target(), process_deferred_functions(), process_deferred_io_list(), process_interchange_dir(), process_variable_size_func(), ptr_assign_from_ptr(), random_number_intrinsic(), random_seed_intrinsic(), read_in_module_tbl(), read_line(), read_module_tbl_header(), read_stmt_semantics(), read_sytb_from_module_file(), remove_do_parallel_blk(), remove_pdo_blk(), rename_only_semantics(), repeat_intrinsic(), reset_src_input(), reshape_array_semantics(), reshape_intrinsic(), resolve_ext_opr(), resolve_fwd_lbl_refs(), resolve_used_modules(), return_stmt_semantics(), retype_attr(), section_semantics(), select_stmt_semantics(), selected_int_kind_intrinsic(), selected_real_kind_intrinsic(), send_attr_ntry(), send_non_standard_aligned_type(), set_function_rslt(), set_global_value_variables(), set_ieee_exception_intrinsic(), set_mod_link_tbl_for_cn(), set_mp_task_flags(), set_shape_for_deferred_funcs(), set_up_exp_desc(), shift_intrinsic(), shift_nxt_line(), short_circuit_high_level_if(), sign_intrinsic(), sin_intrinsic(), size_intrinsic(), size_offset_binary_calc(), sm_unit_in_bits(), spread_intrinsic(), srch_ar_file_for_module_tbl(), srch_for_calls(), srch_for_module_tbl(), srch_kwd_name(), srch_name_tbl(), start_new_prog_unit(), start_new_subpgm(), stmt_expansion_control_end(), stmt_func_call_opr_handler(), stmt_func_semantics(), stmt_level_semantics(), stop_pause_stmt_semantics(), stor_bit_size_of(), storage_blk_resolution(), struct_construct_opr_handler(), struct_opr_handler(), subscript_opr_handler(), substring_opr_handler(), system_clock_intrinsic(), sytb_var_error(), transfer_intrinsic(), transform_char_sequence_ref(), transform_cri_ch_ptr(), translate_distant_dv_ref(), translate_distant_ref(), translate_distant_ref2(), translate_dv_component(), transpose_intrinsic(), trim_intrinsic(), triplet_opr_handler(), type_init_semantics(), ubound_intrinsic(), unknown_intrinsic(), unpack_intrinsic(), update_components(), update_intrinsic(), uplus_opr_handler(), use_stmt_semantics(), validate_char_len(), validate_kind(), verify_interface(), verify_semantic_tbls(), vv_subscript_semantics(), wait_send_semantics(), where_stmt_semantics(), and write_stmt_semantics().

Here is the call graph for this function:


Variable Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines