Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "arith.internal.h"
Go to the source code of this file.
int AR_add | ( | AR_DATA * | res, |
const AR_TYPE * | resulttype, | ||
const AR_DATA * | op1, | ||
const AR_TYPE * | opnd1type, | ||
const AR_DATA * | op2, | ||
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().
int ar_add_integer | ( | 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 46 of file math.c.
References ar_data::ar_i64, ar_data::ar_i8, AR_INT_SIZE, AR_INT_SIZE_16, 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_ZERO, AR_UNSIGNED, INT16_SIGN, INT32_SIGN, INT64_SIGN, INT8_SIGN, IS_INT16_ZERO, IS_INT32_ZERO, IS_INT64_ZERO, IS_INT8_ZERO, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, AR_INT_8_64::part5, ZERO_INT16_UPPER, ZERO_INT32_UPPER, and ZERO_INT8_UPPER.
Referenced by AR_add(), ar_add_pointer(), AR_add_ptr_int(), AR_convert_str_to_int(), ar_isqrt64(), ar_multiply_integer(), and ar_negate_integer().
static int ar_add_pointer | ( | ar_data * | result, |
const AR_TYPE * | resulttype, | ||
const ar_data * | opnd1, | ||
const AR_TYPE * | opnd1type, | ||
const ar_data * | opnd2, | ||
const AR_TYPE * | opnd2type | ||
) | [static] |
Definition at line 361 of file math.c.
References ar_add_integer(), AR_CLASS, AR_CLASS_INT, AR_CLASS_POINTER, ar_clear_unused_bits(), ar_dblshift(), ar_data::ar_i64, AR_Int_64_U, AR_POINTER_CHAR, AR_POINTER_FCTN, AR_POINTER_FORMAT, AR_STAT_INVALID_TYPE, and AR_STAT_OK.
Referenced by AR_add().
int AR_add_ptr_int | ( | AR_DATA * | res, |
const AR_TYPE * | resulttype, | ||
const AR_DATA * | op1, | ||
const AR_TYPE * | opnd1type, | ||
const AR_DATA * | op2, | ||
const AR_TYPE * | opnd2type, | ||
const AR_DATA * | op3, | ||
const AR_TYPE * | opnd3type | ||
) |
Definition at line 2274 of file math.c.
References ar_add_integer(), AR_CLASS, AR_CLASS_INT, AR_CLASS_POINTER, ar_clear_unused_bits(), ar_convert_to_integral(), ar_dblshift(), ar_data::ar_i64, AR_Int_64_S, ar_multiply_integer(), AR_POINTER_24, AR_POINTER_32, AR_POINTER_64, AR_POINTER_CHAR, AR_POINTER_FCTN, AR_POINTER_FORMAT, AR_POINTER_SIZE, AR_POINTER_WORD, AR_STAT_INVALID_TYPE, AR_STAT_OVERFLOW, AR_STAT_UNDEFINED, AR_STAT_ZERO, AR_status(), INT64_SIGN, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, and result.
int AR_divide | ( | AR_DATA * | res, |
const AR_TYPE * | resulttype, | ||
const AR_DATA * | op1, | ||
const AR_TYPE * | opnd1type, | ||
const AR_DATA * | op2, | ||
const AR_TYPE * | opnd2type | ||
) |
Definition at line 2079 of file math.c.
References AR_CLASS, AR_CLASS_FLOAT, AR_CLASS_INT, ar_compose_complex(), ar_decompose_complex(), ar_divide_complex(), ar_divide_float(), ar_divide_integer(), AR_FLOAT_COMPLEX, AR_FLOAT_IS_COMPLEX, AR_Int_46_S, AR_INT_SIZE, AR_INT_SIZE_16, 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_OVERFLOW, AR_STAT_ZERO, AR_status(), INT16_SIGN, INT32_SIGN, INT64_SIGN, INT8_SIGN, INT_OVERFLOWS_46_BITS, IS_INT16_ZERO, IS_INT32_ZERO, IS_INT64_ZERO, and IS_INT8_ZERO.
Referenced by ar_divide_complex(), ar_power(), folder_driver(), and main().
static int ar_divide_float | ( | ar_data * | result, |
const AR_TYPE * | resulttype, | ||
const ar_data * | opnd1, | ||
const AR_TYPE * | opnd1type, | ||
const ar_data * | opnd2, | ||
const AR_TYPE * | opnd2type | ||
) | [static] |
Definition at line 2031 of file math.c.
References ar_cfdiv128(), ar_cfdiv64(), 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_ifdiv128(), ar_ifdiv32(), ar_ifdiv64(), AR_STAT_INVALID_TYPE, and ROUND_MODE.
Referenced by AR_divide().
int ar_divide_integer | ( | ar_data * | result1, |
const AR_TYPE * | result1type, | ||
ar_data * | result2, | ||
const AR_TYPE * | result2type, | ||
const ar_data * | opnd1, | ||
const AR_TYPE * | opnd1type, | ||
const ar_data * | opnd2, | ||
const AR_TYPE * | opnd2type | ||
) |
Definition at line 1633 of file math.c.
References ar_data::ar_i64, ar_data::ar_i8, AR_Int_16_U, AR_Int_32_U, AR_Int_64_U, AR_Int_8_U, AR_INT_SIZE, AR_INT_SIZE_16, AR_INT_SIZE_32, AR_INT_SIZE_46, AR_INT_SIZE_64, AR_INT_SIZE_8, ar_internal_error(), AR_leadz(), ar_negate_integer(), AR_shiftl(), AR_shiftr(), AR_SIGNED, AR_SIGNEDNESS, AR_STAT_INVALID_TYPE, AR_STAT_OK, AR_STAT_OVERFLOW, AR_STAT_ZERO, ar_subtract_integer(), INT16_SIGN, INT32_SIGN, INT64_SIGN, INT8_SIGN, IS_INT16_ZERO, IS_INT32_ZERO, IS_INT64_ZERO, IS_INT8_ZERO, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, AR_INT_8_64::part5, ZERO_INT16, ZERO_INT16_ALL, ZERO_INT16_UPPER, ZERO_INT32, ZERO_INT32_ALL, ZERO_INT32_UPPER, ZERO_INT64, ZERO_INT64_ALL, ZERO_INT8, ZERO_INT8_ALL, and ZERO_INT8_UPPER.
Referenced by AR_convert_int_to_str(), AR_divide(), AR_mod(), and AR_subtract_ptr_ptr().
int AR_mod | ( | AR_DATA * | res, |
const AR_TYPE * | resulttype, | ||
const AR_DATA * | op1, | ||
const AR_TYPE * | opnd1type, | ||
const AR_DATA * | op2, | ||
const AR_TYPE * | opnd2type | ||
) |
Definition at line 2213 of file math.c.
References AR_CLASS, AR_CLASS_INT, ar_divide_integer(), AR_INT_SIZE, AR_INT_SIZE_16, 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_OVERFLOW, AR_STAT_ZERO, AR_status(), INT16_SIGN, INT32_SIGN, INT64_SIGN, and INT8_SIGN.
Referenced by AR_modulo(), and folder_driver().
int AR_multiply | ( | AR_DATA * | res, |
const AR_TYPE * | resulttype, | ||
const AR_DATA * | op1, | ||
const AR_TYPE * | opnd1type, | ||
const AR_DATA * | op2, | ||
const AR_TYPE * | opnd2type | ||
) |
Definition at line 1583 of file math.c.
References AR_CLASS, AR_CLASS_FLOAT, AR_CLASS_INT, AR_FLOAT_COMPLEX, AR_FLOAT_IS_COMPLEX, AR_INT_SIZE, AR_INT_SIZE_16, AR_INT_SIZE_32, AR_INT_SIZE_46, AR_INT_SIZE_64, AR_INT_SIZE_8, ar_multiply_complex(), ar_multiply_float(), ar_multiply_integer(), AR_SIGNEDNESS, AR_STAT_INVALID_TYPE, AR_STAT_OVERFLOW, and AR_UNSIGNED.
Referenced by ar_cabs(), ar_divide_complex(), ar_multiply_complex(), ar_power(), folder_driver(), and main().
static int ar_multiply_complex | ( | ar_data * | result, |
const AR_TYPE * | resulttype, | ||
const ar_data * | opnd1, | ||
const AR_TYPE * | opnd1type, | ||
const ar_data * | opnd2, | ||
const AR_TYPE * | opnd2type | ||
) | [static] |
Definition at line 1547 of file math.c.
References AR_add(), ar_compose_complex(), ar_decompose_complex(), AR_multiply(), AR_STAT_NEGATIVE, AR_STAT_ZERO, AR_subtract(), c, and d.
Referenced by AR_multiply().
static int ar_multiply_float | ( | ar_data * | result, |
const AR_TYPE * | resulttype, | ||
const ar_data * | opnd1, | ||
const AR_TYPE * | opnd1type, | ||
const ar_data * | opnd2, | ||
const AR_TYPE * | opnd2type | ||
) | [static] |
Definition at line 1495 of file math.c.
References ar_cfmul128(), ar_cfmul64(), 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_ifmul128(), ar_ifmul32(), ar_ifmul64(), AR_STAT_INVALID_TYPE, ar_state_register, ar_state_info::ar_truncate_bits, and ROUND_MODE.
Referenced by AR_multiply().
int ar_multiply_integer | ( | 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 1015 of file math.c.
References ar_add_integer(), ar_data::ar_i64, ar_data::ar_i8, AR_Int_32_U, AR_Int_46_S, AR_Int_64_U, AR_INT_SIZE, AR_INT_SIZE_16, AR_INT_SIZE_32, AR_INT_SIZE_46, AR_INT_SIZE_64, AR_INT_SIZE_8, ar_negate_integer(), AR_SIGNED, AR_SIGNEDNESS, AR_STAT_INVALID_TYPE, AR_STAT_NEGATIVE, AR_STAT_OK, AR_STAT_OVERFLOW, AR_STAT_ZERO, INT16_SIGN, INT32_SIGN, INT64_SIGN, INT8_SIGN, INT_OVERFLOWS_46_BITS, IS_INT16_ZERO, IS_INT32_ZERO, IS_INT64_ZERO, IS_INT8_ZERO, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, AR_INT_8_64::part5, uint32_artype, uint64_artype, ZERO_INT16_UPPER, ZERO_INT32_UPPER, and ZERO_INT8_UPPER.
Referenced by AR_add_ptr_int(), AR_convert_str_to_int(), and AR_multiply().
int AR_negate | ( | AR_DATA * | res, |
const AR_TYPE * | resulttype, | ||
const AR_DATA * | opd, | ||
const AR_TYPE * | opndtype | ||
) |
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().
static int ar_negate_complex | ( | ar_data * | result, |
const AR_TYPE * | resulttype, | ||
const ar_data * | opnd, | ||
const AR_TYPE * | opndtype | ||
) | [static] |
Definition at line 968 of file math.c.
References AR_CLASS, AR_CLASS_FLOAT, ar_compose_complex(), ar_decompose_complex(), AR_FLOAT_COMPLEX, AR_FLOAT_IS_COMPLEX, ar_negate_float(), AR_STAT_INVALID_TYPE, AR_STAT_NEGATIVE, and AR_STAT_ZERO.
Referenced by AR_negate().
int ar_negate_float | ( | ar_data * | result, |
const AR_TYPE * | resulttype, | ||
const ar_data * | opnd, | ||
const AR_TYPE * | opndtype | ||
) |
Definition at line 903 of file math.c.
References AR_CLASS, AR_CLASS_FLOAT, ar_data::ar_f128, ar_data::ar_f64, AR_FLOAT_128, AR_FLOAT_32, AR_FLOAT_64, AR_FLOAT_CRAY, AR_FLOAT_FORMAT, AR_FLOAT_SIZE, ar_data::ar_ieee128, ar_data::ar_ieee32, ar_data::ar_ieee64, ar_data::ar_mips128, AR_STAT_INVALID_TYPE, AR_STAT_OK, 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_CRAY_64::expo, AR_CRAY_128::expo, HOST_IS_MIPS, 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_MIPS_128::signl.
Referenced by AR_conj(), AR_negate(), and ar_negate_complex().
int ar_negate_integer | ( | ar_data * | result, |
const AR_TYPE * | resulttype, | ||
const ar_data * | opnd, | ||
const AR_TYPE * | opndtype | ||
) |
Definition at line 800 of file math.c.
References ar_add_integer(), AR_CLASS, AR_CLASS_INT, ar_data::ar_i64, ar_data::ar_i8, 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_OVERFLOW, AR_STAT_SEMIVALID, AR_UNSIGNED, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, and AR_INT_8_64::part5.
Referenced by AR_abs(), AR_convert_int_to_str(), ar_divide_integer(), ar_multiply_integer(), and AR_negate().
int AR_subtract | ( | AR_DATA * | res, |
const AR_TYPE * | resulttype, | ||
const AR_DATA * | op1, | ||
const AR_TYPE * | opnd1type, | ||
const AR_DATA * | op2, | ||
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().
int ar_subtract_integer | ( | ar_data * | result, |
const AR_TYPE * | resulttype, | ||
int * | flags, | ||
const ar_data * | opnd1, | ||
const AR_TYPE * | opnd1type, | ||
const ar_data * | opnd2, | ||
const AR_TYPE * | opnd2type | ||
) |
Definition at line 202 of file math.c.
References AR_CLASS, AR_CLASS_INT, ar_data::ar_i64, ar_data::ar_i8, AR_INT_SIZE, AR_INT_SIZE_16, 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_OK, AR_STAT_OVERFLOW, AR_status(), INT16_SIGN, INT32_SIGN, INT64_SIGN, INT8_SIGN, IS_INT16_ZERO, IS_INT32_ZERO, IS_INT64_ZERO, IS_INT8_ZERO, AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, AR_INT_64::part4, AR_INT_8_64::part5, zero, ZERO_INT16_UPPER, ZERO_INT32_UPPER, and ZERO_INT8_UPPER.
Referenced by ar_compare_integer(), ar_divide_integer(), ar_isqrt64(), AR_subtract(), ar_subtract_pointer(), and AR_subtract_ptr_ptr().
static int ar_subtract_pointer | ( | ar_data * | result, |
const AR_TYPE * | resulttype, | ||
const ar_data * | opnd1, | ||
const AR_TYPE * | opnd1type, | ||
const ar_data * | opnd2, | ||
const AR_TYPE * | opnd2type | ||
) | [static] |
Definition at line 412 of file math.c.
References AR_CLASS, AR_CLASS_INT, AR_CLASS_POINTER, ar_clear_unused_bits(), ar_dblshift(), ar_data::ar_i64, AR_Int_64_U, AR_INT_SIZE, AR_INT_SIZE_16, AR_INT_SIZE_32, AR_INT_SIZE_46, AR_INT_SIZE_64, AR_INT_SIZE_8, AR_POINTER_CHAR, AR_POINTER_FCTN, AR_POINTER_FORMAT, AR_STAT_INVALID_TYPE, AR_STAT_OK, and ar_subtract_integer().
Referenced by AR_subtract().
int AR_subtract_ptr_ptr | ( | AR_DATA * | res, |
const AR_TYPE * | resulttype, | ||
const AR_DATA * | op1, | ||
const AR_TYPE * | opnd1type, | ||
const AR_DATA * | op2, | ||
const AR_TYPE * | opnd2type, | ||
const AR_DATA * | op3, | ||
const AR_TYPE * | opnd3type | ||
) |
Definition at line 2376 of file math.c.
References AR_CLASS, AR_CLASS_INT, AR_CLASS_POINTER, AR_const_zero, ar_convert_to_integral(), ar_dblshift(), ar_divide_integer(), ar_data::ar_i64, AR_Int_64_S, AR_POINTER_CHAR, AR_POINTER_FCTN, AR_POINTER_FORMAT, AR_POINTER_WORD, AR_STAT_INEXACT, AR_STAT_INVALID_TYPE, AR_STAT_OVERFLOW, AR_STAT_UNDEFINED, AR_STAT_ZERO, ar_subtract_integer(), AR_INT_64::part1, AR_INT_64::part2, AR_INT_64::part3, and AR_INT_64::part4.