SpeedCrunch  0.11
Defines | Functions | Variables
/usr/src/RPM/BUILD/speedcrunch-0.11/src/math/floatnum.c File Reference
#include "floatnum.h"
#include "floatlong.h"
#include <stdio.h>
#include <string.h>
Include dependency graph for floatnum.c:

Defines

#define NOSPECIALVALUE   1
#define _scaleof(f)   (f->significand->n_scale)
#define _lenof(f)   (f->significand->n_len)
#define _valueof(f)   (f->significand->n_value)
#define _digit(f, offset)   (*(_valueof(f) + offset))
#define _setscale(f, value)   (_scaleof(f) = value)

Functions

const char * _memskip (const char *buf, const char *end, char accept)
int float_getrange ()
int float_getprecision ()
int float_setrange (int maxexp)
int float_setprecision (int digits)
char float_isvalidexp (int exp)
Error float_geterror ()
void float_seterror (Error code)
void floatnum_init ()
void float_create (floatnum f)
void float_setnan (floatnum f)
char _setnan (floatnum result)
char _seterror (floatnum result, Error code)
void float_setzero (floatnum f)
char _setzero (floatnum result)
char float_isnan (cfloatnum f)
char float_iszero (cfloatnum f)
int float_getlength (cfloatnum f)
char float_getdigit (cfloatnum f, int ofs)
char _checknan (cfloatnum f)
signed char float_getsign (cfloatnum f)
void float_setsign (floatnum f, signed char s)
char float_neg (floatnum f)
char float_abs (floatnum f)
signed char float_cmp (cfloatnum val1, cfloatnum val2)
int float_getsignificand (char *buf, int bufsz, cfloatnum f)
int float_getexponent (cfloatnum f)
int float_getscientific (char *buf, int bufsz, cfloatnum f)
int float_setsignificand (floatnum f, int *leadingzeros, const char *buf, int bufsz)
void float_setexponent (floatnum f, int exponent)
void float_setscientific (floatnum f, const char *buf, int bufsz)
void float_setinteger (floatnum dest, int value)
void float_move (floatnum dest, floatnum source)
char float_copy (floatnum dest, cfloatnum source, int digits)
char float_round (floatnum dest, cfloatnum src, int digits, roundmode mode)
char float_int (floatnum f)
char float_frac (floatnum f)
char float_add (floatnum dest, cfloatnum summand1, cfloatnum summand2, int digits)
char float_sub (floatnum dest, cfloatnum minuend, cfloatnum subtrahend, int scale)
char float_mul (floatnum dest, cfloatnum factor1, cfloatnum factor2, int digits)
char float_div (floatnum dest, cfloatnum dividend, cfloatnum divisor, int digits)
char float_divmod (floatnum quotient, floatnum remainder, cfloatnum dividend, cfloatnum divisor, int digits)
char float_sqrt (floatnum value, int digits)

Variables

int maxdigits = MAXDIGITS
Error float_error
int expmax = EXPMAX
int expmin = EXPMIN

Define Documentation

#define _digit (   f,
  offset 
)    (*(_valueof(f) + offset))
#define _lenof (   f)    (f->significand->n_len)
#define _scaleof (   f)    (f->significand->n_scale)
#define _setscale (   f,
  value 
)    (_scaleof(f) = value)
#define _valueof (   f)    (f->significand->n_value)
#define NOSPECIALVALUE   1

Function Documentation

char _checknan ( cfloatnum  f)
const char* _memskip ( const char *  buf,
const char *  end,
char  accept 
)
char _seterror ( floatnum  result,
Error  code 
)
char _setnan ( floatnum  result)
char _setzero ( floatnum  result)
char float_abs ( floatnum  f)
char float_add ( floatnum  dest,
cfloatnum  summand1,
cfloatnum  summand2,
int  digits 
)
signed char float_cmp ( cfloatnum  val1,
cfloatnum  val2 
)
char float_copy ( floatnum  dest,
cfloatnum  source,
int  digits 
)
void float_create ( floatnum  f)
char float_div ( floatnum  dest,
cfloatnum  dividend,
cfloatnum  divisor,
int  digits 
)
char float_divmod ( floatnum  quotient,
floatnum  remainder,
cfloatnum  dividend,
cfloatnum  divisor,
int  digits 
)
char float_frac ( floatnum  f)
char float_getdigit ( cfloatnum  f,
int  ofs 
)
int float_getrange ( )
int float_getscientific ( char *  buf,
int  bufsz,
cfloatnum  f 
)
signed char float_getsign ( cfloatnum  f)
int float_getsignificand ( char *  buf,
int  bufsz,
cfloatnum  f 
)
char float_int ( floatnum  f)
char float_isnan ( cfloatnum  f)
char float_isvalidexp ( int  exp)
char float_iszero ( cfloatnum  f)
void float_move ( floatnum  dest,
floatnum  source 
)
char float_mul ( floatnum  dest,
cfloatnum  factor1,
cfloatnum  factor2,
int  digits 
)
char float_neg ( floatnum  f)
char float_round ( floatnum  dest,
cfloatnum  src,
int  digits,
roundmode  mode 
)
void float_seterror ( Error  code)
void float_setexponent ( floatnum  f,
int  exponent 
)
void float_setinteger ( floatnum  dest,
int  value 
)
void float_setnan ( floatnum  f)
int float_setprecision ( int  digits)
int float_setrange ( int  maxexp)
void float_setscientific ( floatnum  f,
const char *  buf,
int  bufsz 
)
void float_setsign ( floatnum  f,
signed char  s 
)
int float_setsignificand ( floatnum  f,
int *  leadingzeros,
const char *  buf,
int  bufsz 
)
void float_setzero ( floatnum  f)
char float_sqrt ( floatnum  value,
int  digits 
)
char float_sub ( floatnum  dest,
cfloatnum  minuend,
cfloatnum  subtrahend,
int  scale 
)
void floatnum_init ( )

Variable Documentation

int expmax = EXPMAX
int expmin = EXPMIN