SpeedCrunch  0.11
Classes | Defines | Typedefs | Functions | Variables
/usr/src/RPM/BUILD/speedcrunch-0.11/src/math/number.c File Reference
#include "number.h"
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
Include dependency graph for number.c:

Classes

struct  stk_rec

Defines

#define bc_rt_warn   rt_warn
#define bc_rt_error   rt_error
#define bc_out_of_memory   out_of_memory
#define MUL_BASE_DIGITS   80
#define MUL_SMALL_DIGITS   mul_base_digits/4

Typedefs

typedef struct stk_rec stk_rec

Functions

 _PROTOTYPE (void rt_warn,(char *mesg,...))
 _PROTOTYPE (void out_of_memory,(void))
void out_of_memory (void)
void rt_warn (char *mesg,...)
void rt_error (char *mesg,...)
bc_num bc_new_num (int length, int scale)
void bc_free_num (bc_num *num)
void bc_init_numbers ()
bc_num bc_copy_num (bc_num num)
void bc_init_num (bc_num *num)
int bc_compare (bc_num n1, bc_num n2)
char bc_is_neg (bc_num num)
char bc_is_zero (bc_num num)
char bc_is_near_zero (bc_num num, int scale)
void bc_sub (bc_num n1, bc_num n2, bc_num *result, int scale_min)
void bc_add (bc_num n1, bc_num n2, bc_num *result, int scale_min)
void bc_multiply (bc_num n1, bc_num n2, bc_num *prod, int scale)
int bc_divide (bc_num n1, bc_num n2, bc_num *quot, int scale)
int bc_divmod (bc_num num1, bc_num num2, bc_num *quot, bc_num *rem, int scale)
int bc_modulo (bc_num num1, bc_num num2, bc_num *result, int scale)
int bc_raisemod (bc_num base, bc_num expo, bc_num mod, bc_num *result, int scale)
void bc_raise (bc_num num1, bc_num num2, bc_num *result, int scale)
int bc_sqrt (bc_num *num, int scale)
void bc_out_long (long val, int size, int space, void(*out_char)(int))
void bc_out_num (bc_num num, int o_base, void(*out_char)(int), int leading_zero)
long bc_num2long (bc_num num)
void bc_int2num (bc_num *num, int val)
char * bc_num2str (bc_num num)
void bc_str2num (bc_num *num, char *str, int scale)
void pn (bc_num num)
void pv (char *name, unsigned char *num, int len)

Variables

bc_num _zero_
bc_num _one_
bc_num _two_
int mul_base_digits = MUL_BASE_DIGITS

Define Documentation

#define bc_rt_error   rt_error
#define bc_rt_warn   rt_warn
#define MUL_BASE_DIGITS   80

Typedef Documentation

typedef struct stk_rec stk_rec

Function Documentation

_PROTOTYPE ( void  rt_warn,
(char *mesg,...)   
)
_PROTOTYPE ( void  out_of_memory,
(void)   
)
void bc_add ( bc_num  n1,
bc_num  n2,
bc_num result,
int  scale_min 
)
int bc_compare ( bc_num  n1,
bc_num  n2 
)
int bc_divide ( bc_num  n1,
bc_num  n2,
bc_num quot,
int  scale 
)
int bc_divmod ( bc_num  num1,
bc_num  num2,
bc_num quot,
bc_num rem,
int  scale 
)
void bc_free_num ( bc_num num)
void bc_init_num ( bc_num num)
void bc_init_numbers ( )
void bc_int2num ( bc_num num,
int  val 
)
char bc_is_near_zero ( bc_num  num,
int  scale 
)
char bc_is_neg ( bc_num  num)
char bc_is_zero ( bc_num  num)
int bc_modulo ( bc_num  num1,
bc_num  num2,
bc_num result,
int  scale 
)
void bc_multiply ( bc_num  n1,
bc_num  n2,
bc_num prod,
int  scale 
)
bc_num bc_new_num ( int  length,
int  scale 
)
long bc_num2long ( bc_num  num)
char* bc_num2str ( bc_num  num)
void bc_out_long ( long  val,
int  size,
int  space,
void (*)(int)  out_char 
)
void bc_out_num ( bc_num  num,
int  o_base,
void (*)(int)  out_char,
int  leading_zero 
)
void bc_raise ( bc_num  num1,
bc_num  num2,
bc_num result,
int  scale 
)
int bc_raisemod ( bc_num  base,
bc_num  expo,
bc_num  mod,
bc_num result,
int  scale 
)
int bc_sqrt ( bc_num num,
int  scale 
)
void bc_str2num ( bc_num num,
char *  str,
int  scale 
)
void bc_sub ( bc_num  n1,
bc_num  n2,
bc_num result,
int  scale_min 
)
void out_of_memory ( void  )
void pn ( bc_num  num)
void pv ( char *  name,
unsigned char *  num,
int  len 
)
void rt_error ( char *  mesg,
  ... 
)
void rt_warn ( char *  mesg,
  ... 
)

Variable Documentation