Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
arith.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  AR_DATA

Defines

#define AR_INT_SIZE_8   (ar_int_size_8 << 2)
#define AR_INT_SIZE_24   (ar_int_size_24 << 2)
#define AR_INT_SIZE_32   (ar_int_size_32 << 2)
#define AR_INT_SIZE_46   (ar_int_size_46 << 2)
#define AR_INT_SIZE_64   (ar_int_size_64 << 2)
#define AR_INT_SIZE_128   (ar_int_size_128 << 2)
#define AR_INT_SIZE_16   (ar_int_size_16 << 2)
#define AR_POINTER_BYTE   (ar_pointer_byte << 2)
#define AR_POINTER_CHAR   (ar_pointer_char << 2)
#define AR_POINTER_FCTN   (ar_pointer_fctn << 2)
#define AR_POINTER_WORD   (ar_pointer_word << 2)
#define AR_POINTER_24   ar_pointer_size_24
#define AR_POINTER_32   ar_pointer_size_32
#define AR_POINTER_64   ar_pointer_size_64
#define AR_SIGNED   ar_signed
#define AR_UNSIGNED   ar_unsigned
#define AR_FLOAT_IEEE   (ar_float_format_ieee << 5)
#define AR_FLOAT_CRAY   (ar_float_format_cray << 5)
#define AR_IEEE_FLOATING_POINT   ar_float_format_ieee
#define AR_CRAY_FLOATING_POINT   ar_float_format_cray
#define AR_FLOAT_32   (ar_float_32 << 1)
#define AR_FLOAT_64   (ar_float_64 << 1)
#define AR_FLOAT_128   (ar_float_128 << 1)
#define AR_FLOAT_SIMPLE   ar_simple
#define AR_FLOAT_COMPLEX   ar_complex
#define AR_FLOAT_IEEE_ROUND_NEAREST   (ar_float_ieee_round_nearest << 3)
#define AR_FLOAT_IEEE_ROUND_ZERO   (ar_float_ieee_round_zero << 3)
#define AR_FLOAT_IEEE_ROUND_UP   (ar_float_ieee_round_up << 3)
#define AR_FLOAT_IEEE_ROUND_DOWN   (ar_float_ieee_round_down << 3)
#define AR_ROUND_NEAREST   ar_float_ieee_round_nearest
#define AR_ROUND_ZERO   ar_float_ieee_round_zero
#define AR_ROUND_PLUS_INFINITY   ar_float_ieee_round_up
#define AR_ROUND_MINUS_INFINITY   ar_float_ieee_round_down
#define AR_FLOAT_CRAY_ROUND_C1   (ar_float_cray_round_c1 << 3)
#define AR_FLOAT_CRAY_ROUND_C1F   (ar_float_cray_round_c1f << 3)
#define AR_ROUNDED   ar_float_cray_round_c1
#define AR_UNROUNDED   ar_float_cray_round_c1f
#define AR_RECIPROCAL_ITERATION   ar_reciprocal_iteration
#define AR_UNDERFLOW_TO_DENORM   ar_underflow_to_denorm
#define AR_UNDERFLOW_TO_PLUS_ZERO   ar_underflow_to_plus_zero
#define AR_UNDERFLOW_TO_SIGNED_ZERO   ar_underflow_to_signed_zero
#define AR_UNDERFLOW_TO_SIGNED_TINY   ar_underflow_to_signed_tiny
#define AR_128BIT_EXTENDED_DOUBLE   ar_128_bit_extended_double
#define AR_128BIT_DOUBLE_DOUBLE   ar_128_bit_double_double
#define AR_CLASS_INT   (ar_class_int << 6)
#define AR_CLASS_FLOAT   (ar_class_float << 6)
#define AR_CLASS_POINTER   (ar_class_pointer << 6)
#define AR_CLASS_LOGICAL   (ar_class_logical << 6)
#define AR_CLASS_ERROR   (ar_class_error << 6)
#define AR_CLASS(type)   (type & 0x1c0)
#define AR_INT_SIZE(type)   (type & 0x3c)
#define AR_SIGNEDNESS(type)   (type & 0x1)
#define AR_STAT_OK   0000
#define AR_STAT_OVERFLOW   0001 /* error condition */
#define AR_STAT_UNDERFLOW   0002 /* FYI; often also zero */
#define AR_STAT_UNDEFINED
#define AR_STAT_INEXACT   0010 /* FYI: precision lost */
#define AR_STAT_ZERO   0020 /* FYI: result is zero */
#define AR_STAT_NEGATIVE   0040 /* FYI: result sign bit set */
#define AR_STAT_INVALID_TYPE   0100 /* invalid type for operation */
#define AR_STAT_SEMIVALID
#define AR_ZERO   0020 /* FYI: result is zero */
#define AR_NEGATIVE   0040 /* FYI: result sign bit set */
#define AR_ERROR_STATUS   0105 /* Generally fatal error flags */

Typedefs

typedef long long AR_HOST_SINT64
typedef unsigned long long AR_HOST_UINT64

Enumerations

enum  ar_int_size {
  ar_int_size_8, ar_int_size_24, ar_int_size_32, ar_int_size_46,
  ar_int_size_64, ar_int_size_128, ar_int_size_16
}
enum  ar_pointer_format { ar_pointer_byte, ar_pointer_char, ar_pointer_fctn, ar_pointer_word }
enum  ar_pointer_size { ar_pointer_size_24, ar_pointer_size_32, ar_pointer_size_64 }
enum  ar_signedness { ar_signed, ar_unsigned }
enum  ar_float_format { ar_float_format_ieee, ar_float_format_cray }
enum  ar_float_size { ar_float_32, ar_float_64, ar_float_128 }
enum  ar_float_complexity { ar_simple, ar_complex }
enum  ar_float_ieee_round { ar_float_ieee_round_nearest, ar_float_ieee_round_up, ar_float_ieee_round_down, ar_float_ieee_round_zero }
enum  ar_float_cray_round { ar_float_cray_round_c1, ar_reciprocal_iteration, ar_float_cray_round_c1f }
enum  ar_float_underflow { ar_underflow_to_denorm, ar_underflow_to_plus_zero, ar_underflow_to_signed_zero, ar_underflow_to_signed_tiny }
enum  ar_float_128_bit { ar_128_bit_extended_double, ar_128_bit_double_double }
enum  ar_class {
  ar_class_int, ar_class_float, ar_class_pointer, ar_class_logical,
  ar_class_error
}
enum  AR_TYPE {
  AR_Int_8_S = AR_CLASS_INT | AR_INT_SIZE_8 | AR_SIGNED, AR_Int_8_U = AR_CLASS_INT | AR_INT_SIZE_8 | AR_UNSIGNED, AR_Int_16_S = AR_CLASS_INT | AR_INT_SIZE_16 | AR_SIGNED, AR_Int_16_U = AR_CLASS_INT | AR_INT_SIZE_16 | AR_UNSIGNED,
  AR_Int_24_S = AR_CLASS_INT | AR_INT_SIZE_24 | AR_SIGNED, AR_Int_24_U = AR_CLASS_INT | AR_INT_SIZE_24 | AR_UNSIGNED, AR_Int_32_S = AR_CLASS_INT | AR_INT_SIZE_32 | AR_SIGNED, AR_Int_32_U = AR_CLASS_INT | AR_INT_SIZE_32 | AR_UNSIGNED,
  AR_Int_46_S = AR_CLASS_INT | AR_INT_SIZE_46 | AR_SIGNED, AR_Int_46_U = AR_CLASS_INT | AR_INT_SIZE_46 | AR_UNSIGNED, AR_Int_64_S = AR_CLASS_INT | AR_INT_SIZE_64 | AR_SIGNED, AR_Int_64_U = AR_CLASS_INT | AR_INT_SIZE_64 | AR_UNSIGNED,
  AR_Int_128_S = AR_CLASS_INT | AR_INT_SIZE_128 | AR_SIGNED, AR_Int_128_U = AR_CLASS_INT | AR_INT_SIZE_128 | AR_UNSIGNED, AR_Logical = AR_CLASS_LOGICAL, AR_Pointer_Byte = AR_CLASS_POINTER | AR_POINTER_BYTE,
  AR_Pointer_Char_24 = AR_CLASS_POINTER | AR_POINTER_CHAR | AR_POINTER_24, AR_Pointer_Char_32 = AR_CLASS_POINTER | AR_POINTER_CHAR | AR_POINTER_32, AR_Pointer_Char_64 = AR_CLASS_POINTER | AR_POINTER_CHAR | AR_POINTER_64, AR_Pointer_Fctn_24 = AR_CLASS_POINTER | AR_POINTER_FCTN | AR_POINTER_24,
  AR_Pointer_Fctn_32 = AR_CLASS_POINTER | AR_POINTER_FCTN | AR_POINTER_32, AR_Pointer_Fctn_64 = AR_CLASS_POINTER | AR_POINTER_FCTN | AR_POINTER_64, AR_Pointer_Word_24 = AR_CLASS_POINTER | AR_POINTER_WORD | AR_POINTER_24, AR_Pointer_Word_32 = AR_CLASS_POINTER | AR_POINTER_WORD | AR_POINTER_32,
  AR_Pointer_Word_64 = AR_CLASS_POINTER | AR_POINTER_WORD | AR_POINTER_64, AR_Float_32 = AR_CLASS_FLOAT | AR_FLOAT_32 | AR_FLOAT_SIMPLE, AR_Float_64 = AR_CLASS_FLOAT | AR_FLOAT_64 | AR_FLOAT_SIMPLE, AR_Float_128 = AR_CLASS_FLOAT | AR_FLOAT_128 | AR_FLOAT_SIMPLE,
  AR_Complex_32 = AR_CLASS_FLOAT | AR_FLOAT_32 | AR_FLOAT_COMPLEX, AR_Complex_64 = AR_CLASS_FLOAT | AR_FLOAT_64 | AR_FLOAT_COMPLEX, AR_Complex_128 = AR_CLASS_FLOAT | AR_FLOAT_128 | AR_FLOAT_COMPLEX, AR_Float_Cray1_64,
  AR_Float_Cray1_64_F, AR_Float_Cray1_128, AR_Float_IEEE_NR_32, AR_Float_IEEE_NR_64,
  AR_Float_IEEE_NR_128, AR_Float_IEEE_ZE_32, AR_Float_IEEE_ZE_64, AR_Float_IEEE_ZE_128,
  AR_Float_IEEE_UP_32, AR_Float_IEEE_UP_64, AR_Float_IEEE_UP_128, AR_Float_IEEE_DN_32,
  AR_Float_IEEE_DN_64, AR_Float_IEEE_DN_128, AR_Complex_Cray1_64, AR_Complex_Cray1_64_F,
  AR_Complex_Cray1_128, AR_Complex_IEEE_NR_32, AR_Complex_IEEE_NR_64, AR_Complex_IEEE_NR_128,
  AR_Complex_IEEE_ZE_32, AR_Complex_IEEE_ZE_64, AR_Complex_IEEE_ZE_128, AR_Complex_IEEE_UP_32,
  AR_Complex_IEEE_UP_64, AR_Complex_IEEE_UP_128, AR_Complex_IEEE_DN_32, AR_Complex_IEEE_DN_64,
  AR_Complex_IEEE_DN_128, AR_Error = AR_CLASS_ERROR
}
enum  AR_COMPARE_TYPE {
  AR_Compare_LT, AR_Compare_EQ, AR_Compare_GT, AR_Compare_Unord,
  AR_Compare_NE, AR_Compare_Invalid
}

Functions

int AR_abs (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_add (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_add_ptr_int (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type, const AR_DATA *opnd2, const AR_TYPE *opnd2type, const AR_DATA *opnd3, const AR_TYPE *opnd3type)
int AR_bitor (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_bitand (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_bitxor (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_bitcomplement (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_cimag (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
AR_COMPARE_TYPE AR_compare (const AR_DATA *opnd1, const AR_TYPE *opnd1type, const AR_DATA *opnd2, const AR_TYPE *opnd2type)
int AR_conj (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_creal (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_divide (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_dshiftl (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type, const AR_DATA *opnd2, const AR_TYPE *opnd2type, const AR_DATA *opnd3, const AR_TYPE *opnd3type)
int AR_dshiftr (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type, const AR_DATA *opnd2, const AR_TYPE *opnd2type, const AR_DATA *opnd3, const AR_TYPE *opnd3type)
int AR_mask (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_leadz (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_make_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_make_imag (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_mod (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 (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_negate (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_one (AR_DATA *result, const AR_TYPE *type)
int AR_popcnt (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_poppar (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_round_int_div (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd, const AR_TYPE *opndtype)
int AR_shiftl (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_shiftr (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_ishft (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_ishftc (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type, const AR_DATA *opnd2, const AR_TYPE *opnd2type, const AR_DATA *opnd3, const AR_TYPE *opnd3type)
int AR_ibits (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type, const AR_DATA *opnd2, const AR_TYPE *opnd2type, const AR_DATA *opnd3, const AR_TYPE *opnd3type)
int AR_status (const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_subtract (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_subtract_ptr_ptr (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type, const AR_DATA *opnd2, const AR_TYPE *opnd2type, const AR_DATA *opnd3, const AR_TYPE *opnd3type)
int AR_CRAY_64_trunc_bits (int truncbits)
const char * arith_vers_name (void)
const char * arith_vers_ID (void)
const char * arith_vers_number (void)
int AR_convert (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_convert_float_to_str (char *resultstr, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_convert_hex_str_to_float (AR_DATA *result, const AR_TYPE *resulttype, const char *ar_str)
int AR_convert_host_sint64_to_int (AR_DATA *result, const AR_TYPE *resulttype, AR_HOST_SINT64 i64val)
int AR_convert_int_to_host_sint64 (AR_HOST_SINT64 *i64val, const AR_DATA *opnd, const AR_TYPE *opndtype)
int AR_convert_int_to_str (char *resultstr, const int *base, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_convert_str_to_int (AR_DATA *result, const AR_TYPE *resulttype, int *bits_used, const char *str, const int *base)
int AR_convert_str_to_float (AR_DATA *result, const AR_TYPE *resulttype, const char *str)
int AR_cabs (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_exp (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
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_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_log (AR_DATA *result, const AR_TYPE *resulttype, const AR_DATA *opnd1, const AR_TYPE *opnd1type)
int AR_power (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_index (AR_DATA *result, const AR_TYPE *resulttype, const char *str1, const AR_DATA *str1len, const AR_TYPE *str1lentype, const char *str2, const AR_DATA *str2len, const AR_TYPE *str2lentype, const AR_DATA *backward, const AR_TYPE *backwardtype)
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, const AR_DATA *str1len, const AR_TYPE *str1lentype, const char *str2, const AR_DATA *str2len, const AR_TYPE *str2lentype, const AR_DATA *backward, const AR_TYPE *backwardtype)
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_transfer (void *result, const void *source, const void *mold, const AR_DATA *size, const AR_TYPE *sizetype)
int AR_verify (AR_DATA *result, const AR_TYPE *resulttype, const char *str1, const AR_DATA *str1len, const AR_TYPE *str1lentype, const char *str2, const AR_DATA *str2len, const AR_TYPE *str2lentype, const AR_DATA *backward, const AR_TYPE *backwardtype)

Variables

AR_DATA AR_const_zero
AR_DATA AR_const_one
AR_DATA AR_const_two
AR_DATA AR_const_false
AR_DATA AR_const_true

Define Documentation

Definition at line 187 of file arith.h.

Referenced by open_arith_file().

Definition at line 186 of file arith.h.

Referenced by open_arith_file(), and open_intrinsics_file().

#define AR_CLASS_ERROR   (ar_class_error << 6)

Definition at line 212 of file arith.h.

#define AR_CLASS_LOGICAL   (ar_class_logical << 6)

Definition at line 211 of file arith.h.

Referenced by AR_status().

Definition at line 114 of file arith.h.

Referenced by ar_clear_sim_state(), ar_sim(), and open_arith_file().

#define AR_ERROR_STATUS   0105 /* Generally fatal error flags */

Definition at line 160 of file arith.h.

Definition at line 161 of file arith.h.

Definition at line 146 of file arith.h.

Definition at line 143 of file arith.h.

Definition at line 145 of file arith.h.

Definition at line 144 of file arith.h.

#define AR_FLOAT_SIMPLE   ar_simple

Definition at line 132 of file arith.h.

Referenced by ar_compare_float(), AR_leadz(), AR_popcnt(), and AR_poppar().

#define AR_INT_SIZE_128   (ar_int_size_128 << 2)

Definition at line 57 of file arith.h.

Referenced by AR_convert_str_to_int(), and ar_set_invalid_result().

#define AR_NEGATIVE   0040 /* FYI: result sign bit set */

Definition at line 410 of file arith.h.

Referenced by ar_cabs(), ar_exp(), ar_log(), and ar_sqrt().

Definition at line 80 of file arith.h.

Referenced by AR_add_ptr_int(), and ar_clear_unused_bits().

Definition at line 81 of file arith.h.

Referenced by AR_add_ptr_int(), and ar_clear_unused_bits().

Definition at line 82 of file arith.h.

Referenced by AR_add_ptr_int().

#define AR_POINTER_BYTE   (ar_pointer_byte << 2)

Definition at line 68 of file arith.h.

Definition at line 165 of file arith.h.

Referenced by ar_cfdiv64(), ar_cfmul64(), ar_sim(), and main().

Definition at line 163 of file arith.h.

Referenced by ar_cfmul64(), ar_sim(), main(), and open_arith_file().

#define AR_STAT_INVALID_TYPE   0100 /* invalid type for operation */

Definition at line 406 of file arith.h.

Referenced by AR_abs(), AR_add(), ar_add_integer(), ar_add_pointer(), AR_add_ptr_int(), AR_cabs(), ar_cabs(), AR_cimag(), ar_compare_float(), ar_compose_complex(), AR_convert(), AR_convert_float_to_str(), AR_convert_hex_str_to_float(), AR_convert_host_sint64_to_int(), AR_convert_int_to_host_sint64(), AR_convert_int_to_str(), AR_convert_str_to_float(), ar_convert_str_to_float(), AR_convert_str_to_int(), ar_convert_to_complex(), ar_convert_to_float(), ar_convert_to_integral(), ar_convert_to_pointer(), AR_creal(), ar_cvt_str_to_float(), ar_decompose_complex(), AR_divide(), ar_divide_float(), ar_divide_integer(), AR_dshiftl(), AR_dshiftr(), AR_exp(), ar_exp(), ar_get_function_value(), AR_ibits(), AR_index(), ar_index(), AR_ishft(), AR_ishftc(), AR_leadz(), AR_log(), ar_log(), AR_make_complex(), AR_mask(), AR_mod(), AR_Modulo(), ar_modulo(), AR_multiply(), ar_multiply_float(), ar_multiply_integer(), AR_negate(), ar_negate_complex(), ar_negate_float(), ar_negate_integer(), AR_one(), ar_pass_arg_address(), ar_pass_arg_value(), AR_popcnt(), AR_poppar(), AR_power(), ar_power(), ar_reshape(), AR_round_int_div(), AR_scan(), ar_scan(), AR_selected_real_kind(), ar_selected_real_kind(), AR_shiftl(), AR_shiftr(), AR_sqrt(), ar_sqrt(), AR_status(), AR_subtract(), ar_subtract_integer(), ar_subtract_pointer(), AR_subtract_ptr_ptr(), AR_transfer(), ar_transfer(), AR_verify(), ar_verify(), bitoper(), check_ar_result(), dotest32_2c(), dotest64_2c(), folder_driver(), main(), and misc_tests().

#define AR_STAT_OK   0000

Definition at line 399 of file arith.h.

Referenced by AR_add(), ar_add_integer(), ar_add_pointer(), ar_c128to64(), ar_c128toi64(), ar_c1frecip(), ar_c64to128(), ar_cfadd128(), ar_cfadd64(), ar_cfdiv128(), ar_cfdiv64(), ar_cfix128(), ar_cfix64(), ar_cflt128(), ar_cflt64(), ar_cfmul128(), ar_cfmul64(), ar_check_status(), ar_clear_sim_state(), ar_compose_complex(), AR_convert_float_to_str(), AR_convert_hex_str_to_float(), AR_convert_int_to_str(), AR_convert_str_to_int(), ar_convert_to_complex(), ar_convert_to_float(), ar_convert_to_integral(), ar_convert_to_pointer(), AR_CRAY_64_trunc_bits(), ar_ctoi128(), ar_ctoi64(), ar_cvt_str_to_float(), ar_decompose_complex(), ar_divide_integer(), ar_ext_address(), ar_i128norm(), ar_i128to64(), ar_i32norm(), ar_i64norm(), ar_i64to32(), ar_ifadd128(), ar_ifadd32(), ar_ifadd64(), ar_ifcmp128(), ar_ifcmp32(), ar_ifcmp64(), ar_ifdiv128(), ar_ifdiv32(), ar_ifdiv64(), ar_ifix128(), ar_ifix32(), ar_ifix64(), ar_ifmul128(), ar_ifmul32(), ar_ifmul64(), ar_imul64u(), ar_isqrt64(), ar_multiply_integer(), ar_negate_float(), AR_one(), ar_pass_arg_address(), ar_pass_arg_value(), ar_pass_ext_address(), ar_pass_fcd_address(), ar_power(), ar_put_real_address(), AR_set_rounding_mode(), AR_set_state_register(), AR_set_underflow_mode(), ar_sim(), AR_status(), ar_subtract_integer(), ar_subtract_pointer(), ar_unpack_float_str(), dotest128_1(), dotest128_2(), dotest128_i(), dotest128_r(), dotest32_1s(), dotest32_2(), dotest32_2c(), dotest64_1(), dotest64_1s(), dotest64_2(), dotest64_2c(), dotest64_c(), dotest64_i(), dotest64_i2(), ieeetest32_2cmp(), ieeetest64_2cmp(), test_ibits_signed(), test_ishft_signed(), and test_ishftc_signed().

Value:
0200    /* FYI: result is algorithmically
                                                                                                  precise but incorrect */

Definition at line 407 of file arith.h.

Referenced by AR_abs(), ar_cfix128(), ar_cfix64(), ar_convert_to_integral(), ar_ifix128(), ar_ifix32(), ar_ifix64(), and ar_negate_integer().

Definition at line 175 of file arith.h.

Referenced by ar_i128norm(), ar_i32norm(), and ar_i64norm().

Definition at line 178 of file arith.h.

Referenced by ar_i128norm(), ar_i32norm(), and ar_i64norm().

Definition at line 177 of file arith.h.

Definition at line 164 of file arith.h.

Referenced by ar_cfdiv64(), ar_cfmul64(), ar_sim(), main(), and open_arith_file().

#define AR_ZERO   0020 /* FYI: result is zero */

Definition at line 409 of file arith.h.

Referenced by ar_cabs(), ar_exp(), ar_log(), and ar_sqrt().


Typedef Documentation

typedef long long AR_HOST_SINT64

Definition at line 97 of file arith.h.

typedef unsigned long long AR_HOST_UINT64

Definition at line 98 of file arith.h.


Enumeration Type Documentation

enum ar_class
Enumerator:
ar_class_int 
ar_class_float 
ar_class_pointer 
ar_class_logical 
ar_class_error 

Definition at line 199 of file arith.h.

Enumerator:
AR_Compare_LT 
AR_Compare_EQ 
AR_Compare_GT 
AR_Compare_Unord 
AR_Compare_NE 
AR_Compare_Invalid 

Definition at line 416 of file arith.h.

Enumerator:
ar_128_bit_extended_double 
ar_128_bit_double_double 

Definition at line 180 of file arith.h.

Enumerator:
ar_simple 
ar_complex 

Definition at line 127 of file arith.h.

Enumerator:
ar_float_cray_round_c1 
ar_reciprocal_iteration 
ar_float_cray_round_c1f 

Definition at line 153 of file arith.h.

Enumerator:
ar_float_format_ieee 
ar_float_format_cray 

Definition at line 104 of file arith.h.

Enumerator:
ar_float_ieee_round_nearest 
ar_float_ieee_round_up 
ar_float_ieee_round_down 
ar_float_ieee_round_zero 

Definition at line 135 of file arith.h.

Enumerator:
ar_float_32 
ar_float_64 
ar_float_128 

Definition at line 116 of file arith.h.

Enumerator:
ar_underflow_to_denorm 
ar_underflow_to_plus_zero 
ar_underflow_to_signed_zero 
ar_underflow_to_signed_tiny 

Definition at line 167 of file arith.h.

Enumerator:
ar_int_size_8 
ar_int_size_24 
ar_int_size_32 
ar_int_size_46 
ar_int_size_64 
ar_int_size_128 
ar_int_size_16 

Definition at line 41 of file arith.h.

Enumerator:
ar_pointer_byte 
ar_pointer_char 
ar_pointer_fctn 
ar_pointer_word 

Definition at line 60 of file arith.h.

Enumerator:
ar_pointer_size_24 
ar_pointer_size_32 
ar_pointer_size_64 

Definition at line 73 of file arith.h.

Enumerator:
ar_signed 
ar_unsigned 

Definition at line 84 of file arith.h.

enum AR_TYPE
Enumerator:
AR_Int_8_S 
AR_Int_8_U 
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_46_U 
AR_Int_64_S 
AR_Int_64_U 
AR_Int_128_S 
AR_Int_128_U 
AR_Logical 
AR_Pointer_Byte 
AR_Pointer_Char_24 
AR_Pointer_Char_32 
AR_Pointer_Char_64 
AR_Pointer_Fctn_24 
AR_Pointer_Fctn_32 
AR_Pointer_Fctn_64 
AR_Pointer_Word_24 
AR_Pointer_Word_32 
AR_Pointer_Word_64 
AR_Float_32 
AR_Float_64 
AR_Float_128 
AR_Complex_32 
AR_Complex_64 
AR_Complex_128 
AR_Float_Cray1_64 
AR_Float_Cray1_64_F 
AR_Float_Cray1_128 
AR_Float_IEEE_NR_32 
AR_Float_IEEE_NR_64 
AR_Float_IEEE_NR_128 
AR_Float_IEEE_ZE_32 
AR_Float_IEEE_ZE_64 
AR_Float_IEEE_ZE_128 
AR_Float_IEEE_UP_32 
AR_Float_IEEE_UP_64 
AR_Float_IEEE_UP_128 
AR_Float_IEEE_DN_32 
AR_Float_IEEE_DN_64 
AR_Float_IEEE_DN_128 
AR_Complex_Cray1_64 
AR_Complex_Cray1_64_F 
AR_Complex_Cray1_128 
AR_Complex_IEEE_NR_32 
AR_Complex_IEEE_NR_64 
AR_Complex_IEEE_NR_128 
AR_Complex_IEEE_ZE_32 
AR_Complex_IEEE_ZE_64 
AR_Complex_IEEE_ZE_128 
AR_Complex_IEEE_UP_32 
AR_Complex_IEEE_UP_64 
AR_Complex_IEEE_UP_128 
AR_Complex_IEEE_DN_32 
AR_Complex_IEEE_DN_64 
AR_Complex_IEEE_DN_128 
AR_Error 

Definition at line 228 of file arith.h.


Function Documentation

int AR_add ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type,
const AR_DATA opnd2,
const AR_TYPE opnd2type 
)

Definition at line 475 of file math.c.

References ar_add_integer(), ar_add_pointer(), ar_cfadd128(), ar_cfadd64(), AR_CLASS, AR_CLASS_FLOAT, AR_CLASS_INT, AR_CLASS_POINTER, 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_CRAY_64_trunc(), 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_ieee128, ar_data::ar_ieee32, ar_data::ar_ieee64, ar_ifadd128(), ar_ifadd32(), ar_ifadd64(), AR_INT_SIZE, AR_INT_SIZE_16, AR_INT_SIZE_32, AR_INT_SIZE_46, AR_INT_SIZE_64, AR_INT_SIZE_8, AR_SIGNEDNESS, AR_STAT_INVALID_TYPE, AR_STAT_NEGATIVE, AR_STAT_OK, AR_STAT_OVERFLOW, AR_STAT_ZERO, ar_state_register, ar_state_info::ar_truncate_bits, AR_UNSIGNED, CPLX32_IMAG_TO_IEEE32, CPLX32_REAL_TO_IEEE32, IEEE32_TO_CPLX32_IMAG, IEEE32_TO_CPLX32_REAL, AR_CPLX_IEEE_64::imag, AR_CPLX_IEEE_128::imag, AR_CPLX_CRAY_64::imag, AR_CPLX_CRAY_128::imag, 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_cabs(), ar_divide_complex(), ar_multiply_complex(), folder_driver(), main(), and test_add().

Here is the call graph for this function:

int AR_bitand ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type,
const AR_DATA opnd2,
const AR_TYPE opnd2type 
)

Referenced by AR_ishftc(), and test_bitand().

int AR_bitcomplement ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type 
)

Referenced by test_bitcomplement().

int AR_bitor ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type,
const AR_DATA opnd2,
const AR_TYPE opnd2type 
)

Referenced by AR_ishftc(), and test_bitor().

int AR_bitxor ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type,
const AR_DATA opnd2,
const AR_TYPE opnd2type 
)

Referenced by test_bitxor().

int AR_cabs ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type 
)

Definition at line 321 of file intrin.c.

References ar_cabs(), AR_CLASS, AR_CLASS_FLOAT, AR_FLOAT_COMPLEX, AR_FLOAT_IS_COMPLEX, ar_set_invalid_result(), AR_STAT_INVALID_TYPE, AR_STAT_OVERFLOW, AR_STAT_UNDEFINED, AR_status(), and IS_ERROR_STATUS.

Referenced by AR_INTRIN1(), and main().

Here is the call graph for this function:

int AR_cimag ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type 
)

Definition at line 277 of file miscmath.c.

References ar_decompose_complex(), and AR_STAT_INVALID_TYPE.

Here is the call graph for this function:

int AR_conj ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type 
)

Definition at line 765 of file miscmath.c.

References ar_compose_complex(), ar_decompose_complex(), ar_negate_float(), AR_STAT_NEGATIVE, AR_STAT_ZERO, AR_status(), and result.

Here is the call graph for this function:

int AR_convert_host_sint64_to_int ( AR_DATA result,
const AR_TYPE resulttype,
AR_HOST_SINT64  i64val 
)

Definition at line 818 of file strcvt.c.

References AR_CLASS, AR_CLASS_INT, AR_convert(), AR_Int_64_S, AR_DATA::ar_internal_data_item1, and AR_STAT_INVALID_TYPE.

Referenced by cval_to_f_int().

Here is the call graph for this function:

int AR_convert_int_to_host_sint64 ( AR_HOST_SINT64 i64val,
const AR_DATA opnd,
const AR_TYPE opndtype 
)

Definition at line 834 of file strcvt.c.

References AR_CLASS, AR_CLASS_INT, AR_convert(), AR_Int_64_S, AR_DATA::ar_internal_data_item1, and AR_STAT_INVALID_TYPE.

Referenced by f_int_to_cval().

Here is the call graph for this function:

int AR_convert_str_to_float ( AR_DATA result,
const AR_TYPE resulttype,
const char *  str 
)
int AR_CRAY_64_trunc_bits ( int  truncbits)
int AR_creal ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type 
)

Definition at line 261 of file miscmath.c.

References ar_decompose_complex(), and AR_STAT_INVALID_TYPE.

Here is the call graph for this function:

int AR_exp ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type 
)

Definition at line 299 of file intrin.c.

References AR_CLASS, AR_CLASS_FLOAT, ar_exp(), ar_set_invalid_result(), AR_STAT_INVALID_TYPE, AR_status(), and IS_ERROR_STATUS.

Referenced by AR_INTRIN1(), and main().

Here is the call graph for this function:

int AR_ibits ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type,
const AR_DATA opnd2,
const AR_TYPE opnd2type,
const AR_DATA opnd3,
const AR_TYPE opnd3type 
)
int AR_index ( AR_DATA result,
const AR_TYPE resulttype,
const char *  str1,
const AR_DATA str1len,
const AR_TYPE str1lentype,
const char *  str2,
const AR_DATA str2len,
const AR_TYPE str2lentype,
const AR_DATA backward,
const AR_TYPE backwardtype 
)
int AR_log ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type 
)

Definition at line 277 of file intrin.c.

References AR_CLASS, AR_CLASS_FLOAT, ar_log(), ar_set_invalid_result(), AR_STAT_INVALID_TYPE, AR_status(), and IS_ERROR_STATUS.

Referenced by AR_INTRIN1(), and main().

Here is the call graph for this function:

int AR_make_imag ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type 
)

Definition at line 788 of file miscmath.c.

References AR_make_complex().

Here is the call graph for this function:

int AR_mod ( 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_Modulo ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type,
const AR_DATA opnd2,
const AR_TYPE opnd2type 
)

Definition at line 206 of file intrin.c.

References ar_modulo(), ar_set_invalid_result(), AR_STAT_INVALID_TYPE, AR_status(), and IS_ERROR_STATUS.

Referenced by folder_driver(), and main().

Here is the call graph for this function:

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 
)

Definition at line 2198 of file math.c.

References AR_mod().

Here is the call graph for this function:

int AR_negate ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type 
)

Definition at line 993 of file math.c.

References AR_CLASS, AR_CLASS_FLOAT, AR_CLASS_INT, AR_FLOAT_COMPLEX, AR_FLOAT_IS_COMPLEX, ar_negate_complex(), ar_negate_float(), ar_negate_integer(), and AR_STAT_INVALID_TYPE.

Referenced by ar_power(), and folder_driver().

Here is the call graph for this function:

int AR_one ( AR_DATA result,
const AR_TYPE type 
)

Definition at line 513 of file miscmath.c.

References 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_cplx_mips128, AR_CRAY_C0_BITS, AR_CRAY_EXPO_BIAS, 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_ieee128, AR_IEEE128_EXPO_BIAS, ar_data::ar_ieee32, AR_IEEE32_EXPO_BIAS, ar_data::ar_ieee64, AR_IEEE64_EXPO_BIAS, AR_Int_16_S, AR_Int_16_U, AR_Int_32_S, AR_Int_32_U, AR_Int_46_S, AR_Int_64_S, AR_Int_64_U, ar_data::ar_mips128, AR_MIPS128_EXPO_BIAS, AR_STAT_INVALID_TYPE, AR_STAT_OK, AR_CRAY_64::coeff0, AR_CRAY_128::coeff0, AR_IEEE_32::expo, AR_IEEE_64::expo, AR_IEEE_128::expo, AR_MIPS_128::expo, AR_CRAY_64::expo, AR_CRAY_128::expo, HOST_IS_MIPS, AR_CPLX_IEEE_32::icoeff0, AR_CPLX_IEEE_32::icoeff1, AR_CPLX_IEEE_32::iexpo, AR_CPLX_IEEE_64::imag, AR_CPLX_IEEE_128::imag, AR_CPLX_CRAY_64::imag, AR_CPLX_CRAY_128::imag, AR_CPLX_IEEE_32::isign, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, AR_CPLX_IEEE_32::rcoeff0, AR_CPLX_IEEE_32::rcoeff1, AR_CPLX_IEEE_64::real, AR_CPLX_IEEE_128::real, AR_CPLX_MIPS_128::real, AR_CPLX_CRAY_64::real, AR_CPLX_CRAY_128::real, result, AR_CPLX_IEEE_32::rexpo, AR_CPLX_IEEE_32::rsign, ZEROCRAY128, ZEROCRAY64, ZEROIEEE128, ZEROIEEE32, and ZEROIEEE64.

Referenced by ar_power().

int AR_power ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type,
const AR_DATA opnd2,
const AR_TYPE opnd2type 
)

Definition at line 343 of file intrin.c.

References AR_CLASS, AR_CLASS_INT, ar_power(), ar_set_invalid_result(), AR_STAT_INVALID_TYPE, and IS_ERROR_STATUS.

Referenced by AR_INTRIN2(), folder_driver(), and main().

Here is the call graph for this function:

int AR_reshape ( void *  result,
const void *  source,
const void *  shape,
const void *  pad,
const void *  order 
)

Definition at line 167 of file intrin.c.

References ar_reshape(), AR_STAT_UNDEFINED, and NULL.

Referenced by folder_driver().

Here is the call graph for this function:

int AR_round_int_div ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd,
const AR_TYPE opndtype 
)

Definition at line 698 of file cvt.c.

References ar_crnd128(), ar_crnd64(), ar_data::ar_f128, ar_data::ar_f64, AR_Float_Cray1_128, AR_Float_Cray1_64, AR_Float_Cray1_64_F, and AR_STAT_INVALID_TYPE.

Referenced by folder_driver().

Here is the call graph for this function:

int AR_scan ( AR_DATA result,
const AR_TYPE resulttype,
const char *  str1,
const AR_DATA str1len,
const AR_TYPE str1lentype,
const char *  str2,
const AR_DATA str2len,
const AR_TYPE str2lentype,
const AR_DATA backward,
const AR_TYPE backwardtype 
)
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 
)

Definition at line 229 of file intrin.c.

References AR_CLASS, AR_CLASS_INT, AR_Int_16_S, AR_Int_32_S, AR_Int_64_S, AR_Int_8_S, AR_INT_SIZE, ar_selected_real_kind(), ar_set_invalid_result(), AR_STAT_INVALID_TYPE, and IS_ERROR_STATUS.

Referenced by folder_driver(), main(), and misc_tests().

Here is the call graph for this function:

int AR_sqrt ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd,
const AR_TYPE opndtype 
)

Definition at line 255 of file intrin.c.

References AR_CLASS, AR_CLASS_FLOAT, ar_set_invalid_result(), ar_sqrt(), AR_STAT_INVALID_TYPE, AR_status(), and IS_ERROR_STATUS.

Referenced by ar_cabs(), AR_INTRIN1(), and main().

Here is the call graph for this function:

int AR_status ( const AR_DATA opnd1,
const AR_TYPE opnd1type 
)

Definition at line 294 of file miscmath.c.

References AR_CLASS, AR_CLASS_FLOAT, AR_CLASS_INT, AR_CLASS_LOGICAL, AR_CLASS_POINTER, 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_CRAY_MAX_EXPO, AR_CRAY_MIN_EXPO, ar_decompose_complex(), 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_ieee128, AR_IEEE128_MAX_EXPO, ar_data::ar_ieee32, AR_IEEE32_MAX_EXPO, ar_data::ar_ieee64, AR_IEEE64_MAX_EXPO, 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_data::ar_mips128, AR_MIPS128_MAX_EXPO, AR_SIGNED, AR_SIGNEDNESS, AR_STAT_INVALID_TYPE, AR_STAT_NEGATIVE, AR_STAT_OK, AR_STAT_OVERFLOW, AR_STAT_UNDEFINED, AR_STAT_UNDERFLOW, AR_STAT_ZERO, AR_status(), AR_CRAY_64::coeff0, AR_CRAY_128::coeff0, AR_CRAY_64::coeff1, AR_CRAY_128::coeff1, AR_CRAY_64::coeff2, AR_CRAY_128::coeff2, AR_CRAY_128::coeff3, AR_CRAY_128::coeff4, AR_CRAY_128::coeff5, AR_IEEE_32::expo, AR_IEEE_64::expo, AR_IEEE_128::expo, AR_MIPS_128::expo, AR_CRAY_64::expo, AR_CRAY_128::expo, AR_MIPS_128::expol, HOST_IS_MIPS, INT16_SIGN, INT24_SIGN, INT32_SIGN, INT64_SIGN, INT8_SIGN, IS_IEEE128_NZ_COEFF, IS_IEEE32_NZ_COEFF, IS_IEEE64_NZ_COEFF, IS_INT16_ZERO, IS_INT24_ZERO, IS_INT32_ZERO, IS_INT64_ZERO, IS_INT8_ZERO, IS_MIPS128_NZ_COEFF, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, AR_IEEE_32::sign, AR_IEEE_64::sign, AR_IEEE_128::sign, AR_MIPS_128::sign, AR_CRAY_64::sign, AR_CRAY_128::sign, and AR_CRAY_128::zero.

Referenced by AR_abs(), AR_add_ptr_int(), AR_cabs(), ar_cabs(), AR_conj(), AR_convert_float_to_str(), ar_convert_str_to_float(), ar_convert_to_float(), ar_cvt_str_to_float(), AR_divide(), ar_divide_complex(), AR_dshiftl(), AR_dshiftr(), AR_exp(), ar_exp(), ar_i128to64(), ar_i64to128(), AR_ibits(), ar_ifadd128(), ar_ifdiv128(), ar_ifix128(), ar_iflt128(), ar_ifmul128(), AR_index(), AR_ishft(), AR_ishftc(), AR_leadz(), AR_log(), ar_log(), AR_make_complex(), AR_mask(), AR_mod(), AR_Modulo(), ar_negate_float(), AR_popcnt(), AR_poppar(), ar_power(), AR_scan(), AR_shiftl(), AR_shiftr(), AR_sqrt(), ar_sqrt(), AR_status(), ar_subtract_integer(), AR_verify(), bitoper(), and pvp_isnormal().

Here is the call graph for this function:

int AR_subtract ( AR_DATA result,
const AR_TYPE resulttype,
const AR_DATA opnd1,
const AR_TYPE opnd1type,
const AR_DATA opnd2,
const AR_TYPE opnd2type 
)

Definition at line 643 of file math.c.

References ar_cfsub128(), ar_cfsub64(), AR_CLASS, AR_CLASS_FLOAT, AR_CLASS_INT, AR_CLASS_POINTER, 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_CRAY_64_trunc(), 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_ieee128, ar_data::ar_ieee32, ar_data::ar_ieee64, ar_ifsub128(), ar_ifsub32(), ar_ifsub64(), AR_SIGNEDNESS, AR_STAT_INVALID_TYPE, AR_STAT_NEGATIVE, AR_STAT_OVERFLOW, AR_STAT_ZERO, ar_state_register, ar_subtract_integer(), ar_subtract_pointer(), ar_state_info::ar_truncate_bits, AR_UNSIGNED, CPLX32_IMAG_TO_IEEE32, CPLX32_REAL_TO_IEEE32, IEEE32_TO_CPLX32_IMAG, IEEE32_TO_CPLX32_REAL, AR_CPLX_IEEE_64::imag, AR_CPLX_IEEE_128::imag, AR_CPLX_CRAY_64::imag, AR_CPLX_CRAY_128::imag, 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_divide_complex(), ar_multiply_complex(), folder_driver(), main(), and test_subtract().

Here is the call graph for this function:

int AR_transfer ( void *  result,
const void *  source,
const void *  mold,
const AR_DATA size,
const AR_TYPE sizetype 
)

Definition at line 179 of file intrin.c.

References AR_Int_16_S, AR_Int_32_S, AR_Int_64_S, AR_Int_8_S, AR_INT_SIZE, AR_DATA::ar_internal_data_item1, AR_STAT_INVALID_TYPE, AR_STAT_UNDEFINED, ar_transfer(), and NULL.

Referenced by folder_driver().

Here is the call graph for this function:

int AR_verify ( AR_DATA result,
const AR_TYPE resulttype,
const char *  str1,
const AR_DATA str1len,
const AR_TYPE str1lentype,
const char *  str2,
const AR_DATA str2len,
const AR_TYPE str2lentype,
const AR_DATA backward,
const AR_TYPE backwardtype 
)
const char* arith_vers_ID ( void  )

Definition at line 44 of file edition.c.

Referenced by print_id_line().

const char* arith_vers_name ( void  )

Definition at line 42 of file edition.c.

const char* arith_vers_number ( void  )

Definition at line 46 of file edition.c.

Referenced by print_id_line().


Variable Documentation

Definition at line 79 of file miscmath.c.

Referenced by ar_isqrt64().

Definition at line 80 of file miscmath.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines