Defines | Functions | Variables

c_qtenscale.c File Reference

#include "defs.h"
Include dependency graph for c_qtenscale.c:

Go to the source code of this file.

Defines

#define min(x, y)   ((x)<(y)? (x): (y))
#define TEN_1   0
#define TEN_32   31
#define TEN_M1   40
#define TEN_M32   71
#define TEN_LAST   80
#define HIBITULL   (1ULL << 63)

Functions

 c_qwmultu (UINT64 *z, UINT64 *x, const UINT64 *y)
static void qnorm_and_round (UINT64 *, INT32 *, UINT64 *)
static void qnorm_and_round (p, INT32 *norm, prod)
void c_qtenscale (p, INT32 exp, INT32 *bexp)

Variables

static char * source_file = __FILE__
static const UINT64 tenpow [80][2]
static const INT32 twoexp [80]

Define Documentation

#define HIBITULL   (1ULL << 63)

Definition at line 165 of file c_qtenscale.c.

Referenced by qnorm_and_round().

#define min (   x,
  y 
)    ((x)<(y)? (x): (y))

Definition at line 53 of file c_qtenscale.c.

Referenced by c_qtenscale().

#define TEN_1   0

Definition at line 159 of file c_qtenscale.c.

#define TEN_32   31

Definition at line 160 of file c_qtenscale.c.

#define TEN_LAST   80

Definition at line 163 of file c_qtenscale.c.

#define TEN_M1   40

Definition at line 161 of file c_qtenscale.c.

#define TEN_M32   71

Definition at line 162 of file c_qtenscale.c.


Function Documentation

void c_qtenscale ( ,
INT32  exp,
INT32 bexp 
)

Definition at line 237 of file c_qtenscale.c.

References c_qwmultu(), min, qnorm_and_round(), tenpow, and twoexp.

Here is the call graph for this function:

c_qwmultu ( UINT64 z,
UINT64 x,
const UINT64 y 
)

Referenced by c_qtenscale().

static void qnorm_and_round ( ,
INT32 norm,
prod   
) [static]

Definition at line 179 of file c_qtenscale.c.

References HIBITULL.

static void qnorm_and_round ( UINT64 ,
INT32 ,
UINT64  
) [static]

Referenced by c_qtenscale().


Variable Documentation

char* source_file = __FILE__ [static]

Definition at line 49 of file c_qtenscale.c.

const UINT64 tenpow[80][2] [static]

Definition at line 57 of file c_qtenscale.c.

Referenced by c_qtenscale().

const INT32 twoexp[80] [static]
Initial value:
 {
   4,   7,  10,  14,  17,  20,  24,  27,  30,  34,
  37,  40,  44,  47,  50,  54,  57,  60,  64,  67,
  70,  74,  77,  80,  84,  87,  90,  94,  97, 100, 103, 

 107, 213, 319, 426, 532, 638, 745, 851, 957, 

  -3,  -6,  -9, -13, -16, -19, -23, -26, -29, -33,
 -36, -39, -43, -46, -49, -53, -56, -59, -63, -66,
 -69, -73, -76, -79, -83, -86, -89, -93, -96, -99,-102,

-106,-212,-318,-425,-531,-637,-744,-850,-956
}

Definition at line 144 of file c_qtenscale.c.

Referenced by c_qtenscale().