osprey/arith/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.

Data Types

type  AR_INT_8_64
type  AR_INT_64
type  AR_INT_128
type  AR_IEEE_32
type  AR_IEEE_64
type  AR_IEEE_128
type  AR_MIPS_128
type  AR_CPLX_IEEE_32
type  AR_CPLX_IEEE_64
type  AR_CPLX_IEEE_128
type  AR_CPLX_MIPS_128
type  AR_CRAY_64
type  AR_CRAY_128
type  AR_CPLX_CRAY_64
type  AR_CPLX_CRAY_128
type  ar_data
type  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
#define AR_IEEE32_ROUND_BITS   3
#define AR_IEEE64_ROUND_BITS   3
#define AR_IEEE128_ROUND_BITS   3
#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
#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   (__sparc__ && __svr4__)
#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/Subroutines

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)
int ar_ifcmp64 (const AR_IEEE_64 *a, const AR_IEEE_64 *b)
void ar_clear_unused_bits (ar_data *opnd, const AR_TYPE *opndtype)
int ar_index (ar_data *result, const AR_TYPE *resulttype, const char *str1, long len1, const char *str2, long len2, long backward)
int ar_scan (ar_data *result, const AR_TYPE *resulttype, const char *str1, long len1, const char *str2, long len2, long backward)
int ar_verify (ar_data *result, const AR_TYPE *resulttype, const char *str1, long len1, const char *str2, long len2, long backward)
int ar_reshape (void *result, const void *source, const void *shape, const void *pad, const void *order)
int ar_transfer (void *result, const void *source, const void *mold, long *length)
int ar_modulo (ar_data *result, const AR_TYPE *resulttype, const ar_data *opnd1, const AR_TYPE *opnd1type, const ar_data *opnd2, const AR_TYPE *opnd2type)
int ar_selected_real_kind (ar_data *result, const AR_TYPE *resulttype, const ar_data *opnd1, const AR_TYPE *opnd1type, const ar_data *opnd2, const AR_TYPE *opnd2type)
int ar_sqrt (ar_data *result, const AR_TYPE *resulttype, const ar_data *opnd, const AR_TYPE *opndtype)
int ar_log (ar_data *result, const AR_TYPE *resulttype, const ar_data *opnd, const AR_TYPE *opndtype)
int ar_exp (ar_data *result, const AR_TYPE *resulttype, const ar_data *opnd, const AR_TYPE *opndtype)
int ar_cabs (ar_data *result, const AR_TYPE *resulttype, const ar_data *opnd, const AR_TYPE *opndtype)
int ar_power (ar_data *result, const AR_TYPE *resulttype, const ar_data *base, const AR_TYPE *basetype, const ar_data *power, const AR_TYPE *powertype)
int ar_convert_str_to_float (ar_data *result, const AR_TYPE *resulttype, const char *str)
int ar_divide_complex (ar_data *result, const AR_TYPE *resulttype, const ar_data *opnd1, const AR_TYPE *opnd1type, const ar_data *opnd2, const AR_TYPE *opnd2type)
int ar_cvt_str_to_float (ar_data *result, const AR_TYPE *resulttype, const char *str)
void ar_internal_error (int msgnum, char *file, int line)
void ar_set_invalid_result (ar_data *result, const AR_TYPE *resulttype)
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   (__sparc__ && __svr4__)

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

#define ADDCRAY128 ( sum,
carry,
a,
b   ) 

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 1490 of file arith.internal.h.

Referenced by ar_cfadd128(), and ar_cfmul128().

#define ADDCRAY64 ( sum,
carry,
a,
b   ) 

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 1481 of file arith.internal.h.

Referenced by ar_cfadd64(), and ar_cfmul64().

#define ADDIEEE128 ( sum,
carry,
a,
b   ) 

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 1112 of file arith.internal.h.

Referenced by ar_ifadd128(), and ar_ifmul128().

#define ADDIEEE32 ( sum,
carry,
a,
b   ) 

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 1094 of file arith.internal.h.

Referenced by ar_ifadd32(), and ar_ifmul32().

#define ADDIEEE64 ( sum,
carry,
a,
b   ) 

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 1101 of file arith.internal.h.

Referenced by ar_ifadd64(), and ar_ifmul64().

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

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

#define AR_CRAY128_COEFF_BITS   96

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

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

#define AR_CRAY64_COEFF_BITS   48

#define AR_CRAY_C0_BITS   16

#define AR_CRAY_C1_BITS   16

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

Referenced by ar_cfmul64().

#define AR_CRAY_C2_BITS   16

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

#define AR_CRAY_C3_BITS   16

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

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

#define AR_CRAY_C4_BITS   16

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

#define AR_CRAY_C5_BITS   16

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

#define AR_CRAY_EXPO_BIAS   040001

#define AR_CRAY_EXPO_BITS   15

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

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

#define AR_CRAY_MAX_EXPO   057777

#define AR_CRAY_MIN_EXPO   020000

#define AR_CRAY_ZERO_BITS   16

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

#define AR_FLOAT_FORMAT ( type   )     (type & 0x20)

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

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

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

#define AR_FLOAT_SIZE ( type   )     (type & 0x6)

#define AR_IEEE128_C0_BITS   16

Definition at line 152 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 153 of file arith.internal.h.

Referenced by ar_ifdiv128().

#define AR_IEEE128_C2_BITS   16

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

Referenced by ar_ifdiv128().

#define AR_IEEE128_C3_BITS   16

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

Referenced by ar_ifdiv128().

#define AR_IEEE128_C4_BITS   16

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

Referenced by ar_ifdiv128().

#define AR_IEEE128_C5_BITS   16

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

Referenced by ar_ifdiv128().

#define AR_IEEE128_C6_BITS   16

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

Referenced by ar_ifdiv128().

#define AR_IEEE128_COEFF_BITS   112

#define AR_IEEE128_EXPO_BIAS   037777

#define AR_IEEE128_EXPO_BITS   15

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

Referenced by ar_iflt128().

#define AR_IEEE128_MAX_EXPO   077776

#define AR_IEEE128_MIN_EXPO   000000

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

Referenced by ar_i128norm().

#define AR_IEEE128_ROUND_BITS   3

Definition at line 177 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 142 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 143 of file arith.internal.h.

Referenced by ar_ifdiv32().

#define AR_IEEE32_COEFF_BITS   23

Definition at line 163 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 141 of file arith.internal.h.

Referenced by ar_iflt32().

#define AR_IEEE32_MAX_EXPO   0376

#define AR_IEEE32_MIN_EXPO   0000

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

#define AR_IEEE32_ROUND_BITS   3

Definition at line 175 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 140 of file arith.internal.h.

#define AR_IEEE64_C0_BITS   4

#define AR_IEEE64_C1_BITS   16

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

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

#define AR_IEEE64_C2_BITS   16

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

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

#define AR_IEEE64_C3_BITS   16

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

Referenced by ar_ifdiv64().

#define AR_IEEE64_COEFF_BITS   52

#define AR_IEEE64_EXPO_BIAS   01777

#define AR_IEEE64_EXPO_BITS   11

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

Referenced by ar_iflt64().

#define AR_IEEE64_MAX_EXPO   03776

#define AR_IEEE64_MIN_EXPO   00000

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

Referenced by ar_i32norm(), and ar_i64norm().

#define AR_IEEE64_ROUND_BITS   3

#define AR_INT_SIZE ( type   )     (type & 0x3c)

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

#define AR_MIPS128_EXPO_BIAS   AR_IEEE64_EXPO_BIAS

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

Referenced by AR_one().

#define AR_MIPS128_MAX_EXPO   AR_IEEE64_MAX_EXPO

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

Referenced by AR_status().

#define AR_MIPS128_MIN_EXPO   AR_IEEE64_MIN_EXPO

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

#define AR_POINTER_FORMAT ( type   )     (type & 0x3c)

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

Definition at line 122 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 124 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 990 of file arith.internal.h.

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

Definition at line 965 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 967 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 972 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 977 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 983 of file arith.internal.h.

Referenced by AR_abs().

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

Definition at line 963 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 1130 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 1137 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 1513 of file arith.internal.h.

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

#define CRAY64TO128 ( d,
 ) 

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 1505 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 1520 of file arith.internal.h.

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

#define HOST_IS_CRAY_FLOAT   (HOST_IS_PVP)

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

#define HOST_IS_IEEE_FLOAT

Value:

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

Referenced by AR_convert_float_to_str().

#define HOST_IS_MIPS   (ar_host() == AR_Arch_MIPS )

#define HOST_IS_MPP   (HOST_IS_T3D || HOST_IS_T3E)

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

#define HOST_IS_PVP   (ar_host() == AR_Arch_PVP )

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

#define HOST_IS_PVP_IEEE   (ar_host() == AR_Arch_PVP_IEEE)

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

#define HOST_IS_SPARC   (ar_host() == AR_Arch_SPARC )

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

#define HOST_IS_T3D   (ar_host() == AR_Arch_T3D )

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

#define HOST_IS_T3E   (ar_host() == AR_Arch_T3E )

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

#define HOST_IS_UNKNOWN   (ar_host() == AR_Arch_Unknown )

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

#define IEEE32_TO_CPLX32_IMAG ( c,
 ) 

Value:

(               \
    (c).isign = (s).sign,                   \
    (c).iexpo = (s).expo,                   \
    (c).icoeff0 = (s).coeff0,                 \
    (c).icoeff1 = (s).coeff1 )

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

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

#define IEEE32_TO_CPLX32_REAL ( c,
 ) 

Value:

(               \
    (c).rsign = (s).sign,                   \
    (c).rexpo = (s).expo,                   \
    (c).rcoeff0 = (s).coeff0,                 \
    (c).rcoeff1 = (s).coeff1 )

Definition at line 1144 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 1156 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 1161 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 1535 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 1526 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 1186 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 1168 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 1175 of file arith.internal.h.

Referenced by ar_i64norm(), and ar_ifadd64().

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

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

#define INT16_SIGN ( i   )     ((i)->ar_i64.part4 & 0x8000)

#define INT16_TO_HOST_SINT64 ( i,
a   ) 

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 1013 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 938 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,
a   ) 

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 1024 of file arith.internal.h.

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

#define INT64_SIGN ( i   )     ((i)->ar_i64.part1 & 0x8000)

#define INT64_TO_HOST_SINT64 ( i,
a   ) 

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 1040 of file arith.internal.h.

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

#define INT64TOCRAY64 ( c,
i   ) 

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 1550 of file arith.internal.h.

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

#define INT64TOIEEE128 ( f,
i   ) 

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 1219 of file arith.internal.h.

Referenced by ar_iflt128().

#define INT64TOIEEE32 ( f,
i   ) 

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 1204 of file arith.internal.h.

Referenced by ar_iflt32().

#define INT64TOIEEE64 ( f,
i   ) 

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 1211 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,
a   ) 

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 1002 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 783 of file arith.internal.h.

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

#define INT_SIGN ( t,
i   ) 

Value:

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

Referenced by ar_power().

#define IS_ERROR_STATUS (  )     (((s) & AR_ERROR_STATUS) != 0)

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

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

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

#define IS_IEEE128_NZ_COEFF (  ) 

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 1060 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)->expo > AR_IEEE32_MAX_EXPO && IS_IEEE32_NZ_COEFF(x))

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

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

#define IS_IEEE32_NZ_COEFF (  ) 

Value:

((x)->coeff0 != 0 ||                    \
     (x)->coeff1 != 0)

Definition at line 1050 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)->expo > AR_IEEE64_MAX_EXPO && IS_IEEE64_NZ_COEFF(x))

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

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

#define IS_IEEE64_NZ_COEFF (  ) 

Value:

((x)->coeff0 != 0 ||                    \
     (x)->coeff1 != 0 ||                    \
     (x)->coeff2 != 0 ||                    \
     (x)->coeff3 != 0)

Definition at line 1054 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 811 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 919 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 826 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 923 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 830 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 796 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 927 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 834 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 799 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 930 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 837 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 802 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 806 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 914 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 821 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 (  ) 

Value:

(((x)->expo > AR_MIPS128_MAX_EXPO || \
      (x)->expol > AR_MIPS128_MAX_EXPO) && IS_MIPS128_NZ_COEFF(x))

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

Referenced by ar_ifcmp128().

#define IS_MIPS128_NZ_COEFF (  ) 

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 1069 of file arith.internal.h.

Referenced by AR_status().

#define MASKL ( bits   ) 

Value:

((unsigned long)              \
               (~((~(unsigned long) 0) >> (bits))))

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

Referenced by test_ishftc_signed().

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

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

#define MASKR ( bits   ) 

#define NOTCRAY128 (  ) 

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 1561 of file arith.internal.h.

Referenced by ar_cfadd128().

#define NOTCRAY64 (  ) 

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 1557 of file arith.internal.h.

Referenced by ar_cfadd64(), and ar_cfmul64().

#define NOTIEEE128 (  ) 

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 1235 of file arith.internal.h.

Referenced by ar_ifadd128().

#define NOTIEEE32 (  ) 

Value:

( (x).coeff0 ^= MASKR (AR_IEEE32_C0_BITS),    \
             (x).coeff1 ^= MASKR (AR_IEEE32_C1_BITS) )

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

Referenced by ar_ifadd32().

#define NOTIEEE64 (  ) 

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 1230 of file arith.internal.h.

Referenced by ar_ifadd64().

#define QNaNIEEE128 (  ) 

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 1462 of file arith.internal.h.

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

#define QNaNIEEE32 (  ) 

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 1444 of file arith.internal.h.

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

#define QNaNIEEE64 (  ) 

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 1453 of file arith.internal.h.

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

#define ROUND_MODE (  )     ((t >> 3) & 3)

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

Referenced by ar_pass_arg_address(), ar_pass_arg_value(), and print_insn_mmix().

#define SHLEFTCRAY128 (  ) 

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 1583 of file arith.internal.h.

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

#define SHLEFTCRAY64 (  ) 

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 1574 of file arith.internal.h.

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

#define SHLEFTIEEE128 (  ) 

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 1260 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 1305 of file arith.internal.h.

Referenced by ar_ifmul128().

#define SHLEFTIEEE32 (  ) 

Value:

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

Definition at line 1244 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 1277 of file arith.internal.h.

Referenced by ar_ifmul32().

#define SHLEFTIEEE64 (  ) 

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 1250 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 1287 of file arith.internal.h.

Referenced by ar_ifmul64().

#define SHRIGHTCRAY128 (  ) 

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 1612 of file arith.internal.h.

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

#define SHRIGHTCRAY64 (  ) 

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 1603 of file arith.internal.h.

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

#define SHRIGHTIEEE128 (  ) 

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 1352 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 1397 of file arith.internal.h.

Referenced by ar_ifdiv128().

#define SHRIGHTIEEE32 (  ) 

Value:

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

Definition at line 1336 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 1369 of file arith.internal.h.

Referenced by ar_ifdiv32().

#define SHRIGHTIEEE64 (  ) 

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 1342 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 1379 of file arith.internal.h.

Referenced by ar_ifdiv64().

#define UNROUNDED_TYPE (  )     (t &~ 0x18)

#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 858 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 904 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 893 of file arith.internal.h.

Referenced by ar_divide_integer().

#define ZERO_INT16_UPPER ( i   ) 

#define ZERO_INT24 ( i   ) 

Value:

do {                  \
        (i)->ar_i64.part3 &= 0xFF00;  \
        (i)->ar_i64.part4 = 0;      \
    } while(0)

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

#define ZERO_INT24_ALL ( i   )     ZERO_INT16_ALL(i)

Definition at line 898 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 877 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 850 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 900 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 853 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 902 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 887 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 868 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 (  ) 

Value:

((x).sign = (x).expo = (x).coeff0 = (x).coeff1 = (x).coeff2 = \
          (x).zero = (x).coeff3 = (x).coeff4 = (x).coeff5 = 0)

Definition at line 1629 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).sign = (x).expo = (x).coeff0 = (x).coeff1 = (x).coeff2 = 0)

#define ZEROIEEE128 (  ) 

Value:

((x).sign = (x).expo = (x).coeff0 =     \
            (x).coeff1 = (x).coeff2 = (x).coeff3 =    \
            (x).coeff4 = (x).coeff5 = (x).coeff6 = 0)

Definition at line 1434 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 (  ) 

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 1438 of file arith.internal.h.

#define ZEROIEEE32 (  ) 

Value:

((x).zero = (x).sign = (x).expo = (x).coeff0 =\
             (x).coeff1 = 0)

Definition at line 1428 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 (  ) 

Value:

((x).sign = (x).expo = (x).coeff0 =     \
             (x).coeff1 = (x).coeff2 = (x).coeff3 = 0)

Definition at line 1431 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 744 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 356 of file arith.internal.h.


Function Documentation

int ar_add_integer ( ar_data ,
const AR_TYPE ,
const ar_data ,
const AR_TYPE ,
const ar_data ,
const AR_TYPE  
)

int ar_c128to64 ( AR_CRAY_64 ,
const AR_CRAY_128  
)

int ar_c128toi64 ( AR_IEEE_64 ,
const AR_CRAY_128  
)

int ar_c1frecip ( AR_CRAY_64 ,
const AR_CRAY_64  
)

int ar_c64to128 ( AR_CRAY_128 ,
const AR_CRAY_64  
)

int ar_cabs ( ar_data result,
const AR_TYPE resulttype,
const ar_data opnd,
const AR_TYPE opndtype 
)

int ar_cfadd128 ( AR_CRAY_128 ,
const AR_CRAY_128 ,
const AR_CRAY_128  
)

int ar_cfadd64 ( AR_CRAY_64 ,
const AR_CRAY_64 ,
const AR_CRAY_64  
)

int ar_cfdiv128 ( AR_CRAY_128 ,
const AR_CRAY_128 ,
const AR_CRAY_128 ,
int   
)

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

int ar_cfix128 ( AR_INT_64 ,
const AR_CRAY_128 ,
int   
)

int ar_cfix64 ( AR_INT_64 ,
const AR_CRAY_64 ,
int   
)

int ar_cflt128 ( AR_CRAY_128 ,
const AR_INT_64 ,
int   
)

int ar_cflt64 ( AR_CRAY_64 ,
const AR_INT_64 ,
int   
)

int ar_cfmul128 ( AR_CRAY_128 ,
const AR_CRAY_128 ,
const AR_CRAY_128 ,
int   
)

int ar_cfmul64 ( AR_CRAY_64 ,
const AR_CRAY_64 ,
const AR_CRAY_64 ,
int   
)

int ar_cfsub128 ( AR_CRAY_128 ,
const AR_CRAY_128 ,
const AR_CRAY_128  
)

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().

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().

void ar_clear_unused_bits ( ar_data opnd,
const AR_TYPE opndtype 
)

int ar_compose_complex ( ar_data ,
AR_TYPE ,
const ar_data ,
const ar_data ,
const AR_TYPE  
)

int ar_convert_str_to_float ( ar_data result,
const AR_TYPE resulttype,
const char *  str 
)

int ar_convert_to_integral ( ar_data ,
const AR_TYPE ,
const ar_data ,
const AR_TYPE  
)

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_64::part1, AR_INT_8_64::part1, AR_INT_64::part2, AR_INT_8_64::part2, AR_INT_64::part3, AR_INT_8_64::part3, AR_INT_64::part4, AR_INT_8_64::part4, AR_INT_8_64::part5, AR_CPLX_IEEE_64::real, AR_CPLX_IEEE_128::real, AR_CPLX_CRAY_128::real, AR_CPLX_CRAY_64::real, and x0.

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().

void ar_CRAY_64_trunc ( AR_CRAY_64 opnd  ) 

int ar_crnd128 ( AR_CRAY_128 ,
const AR_CRAY_128  
)

int ar_crnd64 ( AR_CRAY_64 ,
const AR_CRAY_64  
)

Definition at line 1353 of file convert.c.

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

Referenced by AR_round_int_div().

int ar_ctoi128 ( AR_IEEE_128 ,
const AR_CRAY_128  
)

int ar_ctoi64 ( AR_IEEE_64 ,
const AR_CRAY_64  
)

int ar_cvt_str_to_float ( ar_data result,
const AR_TYPE resulttype,
const char *  str 
)

void ar_dblshift ( ar_data ,
const AR_TYPE resulttype,
const ar_data ,
const ar_data ,
int   
)

int ar_decompose_complex ( ar_data ,
ar_data ,
AR_TYPE ,
const ar_data ,
const AR_TYPE  
)

int ar_divide_complex ( ar_data result,
const AR_TYPE resulttype,
const ar_data opnd1,
const AR_TYPE opnd1type,
const ar_data opnd2,
const AR_TYPE opnd2type 
)

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_exp ( ar_data result,
const AR_TYPE resulttype,
const ar_data opnd,
const AR_TYPE opndtype 
)

AR_ARCHITECTURE ar_host ( void   ) 

int ar_i128norm ( signed  int,
unsigned  long,
unsigned  long,
AR_IEEE_128 ,
int   
)

int ar_i128to64 ( AR_IEEE_64 ,
const AR_IEEE_128 ,
const   int 
)

int ar_i32norm ( signed  int,
unsigned  long,
unsigned  long,
AR_IEEE_32 ,
int   
)

int ar_i32to64 ( AR_IEEE_64 ,
const AR_IEEE_32  
)

int ar_i64norm ( signed  int,
unsigned  long,
unsigned  long,
AR_IEEE_64 ,
int   
)

int ar_i64to128 ( AR_IEEE_128 ,
const AR_IEEE_64  
)

int ar_i64to32 ( AR_IEEE_32 ,
const AR_IEEE_64 ,
const   int 
)

int ar_i64toc128 ( AR_CRAY_128 ,
const AR_IEEE_64  
)

int ar_ifadd128 ( AR_IEEE_128 ,
const AR_IEEE_128 ,
const AR_IEEE_128 ,
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_ifcmp64 ( const AR_IEEE_64 a,
const AR_IEEE_64 b 
)

int ar_ifdiv128 ( 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_ifix128 ( AR_INT_64 ,
const AR_IEEE_128 ,
int  ,
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_iflt128 ( AR_IEEE_128 ,
const AR_INT_64 ,
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_ifmul128 ( AR_IEEE_128 ,
const AR_IEEE_128 ,
const AR_IEEE_128 ,
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_ifsub128 ( AR_IEEE_128 ,
const AR_IEEE_128 ,
const AR_IEEE_128 ,
int   
)

Definition at line 584 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().

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

Definition at line 198 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().

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

Definition at line 372 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().

int ar_index ( ar_data result,
const AR_TYPE resulttype,
const char *  str1,
long  len1,
const char *  str2,
long  len2,
long  backward 
)

void ar_internal_error ( int  msgnum,
char *  file,
int  line 
)

int ar_isqrt64 ( AR_IEEE_64 ,
const AR_IEEE_64 ,
int   
)

int ar_itoc128 ( AR_CRAY_128 ,
const AR_IEEE_128 ,
int   
)

int ar_itoc64 ( AR_CRAY_64 ,
const AR_IEEE_64 ,
int   
)

int ar_log ( ar_data result,
const AR_TYPE resulttype,
const ar_data opnd,
const AR_TYPE opndtype 
)

int ar_modulo ( ar_data result,
const AR_TYPE resulttype,
const ar_data opnd1,
const AR_TYPE opnd1type,
const ar_data opnd2,
const AR_TYPE opnd2type 
)

int ar_multiply_integer ( ar_data ,
const AR_TYPE ,
const ar_data ,
const 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_negate_integer ( ar_data ,
const AR_TYPE ,
const ar_data ,
const AR_TYPE  
)

int ar_power ( ar_data result,
const AR_TYPE resulttype,
const ar_data base,
const AR_TYPE basetype,
const ar_data power,
const AR_TYPE powertype 
)

int ar_reshape ( void result,
const void source,
const void shape,
const void pad,
const void order 
)

int ar_scan ( ar_data result,
const AR_TYPE resulttype,
const char *  str1,
long  len1,
const char *  str2,
long  len2,
long  backward 
)

int ar_selected_real_kind ( ar_data result,
const AR_TYPE resulttype,
const ar_data opnd1,
const AR_TYPE opnd1type,
const ar_data opnd2,
const AR_TYPE opnd2type 
)

void ar_set_invalid_result ( ar_data result,
const AR_TYPE resulttype 
)

int ar_sqrt ( ar_data result,
const AR_TYPE resulttype,
const ar_data opnd,
const AR_TYPE opndtype 
)

int ar_subtract_integer ( ar_data ,
const AR_TYPE ,
int *  ,
const ar_data ,
const AR_TYPE ,
const ar_data ,
const AR_TYPE  
)

int ar_transfer ( void result,
const void source,
const void mold,
long length 
)

int ar_verify ( ar_data result,
const AR_TYPE resulttype,
const char *  str1,
long  len1,
const char *  str2,
long  len2,
long  backward 
)

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(), Internal, va_end, va_start, and vfprintf().

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_init_semantics(), attr_link_resolution(), attr_semantics(), 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_allocatable_pointer_optional(), 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_for_dup_derived_type_lbl(), check_for_elementals(), check_forall_triplet_for_index(), check_global_pgm_unit(), check_interoperable_constraints(), check_interoperable_data(), check_interoperable_derived_type(), check_interoperable_pgm_unit(), check_interoperable_procedure(), check_interoperable_type(), 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_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(), 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(), enter_intrinsic_info(), 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_relationals(), folder_driver(), forall_semantics(), format_line_n_col(), free_get_keyword(), free_get_stmt(), 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_static_dv_whole_def(), gen_whole_subscript(), generic_spec_semantics(), get_arg_type(), get_basic_type(), get_char_len(), get_directive(), get_dummy_arg_type(), get_format_str(), get_label(), get_machine_chars(), get_micro_directive(), get_open_mp_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(), 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(), 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_copyprivate_semantics(), 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_call_stmt(), 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_decorate_script(), 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_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_script(), 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_buffered_messages(), print_id_line(), print_stmt_semantics(), PRINTMSG(), process_all_initialized_cpnts(), process_blockable_dir(), process_cpnt_inits(), process_d_option(), process_data_imp_do_target(), process_deferred_functions(), process_deferred_io_list(), process_interchange_dir(), process_O_option(), process_reshape_array(), process_variable_size_func(), process_x_option(), 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_prog_file_names(), 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_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(), transfer_intrinsic(), transform_char_sequence_ref(), transform_cri_ch_ptr(), 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(), validate_O_option(), verify_interface(), vv_subscript_semantics(), wait_send_semantics(), where_stmt_semantics(), and write_stmt_semantics().


Variable Documentation

Definition at line 64 of file cray1_sim.c.

Referenced by AR_set_rounding_mode(), AR_set_state_register(), and open_arith_file().

Definition at line 65 of file cray1_sim.c.

Referenced by AR_set_state_register(), AR_set_underflow_mode(), and open_arith_file().


Generated on Wed Apr 8 14:23:55 2009 for Open64 by  doxygen 1.5.6