![]() |
libgpac
Documentation of the core library of GPAC
|
#include <stdlib.h>#include <stdio.h>#include <inttypes.h>#include <math.h>#include <string.h>#include <assert.h>#include "cutils.h"#include "libbf.h"
Include dependency graph for libbf.c:Data Structures | |
| union | Float64Union |
| struct | FastDivData |
| struct | BFNTTState |
Macros | |
| #define | USE_FFT_MUL |
| #define | USE_BF_DEC |
| #define | FFT_MUL_THRESHOLD 100 /* in limbs of the smallest factor */ |
| #define | DIVNORM_LARGE_THRESHOLD 50 |
| #define | UDIV1NORM_THRESHOLD 3 |
| #define | FMT_LIMB1 "%x" |
| #define | FMT_LIMB "%08x" |
| #define | PRId_LIMB "d" |
| #define | PRIu_LIMB "u" |
| #define | FFT_MUL_R_OVERLAP_A (1 << 0) |
| #define | FFT_MUL_R_OVERLAP_B (1 << 1) |
| #define | FFT_MUL_R_NORESIZE (1 << 2) |
| #define | malloc(s) malloc_is_forbidden(s) |
| #define | free(p) free_is_forbidden(p) |
| #define | realloc(p, s) realloc_is_forbidden(p, s) |
| #define | BF_LOGIC_OR 0 |
| #define | BF_LOGIC_XOR 1 |
| #define | BF_LOGIC_AND 2 |
| #define | RADIXL_10 UINT64_C(1000000000) |
| #define | CHUD_A 13591409 |
| #define | CHUD_B 545140134 |
| #define | CHUD_C 640320 |
| #define | CHUD_BITS_PER_TERM 47 |
| #define | adddq(r1, r0, a1, a0) |
| #define | subdq(r1, r0, a1, a0) |
| #define | muldq(r1, r0, a, b) |
| #define | divdq(q, r, a1, a0, b) |
| #define | fast_shr_rem_dec(q, r, a, shift) q = fast_shr_dec(a, shift), r = a - q * mp_pow_dec[shift] |
| #define | DIV_STATIC_ALLOC_LEN 16 |
| #define | NTT_TRIG_K_MAX 19 |
| #define | STRIP_LEN 16 |
Typedefs | |
| typedef intptr_t | mp_size_t |
| typedef int | bf_op2_func_t(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags) |
| typedef int | ZivFunc(bf_t *r, const bf_t *a, limb_t prec, void *opaque) |
| typedef limb_t | NTTLimb |
Functions | |
| static no_inline int | fft_mul (bf_context_t *s, bf_t *res, limb_t *a_tab, limb_t a_len, limb_t *b_tab, limb_t b_len, int mul_flags) |
| static void | fft_clear_cache (bf_context_t *s) |
| static limb_t | get_digit (const limb_t *tab, limb_t len, slimb_t pos) |
| static int | clz (limb_t a) |
| static int | ctz (limb_t a) |
| static int | ceil_log2 (limb_t a) |
| static slimb_t | ceil_div (slimb_t a, slimb_t b) |
| static slimb_t | floor_div (slimb_t a, slimb_t b) |
| static limb_t | smod (slimb_t a, slimb_t b) |
| static slimb_t | sat_add (slimb_t a, slimb_t b) |
| void | bf_context_init (bf_context_t *s, bf_realloc_func_t *realloc_func, void *realloc_opaque) |
| void | bf_context_end (bf_context_t *s) |
| void | bf_init (bf_context_t *s, bf_t *r) |
| int | bf_resize (bf_t *r, limb_t len) |
| int | bf_set_ui (bf_t *r, uint64_t a) |
| int | bf_set_si (bf_t *r, int64_t a) |
| void | bf_set_nan (bf_t *r) |
| void | bf_set_zero (bf_t *r, int is_neg) |
| void | bf_set_inf (bf_t *r, int is_neg) |
| int | bf_set (bf_t *r, const bf_t *a) |
| void | bf_move (bf_t *r, bf_t *a) |
| static limb_t | get_limbz (const bf_t *a, limb_t idx) |
| static limb_t | get_bits (const limb_t *tab, limb_t len, slimb_t pos) |
| static limb_t | get_bit (const limb_t *tab, limb_t len, slimb_t pos) |
| static limb_t | limb_mask (int start, int last) |
| static limb_t | mp_scan_nz (const limb_t *tab, mp_size_t n) |
| static limb_t | scan_bit_nz (const bf_t *r, slimb_t bit_pos) |
| static int | bf_get_rnd_add (int *pret, const bf_t *r, limb_t l, slimb_t prec, int rnd_mode) |
| static int | bf_set_overflow (bf_t *r, int sign, limb_t prec, bf_flags_t flags) |
| static int | __bf_round (bf_t *r, limb_t prec1, bf_flags_t flags, limb_t l, int ret) |
| int | bf_normalize_and_round (bf_t *r, limb_t prec1, bf_flags_t flags) |
| int | bf_can_round (const bf_t *a, slimb_t prec, bf_rnd_t rnd_mode, slimb_t k) |
| int | bf_round (bf_t *r, limb_t prec, bf_flags_t flags) |
| static __maybe_unused void | dump_limbs (const char *str, const limb_t *tab, limb_t n) |
| void | mp_print_str (const char *str, const limb_t *tab, limb_t n) |
| static __maybe_unused void | mp_print_str_h (const char *str, const limb_t *tab, limb_t n, limb_t high) |
| void | bf_print_str (const char *str, const bf_t *a) |
| int | bf_cmpu (const bf_t *a, const bf_t *b) |
| int | bf_cmp_full (const bf_t *a, const bf_t *b) |
| int | bf_cmp (const bf_t *a, const bf_t *b) |
| static limb_t | count_cancelled_bits (const bf_t *a, const bf_t *b) |
| static int | bf_add_internal (bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags, int b_neg) |
| static int | __bf_add (bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags) |
| static int | __bf_sub (bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags) |
| limb_t | mp_add (limb_t *res, const limb_t *op1, const limb_t *op2, limb_t n, limb_t carry) |
| limb_t | mp_add_ui (limb_t *tab, limb_t b, size_t n) |
| limb_t | mp_sub (limb_t *res, const limb_t *op1, const limb_t *op2, mp_size_t n, limb_t carry) |
| static limb_t | mp_neg (limb_t *res, const limb_t *op2, mp_size_t n, limb_t carry) |
| limb_t | mp_sub_ui (limb_t *tab, limb_t b, mp_size_t n) |
| static limb_t | mp_shr (limb_t *tab_r, const limb_t *tab, mp_size_t n, int shift, limb_t high) |
| static limb_t | mp_mul1 (limb_t *tabr, const limb_t *taba, limb_t n, limb_t b, limb_t l) |
| static limb_t | mp_add_mul1 (limb_t *tabr, const limb_t *taba, limb_t n, limb_t b) |
| static void | mp_mul_basecase (limb_t *result, const limb_t *op1, limb_t op1_size, const limb_t *op2, limb_t op2_size) |
| int | mp_mul (bf_context_t *s, limb_t *result, const limb_t *op1, limb_t op1_size, const limb_t *op2, limb_t op2_size) |
| static limb_t | mp_sub_mul1 (limb_t *tabr, const limb_t *taba, limb_t n, limb_t b) |
| static limb_t | udiv1norm_init (limb_t d) |
| static limb_t | udiv1norm (limb_t *pr, limb_t a1, limb_t a0, limb_t d, limb_t d_inv) |
| static limb_t | mp_div1norm (limb_t *tabr, const limb_t *taba, limb_t n, limb_t b, limb_t r) |
| static int | mp_divnorm_large (bf_context_t *s, limb_t *tabq, limb_t *taba, limb_t na, const limb_t *tabb, limb_t nb) |
| static int | mp_divnorm (bf_context_t *s, limb_t *tabq, limb_t *taba, limb_t na, const limb_t *tabb, limb_t nb) |
| int | mp_recip (bf_context_t *s, limb_t *tabr, const limb_t *taba, limb_t n) |
| static int | mp_cmp (const limb_t *taba, const limb_t *tabb, mp_size_t n) |
| int | bf_mul (bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags) |
| int | bf_mul_2exp (bf_t *r, slimb_t e, limb_t prec, bf_flags_t flags) |
| slimb_t | bf_get_exp_min (const bf_t *a) |
| static void | bf_tdivremu (bf_t *q, bf_t *r, const bf_t *a, const bf_t *b) |
| static int | __bf_div (bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags) |
| int | bf_divrem (bf_t *q, bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags, int rnd_mode) |
| int | bf_rem (bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags, int rnd_mode) |
| static int | bf_get_limb (slimb_t *pres, const bf_t *a, int flags) |
| int | bf_remquo (slimb_t *pq, bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags, int rnd_mode) |
| static __maybe_unused limb_t | mul_mod (limb_t a, limb_t b, limb_t m) |
| static limb_t | mp_sqrtrem1 (limb_t *pr, limb_t a) |
| limb_t | bf_isqrt (limb_t a) |
| static limb_t | mp_sqrtrem2 (limb_t *tabs, limb_t *taba) |
| static int | mp_sqrtrem_rec (bf_context_t *s, limb_t *tabs, limb_t *taba, limb_t n, limb_t *tmp_buf, limb_t *prh) |
| int | mp_sqrtrem (bf_context_t *s, limb_t *tabs, limb_t *taba, limb_t n) |
| int | bf_sqrtrem (bf_t *r, bf_t *rem1, const bf_t *a) |
| int | bf_sqrt (bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) |
| static no_inline int | bf_op2 (bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags, bf_op2_func_t *func) |
| int | bf_add (bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags) |
| int | bf_sub (bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags) |
| int | bf_div (bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags) |
| int | bf_mul_ui (bf_t *r, const bf_t *a, uint64_t b1, limb_t prec, bf_flags_t flags) |
| int | bf_mul_si (bf_t *r, const bf_t *a, int64_t b1, limb_t prec, bf_flags_t flags) |
| int | bf_add_si (bf_t *r, const bf_t *a, int64_t b1, limb_t prec, bf_flags_t flags) |
| static int | bf_pow_ui (bf_t *r, const bf_t *a, limb_t b, limb_t prec, bf_flags_t flags) |
| static int | bf_pow_ui_ui (bf_t *r, limb_t a1, limb_t b, limb_t prec, bf_flags_t flags) |
| int | bf_rint (bf_t *r, int rnd_mode) |
| static limb_t | bf_logic_op1 (limb_t a, limb_t b, int op) |
| static int | bf_logic_op (bf_t *r, const bf_t *a1, const bf_t *b1, int op) |
| int | bf_logic_or (bf_t *r, const bf_t *a, const bf_t *b) |
| int | bf_logic_xor (bf_t *r, const bf_t *a, const bf_t *b) |
| int | bf_logic_and (bf_t *r, const bf_t *a, const bf_t *b) |
| int | bf_get_float64 (const bf_t *a, double *pres, bf_rnd_t rnd_mode) |
| int | bf_set_float64 (bf_t *a, double d) |
| int | bf_get_int32 (int *pres, const bf_t *a, int flags) |
| int | bf_get_int64 (int64_t *pres, const bf_t *a, int flags) |
| int | bf_get_uint64 (uint64_t *pres, const bf_t *a) |
| static limb_t | get_limb_radix (int radix) |
| static int | bf_integer_from_radix_rec (bf_t *r, const limb_t *tab, limb_t n, int level, limb_t n0, limb_t radix, bf_t *pow_tab) |
| static int | bf_integer_from_radix (bf_t *r, const limb_t *tab, limb_t n, limb_t radix) |
| int | bf_mul_pow_radix (bf_t *r, const bf_t *T, limb_t radix, slimb_t expn, limb_t prec, bf_flags_t flags) |
| static int | to_digit (int c) |
| static int | bf_add_limb (bf_t *a, slimb_t *ppos, limb_t v) |
| static int | bf_tolower (int c) |
| static int | strcasestart (const char *str, const char *val, const char **ptr) |
| static int | bf_atof_internal (bf_t *r, slimb_t *pexponent, const char *str, const char **pnext, int radix, limb_t prec, bf_flags_t flags, BOOL is_dec) |
| int | bf_atof2 (bf_t *r, slimb_t *pexponent, const char *str, const char **pnext, int radix, limb_t prec, bf_flags_t flags) |
| int | bf_atof (bf_t *r, const char *str, const char **pnext, int radix, limb_t prec, bf_flags_t flags) |
| slimb_t | bf_mul_log2_radix (slimb_t a1, unsigned int radix, int is_inv, int is_ceil1) |
| static int | bf_integer_to_radix_rec (bf_t *pow_tab, limb_t *out, const bf_t *a, limb_t n, int level, limb_t n0, limb_t radixl, unsigned int radixl_bits) |
| static int | bf_integer_to_radix (bf_t *r, const bf_t *a, limb_t radixl) |
| static int | bf_convert_to_radix (bf_t *r, slimb_t *pE, const bf_t *a, int radix, limb_t P, bf_rnd_t rnd_mode, BOOL is_fixed_exponent) |
| static void | limb_to_a (char *buf, limb_t n, unsigned int radix, int len) |
| static void | limb_to_a2 (char *buf, limb_t n, unsigned int radix_bits, int len) |
| static void | output_digits (DynBuf *s, const bf_t *a1, int radix, limb_t n_digits, limb_t dot_pos, BOOL is_dec) |
| static void * | bf_dbuf_realloc (void *opaque, void *ptr, size_t size) |
| static char * | bf_ftoa_internal (size_t *plen, const bf_t *a2, int radix, limb_t prec, bf_flags_t flags, BOOL is_dec) |
| char * | bf_ftoa (size_t *plen, const bf_t *a, int radix, limb_t prec, bf_flags_t flags) |
| static void | bf_const_log2_rec (bf_t *T, bf_t *P, bf_t *Q, limb_t n1, limb_t n2, BOOL need_P) |
| static void | bf_const_log2_internal (bf_t *T, limb_t prec) |
| static void | chud_bs (bf_t *P, bf_t *Q, bf_t *G, int64_t a, int64_t b, int need_g, limb_t prec) |
| static void | bf_const_pi_internal (bf_t *Q, limb_t prec) |
| static int | bf_const_get (bf_t *T, limb_t prec, bf_flags_t flags, BFConstCache *c, void(*func)(bf_t *res, limb_t prec), int sign) |
| static void | bf_const_free (BFConstCache *c) |
| int | bf_const_log2 (bf_t *T, limb_t prec, bf_flags_t flags) |
| static int | bf_const_pi_signed (bf_t *T, int sign, limb_t prec, bf_flags_t flags) |
| int | bf_const_pi (bf_t *T, limb_t prec, bf_flags_t flags) |
| void | bf_clear_cache (bf_context_t *s) |
| static int | bf_ziv_rounding (bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags, ZivFunc *f, void *opaque) |
| static int | bf_add_epsilon (bf_t *r, const bf_t *a, slimb_t e, int e_sign, limb_t prec, int flags) |
| static int | bf_exp_internal (bf_t *r, const bf_t *a, limb_t prec, void *opaque) |
| static int | check_exp_underflow_overflow (bf_context_t *s, bf_t *r, const bf_t *a_low, const bf_t *a_high, limb_t prec, bf_flags_t flags) |
| int | bf_exp (bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) |
| static int | bf_log_internal (bf_t *r, const bf_t *a, limb_t prec, void *opaque) |
| int | bf_log (bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) |
| static int | bf_pow_generic (bf_t *r, const bf_t *x, limb_t prec, void *opaque) |
| static int | bf_pow_int (bf_t *r, const bf_t *x, limb_t prec, void *opaque) |
| static BOOL | check_exact_power2n (bf_t *r, const bf_t *x, slimb_t n) |
| int | bf_pow (bf_t *r, const bf_t *x, const bf_t *y, limb_t prec, bf_flags_t flags) |
| static void | bf_sqrt_sin (bf_t *r, const bf_t *x, limb_t prec1) |
| static int | bf_sincos (bf_t *s, bf_t *c, const bf_t *a, limb_t prec) |
| static int | bf_cos_internal (bf_t *r, const bf_t *a, limb_t prec, void *opaque) |
| int | bf_cos (bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) |
| static int | bf_sin_internal (bf_t *r, const bf_t *a, limb_t prec, void *opaque) |
| int | bf_sin (bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) |
| static int | bf_tan_internal (bf_t *r, const bf_t *a, limb_t prec, void *opaque) |
| int | bf_tan (bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) |
| static int | bf_atan_internal (bf_t *r, const bf_t *a, limb_t prec, void *opaque) |
| int | bf_atan (bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) |
| static int | bf_atan2_internal (bf_t *r, const bf_t *y, limb_t prec, void *opaque) |
| int | bf_atan2 (bf_t *r, const bf_t *y, const bf_t *x, limb_t prec, bf_flags_t flags) |
| static int | bf_asin_internal (bf_t *r, const bf_t *a, limb_t prec, void *opaque) |
| int | bf_asin (bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) |
| int | bf_acos (bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags) |
| static __maybe_unused limb_t | shrd (limb_t low, limb_t high, long shift) |
| static __maybe_unused limb_t | shld (limb_t a1, limb_t a0, long shift) |
| static __maybe_unused void | fast_udiv_init (FastDivData *s, limb_t d) |
| static limb_t | fast_udiv (limb_t a, const FastDivData *s) |
| static limb_t | fast_shr_dec (limb_t a, int shift) |
| limb_t | mp_add_dec (limb_t *res, const limb_t *op1, const limb_t *op2, mp_size_t n, limb_t carry) |
| limb_t | mp_add_ui_dec (limb_t *tab, limb_t b, mp_size_t n) |
| limb_t | mp_sub_dec (limb_t *res, const limb_t *op1, const limb_t *op2, mp_size_t n, limb_t carry) |
| limb_t | mp_sub_ui_dec (limb_t *tab, limb_t b, mp_size_t n) |
| limb_t | mp_mul1_dec (limb_t *tabr, const limb_t *taba, mp_size_t n, limb_t b, limb_t l) |
| limb_t | mp_add_mul1_dec (limb_t *tabr, const limb_t *taba, mp_size_t n, limb_t b) |
| limb_t | mp_sub_mul1_dec (limb_t *tabr, const limb_t *taba, mp_size_t n, limb_t b) |
| void | mp_mul_basecase_dec (limb_t *result, const limb_t *op1, mp_size_t op1_size, const limb_t *op2, mp_size_t op2_size) |
| limb_t | mp_div1_dec (limb_t *tabr, const limb_t *taba, mp_size_t na, limb_t b, limb_t r) |
| static __maybe_unused void | mp_print_str_dec (const char *str, const limb_t *tab, slimb_t n) |
| static __maybe_unused void | mp_print_str_h_dec (const char *str, const limb_t *tab, slimb_t n, limb_t high) |
| static int | mp_div_dec (bf_context_t *s, limb_t *tabq, limb_t *taba, mp_size_t na, const limb_t *tabb1, mp_size_t nb) |
| static limb_t | mp_shr_dec (limb_t *tab_r, const limb_t *tab, mp_size_t n, limb_t shift, limb_t high) |
| static limb_t | mp_shl_dec (limb_t *tab_r, const limb_t *tab, mp_size_t n, limb_t shift, limb_t low) |
| static limb_t | mp_sqrtrem2_dec (limb_t *tabs, limb_t *taba) |
| static limb_t | mp_sqrtrem_rec_dec (limb_t *tabs, limb_t *taba, limb_t n, limb_t *tmp_buf) |
| int | mp_sqrtrem_dec (bf_context_t *s, limb_t *tabs, limb_t *taba, limb_t n) |
| static int | clz_dec (limb_t a) |
| void | bfdec_print_str (const char *str, const bfdec_t *a) |
| static limb_t | scan_digit_nz (const bfdec_t *r, slimb_t bit_pos) |
| static int | bfdec_get_rnd_add (int *pret, const bfdec_t *r, limb_t l, slimb_t prec, int rnd_mode) |
| static int | __bfdec_round (bfdec_t *r, limb_t prec1, bf_flags_t flags, limb_t l) |
| int | bfdec_round (bfdec_t *r, limb_t prec, bf_flags_t flags) |
| int | bfdec_normalize_and_round (bfdec_t *r, limb_t prec1, bf_flags_t flags) |
| int | bfdec_set_ui (bfdec_t *r, uint64_t v) |
| int | bfdec_set_si (bfdec_t *r, int64_t v) |
| static int | bfdec_add_internal (bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec, bf_flags_t flags, int b_neg) |
| static int | __bfdec_add (bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec, bf_flags_t flags) |
| static int | __bfdec_sub (bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec, bf_flags_t flags) |
| int | bfdec_add (bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec, bf_flags_t flags) |
| int | bfdec_sub (bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec, bf_flags_t flags) |
| int | bfdec_mul (bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec, bf_flags_t flags) |
| int | bfdec_mul_si (bfdec_t *r, const bfdec_t *a, int64_t b1, limb_t prec, bf_flags_t flags) |
| int | bfdec_add_si (bfdec_t *r, const bfdec_t *a, int64_t b1, limb_t prec, bf_flags_t flags) |
| static int | __bfdec_div (bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec, bf_flags_t flags) |
| int | bfdec_div (bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec, bf_flags_t flags) |
| static void | bfdec_tdivremu (bf_context_t *s, bfdec_t *q, bfdec_t *r, const bfdec_t *a, const bfdec_t *b) |
| int | bfdec_divrem (bfdec_t *q, bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec, bf_flags_t flags, int rnd_mode) |
| int | bfdec_rem (bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec, bf_flags_t flags, int rnd_mode) |
| int | bfdec_rint (bfdec_t *r, int rnd_mode) |
| int | bfdec_sqrt (bfdec_t *r, const bfdec_t *a, limb_t prec, bf_flags_t flags) |
| int | bfdec_get_int32 (int *pres, const bfdec_t *a) |
| int | bfdec_pow_ui (bfdec_t *r, const bfdec_t *a, limb_t b) |
| char * | bfdec_ftoa (size_t *plen, const bfdec_t *a, limb_t prec, bf_flags_t flags) |
| int | bfdec_atof (bfdec_t *r, const char *str, const char **pnext, limb_t prec, bf_flags_t flags) |
| static void | put_bits (limb_t *tab, limb_t len, slimb_t pos, limb_t val) |
| static NTTLimb * | get_trig (BFNTTState *s, int k, int inverse, int m_idx) |
| static limb_t | add_mod (limb_t a, limb_t b, limb_t m) |
| static limb_t | sub_mod (limb_t a, limb_t b, limb_t m) |
| static limb_t | mod_fast (dlimb_t r, limb_t m, limb_t m_inv) |
| static limb_t | mul_mod_fast (limb_t a, limb_t b, limb_t m, limb_t m_inv) |
| static limb_t | init_mul_mod_fast (limb_t m) |
| static limb_t | mul_mod_fast2 (limb_t a, limb_t b, limb_t m, limb_t b_inv) |
| static limb_t | mul_mod_fast3 (limb_t a, limb_t b, limb_t m, limb_t b_inv) |
| static limb_t | init_mul_mod_fast2 (limb_t b, limb_t m) |
| static void * | ntt_malloc (BFNTTState *s, size_t size) |
| static void | ntt_free (BFNTTState *s, void *ptr) |
| static limb_t | ntt_limb_to_int (NTTLimb a, limb_t m) |
| static NTTLimb | int_to_ntt_limb (slimb_t a, limb_t m) |
| static no_inline int | ntt_fft (BFNTTState *s, NTTLimb *out_buf, NTTLimb *in_buf, NTTLimb *tmp_buf, int fft_len_log2, int inverse, int m_idx) |
| static void | ntt_vec_mul (BFNTTState *s, NTTLimb *tab1, NTTLimb *tab2, int fft_len_log2, int k_tot, int m_idx) |
| static no_inline void | mul_trig (NTTLimb *buf, limb_t n, limb_t c_mul, limb_t m, limb_t m_inv) |
| static int | ntt_fft_partial (BFNTTState *s, NTTLimb *buf1, int k1, int k2, limb_t n1, limb_t n2, int inverse, limb_t m_idx) |
| static int | ntt_conv (BFNTTState *s, NTTLimb *buf1, NTTLimb *buf2, int k, int k_tot, limb_t m_idx) |
| static no_inline void | limb_to_ntt (BFNTTState *s, NTTLimb *tabr, limb_t fft_len, const limb_t *taba, limb_t a_len, int dpl, int first_m_idx, int nb_mods) |
| static no_inline void | ntt_to_limb (BFNTTState *s, limb_t *tabr, limb_t r_len, const NTTLimb *buf, int fft_len_log2, int dpl, int nb_mods) |
| static int | ntt_static_init (bf_context_t *s1) |
| int | bf_get_fft_size (int *pdpl, int *pnb_mods, limb_t len) |
Variables | |
| static const uint16_t | sqrt_table [192] |
| static const uint8_t | digits_per_limb_table [BF_RADIX_MAX - 1] |
| static const uint32_t | inv_log2_radix [BF_RADIX_MAX - 1][LIMB_BITS/32+1] |
| static const limb_t | log2_radix [BF_RADIX_MAX - 1] |
| const limb_t | mp_pow_dec [LIMB_DIGITS+1] |
| static const FastDivData | mp_pow_div [LIMB_DIGITS+1] |
| union Float64Union |
| Data Fields | ||
|---|---|---|
| double | d | |
| uint64_t | u | |
| struct BFNTTState |
Collaboration diagram for BFNTTState:| Data Fields | ||
|---|---|---|
| bf_context_t * | ctx | |
| limb_t | ntt_mods_div[NB_MODS] | |
| limb_t | ntt_proot_pow[NB_MODS][2][NTT_PROOT_2EXP+1] | |
| limb_t | ntt_proot_pow_inv[NB_MODS][2][NTT_PROOT_2EXP+1] | |
| NTTLimb * | ntt_trig[NB_MODS][2][NTT_TRIG_K_MAX+1] | |
| limb_t | ntt_len_inv[NB_MODS][NTT_PROOT_2EXP+1][2] | |
| limb_t | ntt_mods_cr_inv[NB_MODS *(NB_MODS - 1)/2] | |
| #define USE_FFT_MUL |
| #define USE_BF_DEC |
| #define FFT_MUL_THRESHOLD 100 /* in limbs of the smallest factor */ |
| #define DIVNORM_LARGE_THRESHOLD 50 |
| #define UDIV1NORM_THRESHOLD 3 |
| #define FMT_LIMB1 "%x" |
| #define FMT_LIMB "%08x" |
| #define PRId_LIMB "d" |
| #define PRIu_LIMB "u" |
| #define FFT_MUL_R_OVERLAP_A (1 << 0) |
| #define FFT_MUL_R_OVERLAP_B (1 << 1) |
| #define FFT_MUL_R_NORESIZE (1 << 2) |
| #define malloc | ( | s | ) | malloc_is_forbidden(s) |
| #define free | ( | p | ) | free_is_forbidden(p) |
| #define realloc | ( | p, | |
| s | |||
| ) | realloc_is_forbidden(p, s) |
| #define BF_LOGIC_OR 0 |
| #define BF_LOGIC_XOR 1 |
| #define BF_LOGIC_AND 2 |
| #define RADIXL_10 UINT64_C(1000000000) |
| #define CHUD_A 13591409 |
| #define CHUD_B 545140134 |
| #define CHUD_C 640320 |
| #define CHUD_BITS_PER_TERM 47 |
| #define adddq | ( | r1, | |
| r0, | |||
| a1, | |||
| a0 | |||
| ) |
| #define subdq | ( | r1, | |
| r0, | |||
| a1, | |||
| a0 | |||
| ) |
| #define muldq | ( | r1, | |
| r0, | |||
| a, | |||
| b | |||
| ) |
| #define divdq | ( | q, | |
| r, | |||
| a1, | |||
| a0, | |||
| b | |||
| ) |
| #define fast_shr_rem_dec | ( | q, | |
| r, | |||
| a, | |||
| shift | |||
| ) | q = fast_shr_dec(a, shift), r = a - q * mp_pow_dec[shift] |
| #define DIV_STATIC_ALLOC_LEN 16 |
| #define NTT_TRIG_K_MAX 19 |
| #define STRIP_LEN 16 |
| typedef intptr_t mp_size_t |
| typedef int bf_op2_func_t(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags) |
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:| void bf_context_init | ( | bf_context_t * | s, |
| bf_realloc_func_t * | realloc_func, | ||
| void * | realloc_opaque | ||
| ) |
Here is the caller graph for this function:| void bf_context_end | ( | bf_context_t * | s | ) |
Here is the call graph for this function:
Here is the caller graph for this function:| void bf_init | ( | bf_context_t * | s, |
| bf_t * | r | ||
| ) |
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| void bf_set_nan | ( | bf_t * | r | ) |
Here is the call graph for this function:
Here is the caller graph for this function:| void bf_set_zero | ( | bf_t * | r, |
| int | is_neg | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| void bf_set_inf | ( | bf_t * | r, |
| int | is_neg | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_normalize_and_round | ( | bf_t * | r, |
| limb_t | prec1, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_round | ( | bf_t * | r, |
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:| void bf_print_str | ( | const char * | str, |
| const bf_t * | a | ||
| ) |
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int mp_mul | ( | bf_context_t * | s, |
| limb_t * | result, | ||
| const limb_t * | op1, | ||
| limb_t | op1_size, | ||
| const limb_t * | op2, | ||
| limb_t | op2_size | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int mp_recip | ( | bf_context_t * | s, |
| limb_t * | tabr, | ||
| const limb_t * | taba, | ||
| limb_t | n | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:| int bf_mul | ( | bf_t * | r, |
| const bf_t * | a, | ||
| const bf_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_mul_2exp | ( | bf_t * | r, |
| slimb_t | e, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_divrem | ( | bf_t * | q, |
| bf_t * | r, | ||
| const bf_t * | a, | ||
| const bf_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags, | ||
| int | rnd_mode | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_rem | ( | bf_t * | r, |
| const bf_t * | a, | ||
| const bf_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags, | ||
| int | rnd_mode | ||
| ) |
Here is the call graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_remquo | ( | slimb_t * | pq, |
| bf_t * | r, | ||
| const bf_t * | a, | ||
| const bf_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags, | ||
| int | rnd_mode | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int mp_sqrtrem | ( | bf_context_t * | s, |
| limb_t * | tabs, | ||
| limb_t * | taba, | ||
| limb_t | n | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_sqrt | ( | bf_t * | r, |
| const bf_t * | a, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_add | ( | bf_t * | r, |
| const bf_t * | a, | ||
| const bf_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_sub | ( | bf_t * | r, |
| const bf_t * | a, | ||
| const bf_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_div | ( | bf_t * | r, |
| const bf_t * | a, | ||
| const bf_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_mul_ui | ( | bf_t * | r, |
| const bf_t * | a, | ||
| uint64_t | b1, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_mul_si | ( | bf_t * | r, |
| const bf_t * | a, | ||
| int64_t | b1, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_add_si | ( | bf_t * | r, |
| const bf_t * | a, | ||
| int64_t | b1, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_rint | ( | bf_t * | r, |
| int | rnd_mode | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the call graph for this function:
Here is the call graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_set_float64 | ( | bf_t * | a, |
| double | d | ||
| ) |
Here is the call graph for this function:| int bf_get_int32 | ( | int * | pres, |
| const bf_t * | a, | ||
| int | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_mul_pow_radix | ( | bf_t * | r, |
| const bf_t * | T, | ||
| limb_t | radix, | ||
| slimb_t | expn, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_atof2 | ( | bf_t * | r, |
| slimb_t * | pexponent, | ||
| const char * | str, | ||
| const char ** | pnext, | ||
| int | radix, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:| int bf_atof | ( | bf_t * | r, |
| const char * | str, | ||
| const char ** | pnext, | ||
| int | radix, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| char * bf_ftoa | ( | size_t * | plen, |
| const bf_t * | a, | ||
| int | radix, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_const_log2 | ( | bf_t * | T, |
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_const_pi | ( | bf_t * | T, |
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| void bf_clear_cache | ( | bf_context_t * | s | ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_exp | ( | bf_t * | r, |
| const bf_t * | a, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_log | ( | bf_t * | r, |
| const bf_t * | a, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_pow | ( | bf_t * | r, |
| const bf_t * | x, | ||
| const bf_t * | y, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_cos | ( | bf_t * | r, |
| const bf_t * | a, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_sin | ( | bf_t * | r, |
| const bf_t * | a, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_tan | ( | bf_t * | r, |
| const bf_t * | a, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_atan | ( | bf_t * | r, |
| const bf_t * | a, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_atan2 | ( | bf_t * | r, |
| const bf_t * | y, | ||
| const bf_t * | x, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_asin | ( | bf_t * | r, |
| const bf_t * | a, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:| int bf_acos | ( | bf_t * | r, |
| const bf_t * | a, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
|
static |
|
static |
|
static |
Here is the call graph for this function:
|
static |
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| limb_t mp_add_dec | ( | limb_t * | res, |
| const limb_t * | op1, | ||
| const limb_t * | op2, | ||
| mp_size_t | n, | ||
| limb_t | carry | ||
| ) |
Here is the caller graph for this function:
Here is the caller graph for this function:| limb_t mp_sub_dec | ( | limb_t * | res, |
| const limb_t * | op1, | ||
| const limb_t * | op2, | ||
| mp_size_t | n, | ||
| limb_t | carry | ||
| ) |
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:| void mp_mul_basecase_dec | ( | limb_t * | result, |
| const limb_t * | op1, | ||
| mp_size_t | op1_size, | ||
| const limb_t * | op2, | ||
| mp_size_t | op2_size | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int mp_sqrtrem_dec | ( | bf_context_t * | s, |
| limb_t * | tabs, | ||
| limb_t * | taba, | ||
| limb_t | n | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| void bfdec_print_str | ( | const char * | str, |
| const bfdec_t * | a | ||
| ) |
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bfdec_round | ( | bfdec_t * | r, |
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bfdec_normalize_and_round | ( | bfdec_t * | r, |
| limb_t | prec1, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bfdec_add | ( | bfdec_t * | r, |
| const bfdec_t * | a, | ||
| const bfdec_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bfdec_sub | ( | bfdec_t * | r, |
| const bfdec_t * | a, | ||
| const bfdec_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bfdec_mul | ( | bfdec_t * | r, |
| const bfdec_t * | a, | ||
| const bfdec_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bfdec_mul_si | ( | bfdec_t * | r, |
| const bfdec_t * | a, | ||
| int64_t | b1, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bfdec_add_si | ( | bfdec_t * | r, |
| const bfdec_t * | a, | ||
| int64_t | b1, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bfdec_div | ( | bfdec_t * | r, |
| const bfdec_t * | a, | ||
| const bfdec_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bfdec_divrem | ( | bfdec_t * | q, |
| bfdec_t * | r, | ||
| const bfdec_t * | a, | ||
| const bfdec_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags, | ||
| int | rnd_mode | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bfdec_rem | ( | bfdec_t * | r, |
| const bfdec_t * | a, | ||
| const bfdec_t * | b, | ||
| limb_t | prec, | ||
| bf_flags_t | flags, | ||
| int | rnd_mode | ||
| ) |
Here is the call graph for this function:| int bfdec_rint | ( | bfdec_t * | r, |
| int | rnd_mode | ||
| ) |
Here is the call graph for this function:| int bfdec_sqrt | ( | bfdec_t * | r, |
| const bfdec_t * | a, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:| int bfdec_get_int32 | ( | int * | pres, |
| const bfdec_t * | a | ||
| ) |
Here is the call graph for this function:
Here is the call graph for this function:| char * bfdec_ftoa | ( | size_t * | plen, |
| const bfdec_t * | a, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bfdec_atof | ( | bfdec_t * | r, |
| const char * | str, | ||
| const char ** | pnext, | ||
| limb_t | prec, | ||
| bf_flags_t | flags | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| int bf_get_fft_size | ( | int * | pdpl, |
| int * | pnb_mods, | ||
| limb_t | len | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
static |
|
static |
|
static |
| const limb_t mp_pow_dec[LIMB_DIGITS+1] |
|
static |