4 #include "../rz_types.h"
12 #define RzNumBig mpz_t
14 #define RzNumBig BIGNUM
17 #define RZ_BIG_WORD_SIZE 4
19 #define RZ_BIG_ARRAY_SIZE (512 / RZ_BIG_WORD_SIZE)
21 #define RZ_BIG_DTYPE ut32
22 #define RZ_BIG_DTYPE_TMP ut64
23 #define RZ_BIG_SPRINTF_FORMAT_STR "%.08x"
24 #define RZ_BIG_FORMAT_STR_LEN 9
25 #define RZ_BIG_SSCANF_FORMAT_STR "%8x"
26 #define RZ_BIG_MAX_VAL (RZ_BIG_DTYPE_TMP) UT32_MAX
RZ_API char * rz_big_to_hexstr(RzNumBig *b)
RZ_API void rz_big_dec(RzNumBig *a)
RZ_API int rz_big_cmp(RzNumBig *a, RzNumBig *b)
RZ_API void rz_big_assign(RzNumBig *dst, RzNumBig *src)
RZ_API void rz_big_and(RzNumBig *c, RzNumBig *a, RzNumBig *b)
RZ_API void rz_big_xor(RzNumBig *c, RzNumBig *a, RzNumBig *b)
RZ_API void rz_big_fini(RzNumBig *b)
RZ_API void rz_big_add(RzNumBig *c, RzNumBig *a, RzNumBig *b)
RZ_API void rz_big_isqrt(RzNumBig *c, RzNumBig *a)
RZ_API void rz_big_from_hexstr(RzNumBig *b, const char *str)
RZ_API void rz_big_divmod(RzNumBig *c, RzNumBig *d, RzNumBig *a, RzNumBig *b)
RZ_API void rz_big_free(RzNumBig *b)
#define RZ_BIG_ARRAY_SIZE
struct rz_num_big_t RzNumBig
RZ_API void rz_big_rshift(RzNumBig *c, RzNumBig *a, size_t nbits)
RZ_API void rz_big_lshift(RzNumBig *c, RzNumBig *a, size_t nbits)
RZ_API void rz_big_or(RzNumBig *c, RzNumBig *a, RzNumBig *b)
RZ_API st64 rz_big_to_int(RzNumBig *b)
RZ_API RzNumBig * rz_big_new(void)
RZ_API void rz_big_powm(RzNumBig *c, RzNumBig *a, RzNumBig *b, RzNumBig *m)
RZ_API void rz_big_div(RzNumBig *c, RzNumBig *a, RzNumBig *b)
RZ_API void rz_big_init(RzNumBig *b)
RZ_API void rz_big_sub(RzNumBig *c, RzNumBig *a, RzNumBig *b)
RZ_API void rz_big_mod(RzNumBig *c, RzNumBig *a, RzNumBig *b)
RZ_API void rz_big_inc(RzNumBig *a)
RZ_API void rz_big_from_int(RzNumBig *b, st64 v)
RZ_API void rz_big_mul(RzNumBig *c, RzNumBig *a, RzNumBig *b)
RZ_API int rz_big_is_zero(RzNumBig *a)
RZ_BIG_DTYPE array[RZ_BIG_ARRAY_SIZE]