Data Structures |
struct | Gmp |
| A GMP big number. More...
|
struct | QNumber |
| A big number can either be a GMP big number or still be a long. More...
|
Defines |
#define | manual_set_buf_size 100 |
#define | QNumber_NUM_BITS_NORMAL (sizeof(long) * 8) |
| QNumber class description.
|
Functions |
void | clean_mpz_pool (mpz_t *mpz_pool, size_t nr_to_clean) |
Gmp * | Gmp_alloc (void) |
void | Gmp_free (Gmp *p) |
void | init_mpz_pool (mpz_t *mpz_pool, size_t nr_to_init) |
QNumber | QNumber_abs (const QNumber *n) |
boolean | QNumber_add_overflow (long *res, long lhs, long rhs) |
QNumber | QNumber_assign (mpz_t n, mpz_t d, int b) |
boolean | QNumber_big (const QNumber *self) |
void | QNumber_clean_gmp (QNumber *p) |
int | QNumber_cmp (const QNumber *a, const QNumber *b) |
boolean | QNumber_decompose (const QNumber *self, QNumber *z, QNumber *q) |
boolean | QNumber_div_overflow (long *res, long lhs, long rhs) |
boolean | QNumber_divides (const QNumber *self, const QNumber *other) |
void | QNumber_divmod (const QNumber *self, const QNumber *other, QNumber *q, QNumber *r) |
boolean | QNumber_fix_int_min (QNumber *self) |
QNumber | QNumber_floor (const QNumber *self) |
QNumber | QNumber_from_long (long n) |
QNumber | QNumber_from_mpq (mpq_t *n) |
QNumber | QNumber_from_nothing (void) |
QNumber | QNumber_from_other (const QNumber *other) |
QNumber | QNumber_from_two_longs (long n, long d) |
QNumber | QNumber_from_two_mpzs (mpz_t *n, mpz_t *d) |
QNumber | QNumber_gcd (const QNumber *a, const QNumber *b) |
long | QNumber_gcd_long (long a, long b) |
long | QNumber_gcd_nocache (long a, long b) |
QNumber | QNumber_get_den (const QNumber *self) |
QNumber | QNumber_get_num (const QNumber *self) |
int | QNumber_integer_from_string (char *str, char *error, int base, QNumber *target) |
QNumber | QNumber_inv (const QNumber *self) |
boolean | QNumber_is_int_big (const QNumber *self) |
boolean | QNumber_is_int_normal (const QNumber *self) |
boolean | QNumber_is_integer (const QNumber *self) |
void | QNumber_make_big (QNumber *self) |
QNumber | QNumber_make_number_from_unsigned_long_long (unsigned long long n) |
boolean | QNumber_mul_overflow (long *res, long lhs, long rhs) |
QNumber | QNumber_neg (const QNumber *self) |
void | QNumber_normalize (QNumber *self) |
QNumber | QNumber_operator_div (const QNumber *a, const QNumber *b) |
boolean | QNumber_operator_equals (const QNumber *n, const QNumber *r) |
boolean | QNumber_operator_less_than (const QNumber *n, const QNumber *r) |
boolean | QNumber_operator_less_than_both_big (const QNumber *n, const QNumber *r) |
boolean | QNumber_operator_less_than_both_small (const QNumber *n, const QNumber *r) |
boolean | QNumber_operator_less_than_n_small (const QNumber *n, const QNumber *r) |
boolean | QNumber_operator_less_than_or_equals (const QNumber *a, const QNumber *b) |
boolean | QNumber_operator_less_than_r_small (const QNumber *n, const QNumber *r) |
QNumber | QNumber_operator_minus (const QNumber *a, const QNumber *b) |
boolean | QNumber_operator_more_than (const QNumber *a, const QNumber *b) |
boolean | QNumber_operator_more_than_or_equals (const QNumber *a, const QNumber *b) |
QNumber | QNumber_operator_mul (const QNumber *a, const QNumber *b) |
boolean | QNumber_operator_not_equal (const QNumber *a, const QNumber *b) |
QNumber | QNumber_operator_plus (const QNumber *a, const QNumber *b) |
QNumber | QNumber_operator_unaray_minus (const QNumber *r) |
char * | QNumber_print_integer (const QNumber *n, int base) |
void | QNumber_self_addmul (QNumber *self, const QNumber *a, const QNumber *b) |
void | QNumber_self_decompose (const QNumber *self) |
void | QNumber_self_neg (QNumber *self) |
boolean | QNumber_self_to_int (const QNumber *self, int *out_value) |
int | QNumber_sgn (const QNumber *n) |
boolean | QNumber_sub_overflow (long *res, long lhs, long rhs) |