Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
math.c File Reference
#include "arith.internal.h"
Include dependency graph for math.c:

Go to the source code of this file.

Functions

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)
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)
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 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)
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)
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)
int ar_negate_integer (ar_data *result, const AR_TYPE *resulttype, const ar_data *opnd, const AR_TYPE *opndtype)
int ar_negate_float (ar_data *result, const AR_TYPE *resulttype, const ar_data *opnd, const AR_TYPE *opndtype)
static int ar_negate_complex (ar_data *result, const AR_TYPE *resulttype, const ar_data *opnd, const AR_TYPE *opndtype)
int AR_negate (AR_DATA *res, const AR_TYPE *resulttype, const AR_DATA *opd, const AR_TYPE *opndtype)
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)
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 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)
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)
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)
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)
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)
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_mod (AR_DATA *res, const AR_TYPE *resulttype, const AR_DATA *op1, const AR_TYPE *opnd1type, const AR_DATA *op2, const AR_TYPE *opnd2type)
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)
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)

Variables

static char USMID [] = "\n%Z%%M% %I% %G% %U%\n"
static char rcsid [] = "$Id: math.c,v 1.1.1.1 2002-05-22 20:06:19 dsystem Exp $"

Function Documentation

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

Here is the call graph for this function:

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]
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 
)
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:

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

Here is the call graph for this function:

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

Here is the call graph for this function:

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

Here is the call graph for this function:

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

Here is the call graph for this function:

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]

Variable Documentation

char rcsid[] = "$Id: math.c,v 1.1.1.1 2002-05-22 20:06:19 dsystem Exp $" [static]

Definition at line 2451 of file math.c.

char USMID[] = "\n%Z%%M% %I% %G% %U%\n" [static]

Definition at line 2450 of file math.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines