Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
quadsim.c File Reference
#include "quad.h"
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#include <fp_class.h>
#include "defs.h"
#include "quadsim.h"
Include dependency graph for quadsim.c:

Go to the source code of this file.

Classes

union  du

Defines

#define DMANTWIDTH   52
#define DEXPWIDTH   11
#define DSIGNMASK   0x7fffffffffffffffll
#define DEXPMASK   0x800fffffffffffffll
#define DQNANBITMASK   0xfff7ffffffffffffll
#define MANTWIDTH   23
#define EXPWIDTH   8
#define SIGNMASK   0x7fffffff
#define EXPMASK   0x807fffff
#define QNANBITMASK   0xffbfffff
#define c_ji_qint   __c_ji_qint
#define c_ji_quint   __c_ji_quint
#define c_ki_qint   __c_ki_qint
#define c_ki_quint   __c_ki_quint
#define c_sngl_q   __c_sngl_q
#define c_dble_q   __c_dble_q
#define c_q_flotj   __c_q_flotj
#define c_q_flotju   __c_q_flotju
#define c_q_flotk   __c_q_flotk
#define c_q_flotku   __c_q_flotku
#define c_q_ext   __c_q_ext
#define c_q_extd   __c_q_extd
#define c_q_trunc   __c_q_trunc
#define c_fp_class_q   __c_fp_class_q

Functions

INT c_q_le (QUAD x, QUAD y, INT *p_err)
INT c_q_ge (QUAD x, QUAD y, INT *p_err)
INT32 c_ji_qint (QUAD x, INT *p_err)
INT32 c_fp_class_q (QUAD x)
UINT32 c_ji_quint (QUAD x, INT *p_err)
INT64 c_ki_qint (QUAD x, INT *p_err)
UINT64 c_ki_quint (QUAD x, INT *p_err)
float c_sngl_q (QUAD x, INT *p_err)
double c_dble_q (QUAD x, INT *p_err)
QUAD c_q_flotj (INT32 n, INT *p_err)
QUAD c_q_flotju (UINT32 n, INT *p_err)
QUAD c_q_flotk (INT64 n, INT *p_err)
QUAD c_q_flotku (UINT64 n, INT *p_err)
QUAD c_q_ext (float x, INT *p_err)
QUAD c_q_extd (double x, INT *p_err)
QUAD c_q_trunc (QUAD x, INT *p_err)
double trunc (double x)
INT fp_class_d (double x)

Variables

static const du m_twop31
static const du twop31m1
static const du twop32m1
static const du twop52
static const du twop62
static const du m_twop63
static const du twop63
static const du twop64
static const du twopm916
static const du myinfinity

Define Documentation

#define c_dble_q   __c_dble_q

Definition at line 386 of file quadsim.c.

Definition at line 661 of file quadsim.c.

#define c_ji_qint   __c_ji_qint

Definition at line 140 of file quadsim.c.

#define c_ji_quint   __c_ji_quint

Definition at line 180 of file quadsim.c.

#define c_ki_qint   __c_ki_qint

Definition at line 231 of file quadsim.c.

Referenced by c_ji_quint().

#define c_ki_quint   __c_ki_quint

Definition at line 300 of file quadsim.c.

#define c_q_ext   __c_q_ext

Definition at line 491 of file quadsim.c.

#define c_q_extd   __c_q_extd

Definition at line 508 of file quadsim.c.

#define c_q_flotj   __c_q_flotj

Definition at line 399 of file quadsim.c.

#define c_q_flotju   __c_q_flotju

Definition at line 416 of file quadsim.c.

#define c_q_flotk   __c_q_flotk

Definition at line 433 of file quadsim.c.

#define c_q_flotku   __c_q_flotku

Definition at line 462 of file quadsim.c.

#define c_q_trunc   __c_q_trunc

Definition at line 527 of file quadsim.c.

Referenced by c_ji_qint(), c_ji_quint(), c_ki_qint(), and c_ki_quint().

#define c_sngl_q   __c_sngl_q

Definition at line 373 of file quadsim.c.

#define DEXPMASK   0x800fffffffffffffll

Definition at line 59 of file quadsim.c.

Referenced by fp_class_d().

#define DEXPWIDTH   11

Definition at line 57 of file quadsim.c.

Referenced by fp_class_d().

#define DMANTWIDTH   52

Definition at line 56 of file quadsim.c.

Referenced by fp_class_d().

#define DQNANBITMASK   0xfff7ffffffffffffll

Definition at line 60 of file quadsim.c.

Referenced by fp_class_d().

#define DSIGNMASK   0x7fffffffffffffffll

Definition at line 58 of file quadsim.c.

Referenced by fp_class_d().

#define EXPMASK   0x807fffff

Definition at line 65 of file quadsim.c.

#define EXPWIDTH   8

Definition at line 63 of file quadsim.c.

#define MANTWIDTH   23

Definition at line 62 of file quadsim.c.

#define QNANBITMASK   0xffbfffff

Definition at line 66 of file quadsim.c.

#define SIGNMASK   0x7fffffff

Definition at line 64 of file quadsim.c.


Function Documentation

double c_dble_q ( QUAD  x,
INT p_err 
)

Definition at line 389 of file quadsim.c.

References QUAD::hi.

Definition at line 695 of file quadsim.c.

References c_q_ge, c_q_le, du::d, fp_class_d(), FP_NEG_DENORM, FP_NEG_NORM, FP_POS_DENORM, FP_POS_NORM, QUAD::hi, and QUAD::lo.

Here is the call graph for this function:

INT32 c_ji_qint ( QUAD  x,
INT p_err 
)

Definition at line 143 of file quadsim.c.

References c_q_trunc, du::d, fabs(), QUAD::hi, result, and return().

Here is the call graph for this function:

UINT32 c_ji_quint ( QUAD  x,
INT p_err 
)

Definition at line 183 of file quadsim.c.

References c_ki_qint, c_q_trunc, du::d, fabs(), QUAD::hi, and result.

Here is the call graph for this function:

INT64 c_ki_qint ( QUAD  x,
INT p_err 
)

Definition at line 234 of file quadsim.c.

References c_q_trunc, du::d, fabs(), QUAD::hi, and QUAD::lo.

Here is the call graph for this function:

UINT64 c_ki_quint ( QUAD  x,
INT p_err 
)

Definition at line 303 of file quadsim.c.

References c_q_trunc, du::d, fabs(), QUAD::hi, and QUAD::lo.

Here is the call graph for this function:

QUAD c_q_ext ( float  x,
INT p_err 
)

Definition at line 494 of file quadsim.c.

References QUAD::hi, QUAD::lo, and result.

QUAD c_q_extd ( double  x,
INT p_err 
)

Definition at line 511 of file quadsim.c.

References QUAD::hi, QUAD::lo, and result.

QUAD c_q_flotj ( INT32  n,
INT p_err 
)

Definition at line 402 of file quadsim.c.

References QUAD::hi, QUAD::lo, and result.

QUAD c_q_flotju ( UINT32  n,
INT p_err 
)

Definition at line 419 of file quadsim.c.

References QUAD::hi, QUAD::lo, and result.

QUAD c_q_flotk ( INT64  n,
INT p_err 
)

Definition at line 436 of file quadsim.c.

References QUAD::hi, QUAD::lo, and result.

QUAD c_q_flotku ( UINT64  n,
INT p_err 
)

Definition at line 465 of file quadsim.c.

References QUAD::hi, QUAD::lo, and result.

INT c_q_ge ( QUAD  x,
QUAD  y,
INT p_err 
)

Definition at line 151 of file c_q_rel.c.

References QUAD::hi, and QUAD::lo.

INT c_q_le ( QUAD  x,
QUAD  y,
INT p_err 
)

Definition at line 77 of file c_q_rel.c.

References QUAD::hi, and QUAD::lo.

QUAD c_q_trunc ( QUAD  x,
INT p_err 
)

Definition at line 530 of file quadsim.c.

References du::d, fabs(), QUAD::hi, QUAD::lo, result, and trunc().

Here is the call graph for this function:

float c_sngl_q ( QUAD  x,
INT p_err 
)

Definition at line 376 of file quadsim.c.

References QUAD::hi.

double trunc ( double  x)

Referenced by _unit_trunc(), c_q_trunc(), and d_int().


Variable Documentation

const du m_twop31 [static]
Initial value:
{0xc1e00000,    0x00000000}

Definition at line 79 of file quadsim.c.

const du m_twop63 [static]
Initial value:
{0xc3e00000,    0x00000000}

Definition at line 94 of file quadsim.c.

const du myinfinity [static]
Initial value:
{0x7ff00000,    0x00000000}

Definition at line 107 of file quadsim.c.

const du twop31m1 [static]
Initial value:
{0x41dfffff,    0xffc00000}

Definition at line 82 of file quadsim.c.

const du twop32m1 [static]
Initial value:
{0x41efffff,    0xffe00000}

Definition at line 85 of file quadsim.c.

const du twop52 [static]
Initial value:
{0x43300000,    0x00000000}

Definition at line 88 of file quadsim.c.

const du twop62 [static]
Initial value:
{0x43d00000,    0x00000000}

Definition at line 91 of file quadsim.c.

const du twop63 [static]
Initial value:
{0x43e00000,    0x00000000}

Definition at line 97 of file quadsim.c.

const du twop64 [static]
Initial value:
{0x43f00000,    0x00000000}

Definition at line 100 of file quadsim.c.

const du twopm916 [static]
Initial value:
{0x06b00000,    0x00000000}

Definition at line 103 of file quadsim.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines