SpeedCrunch
0.11
|
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_struct * | bc_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 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, | |
b | |||
) | ((a)>(b)?(a):(b)) |
#define MIN | ( | a, | |
b | |||
) | ((a)>(b)?(b):(a)) |
#define ODD | ( | a | ) | ((a)&1) |
enum sign |
_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) | |||
) |