SpeedCrunch  0.11
Classes | Defines | Typedefs | Enumerations | Functions | Variables
/usr/src/RPM/BUILD/speedcrunch-0.11/src/math/number.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  bc_struct

Defines

#define BASE   10
#define CH_VAL(c)   (c - '0')
#define CH_HEX(c)   ((c < ':') ? ( c - '0') : (c < 'G') ? ( c - 'A' + 10) : ( c - 'a' + 10))
#define BCD_CHAR(d)   (d + '0')
#define MAX(a, b)   ((a)>(b)?(a):(b))
#define MIN(a, b)   ((a)>(b)?(b):(a))
#define ODD(a)   ((a)&1)

Typedefs

typedef struct bc_structbc_num
typedef struct bc_struct bc_struct

Enumerations

enum  sign { PLUS, MINUS }

Functions

 _PROTOTYPE (void bc_init_numbers,(void))
 _PROTOTYPE (bc_num bc_new_num,(int length, int scale))
 _PROTOTYPE (void bc_free_num,(bc_num *num))
 _PROTOTYPE (bc_num bc_copy_num,(bc_num num))
 _PROTOTYPE (void bc_str2num,(bc_num *num, char *str, int scale))
 _PROTOTYPE (char *bc_num2str,(bc_num num))
 _PROTOTYPE (void bc_int2num,(bc_num *num, int val))
 _PROTOTYPE (long bc_num2long,(bc_num num))
 _PROTOTYPE (int bc_compare,(bc_num n1, bc_num n2))
 _PROTOTYPE (char bc_is_zero,(bc_num num))
 _PROTOTYPE (char bc_is_near_zero,(bc_num num, int scale))
 _PROTOTYPE (void bc_add,(bc_num n1, bc_num n2, bc_num *result, int scale_min))
 _PROTOTYPE (void bc_multiply,(bc_num n1, bc_num n2, bc_num *prod, int scale))
 _PROTOTYPE (int bc_divide,(bc_num n1, bc_num n2, bc_num *quot, int scale))
 _PROTOTYPE (int bc_modulo,(bc_num num1, bc_num num2, bc_num *result, int scale))
 _PROTOTYPE (int bc_divmod,(bc_num num1, bc_num num2, bc_num *quot, bc_num *rem, int scale))
 _PROTOTYPE (int bc_raisemod,(bc_num base, bc_num expo, bc_num mod, bc_num *result, int scale))
 _PROTOTYPE (void bc_raise,(bc_num num1, bc_num num2, bc_num *result, int scale))
 _PROTOTYPE (int bc_sqrt,(bc_num *num, int scale))
 _PROTOTYPE (void bc_out_num,(bc_num num, int o_base, void(*out_char)(int), int leading_zero))

Variables

bc_num _zero_
bc_num _one_
bc_num _two_

Define Documentation

#define BASE   10
#define BCD_CHAR (   d)    (d + '0')
#define CH_HEX (   c)    ((c < ':') ? ( c - '0') : (c < 'G') ? ( c - 'A' + 10) : ( c - 'a' + 10))
#define CH_VAL (   c)    (c - '0')
#define MAX (   a,
 
)    ((a)>(b)?(a):(b))
#define MIN (   a,
 
)    ((a)>(b)?(b):(a))
#define ODD (   a)    ((a)&1)

Typedef Documentation

typedef struct bc_struct* bc_num
typedef struct bc_struct bc_struct

Enumeration Type Documentation

enum sign
Enumerator:
PLUS 
MINUS 

Function Documentation

_PROTOTYPE ( void  bc_init_numbers,
(void)   
)
_PROTOTYPE ( bc_num  bc_new_num,
(int length, int scale)   
)
_PROTOTYPE ( void  bc_free_num,
(bc_num *num)   
)
_PROTOTYPE ( bc_num  bc_copy_num,
(bc_num num)   
)
_PROTOTYPE ( void  bc_str2num,
(bc_num *num, char *str, int scale)   
)
_PROTOTYPE ( char *  bc_num2str,
(bc_num num)   
)
_PROTOTYPE ( void  bc_int2num,
(bc_num *num, int val)   
)
_PROTOTYPE ( long  bc_num2long,
(bc_num num)   
)
_PROTOTYPE ( int  bc_compare,
(bc_num n1, bc_num n2)   
)
_PROTOTYPE ( char  bc_is_zero,
(bc_num num)   
)
_PROTOTYPE ( char  bc_is_near_zero,
(bc_num num, int scale)   
)
_PROTOTYPE ( void  bc_add,
(bc_num n1, bc_num n2, bc_num *result, int scale_min)   
)
_PROTOTYPE ( void  bc_multiply,
(bc_num n1, bc_num n2, bc_num *prod, int scale)   
)
_PROTOTYPE ( int  bc_divide,
(bc_num n1, bc_num n2, bc_num *quot, int scale)   
)
_PROTOTYPE ( int  bc_modulo,
(bc_num num1, bc_num num2, bc_num *result, int scale)   
)
_PROTOTYPE ( int  bc_divmod,
(bc_num num1, bc_num num2, bc_num *quot, bc_num *rem, int scale)   
)
_PROTOTYPE ( int  bc_raisemod,
(bc_num base, bc_num expo, bc_num mod, bc_num *result, int scale)   
)
_PROTOTYPE ( void  bc_raise,
(bc_num num1, bc_num num2, bc_num *result, int scale)   
)
_PROTOTYPE ( int  bc_sqrt,
(bc_num *num, int scale)   
)
_PROTOTYPE ( void  bc_out_num,
(bc_num num, int o_base, void(*out_char)(int), int leading_zero)   
)

Variable Documentation