6 #define RZ_NUMCALC_STRSZ 1024
120 ut64 excess =
v % alignment;
124 return alignment - excess;
136 return 0xffffffffffffffffull;
141 #define CONVERT_TO_TWO_COMPLEMENT(x) \
142 static inline st##x convert_to_two_complement_##x(ut##x value) { \
143 if (value <= ST##x##_MAX) { \
144 return (st##x)value; \
147 value = ~value + 1; \
148 return -(st##x)value; \
157 #define RZ_NUM_CMP(a, b) ((a) > (b) ? 1 : ((b) > (a) ? -1 : 0))
168 return (-(
st64)divisor) / divisor + 1;
const lzma_allocator const uint8_t size_t uint8_t * out
static static fork const void static count static fd const char const char static newpath char char char static envp time_t static t const char static mode static whence const char static dir time_t static t unsigned static seconds const char struct utimbuf static buf static inc static sig const char static mode static oldfd struct tms static buf static getgid static geteuid const char static filename static arg static mask struct ustat static ubuf static getppid static setsid static egid sigset_t static set struct timeval struct timezone static tz fd_set fd_set fd_set struct timeval static timeout const char char static bufsiz const char static swapflags void static offset const char static length static mode static who const char struct statfs static buf unsigned unsigned num
static const char hex[16]
RZ_API RzList * rz_num_str_split_list(char *str)
RZ_API ut64 rz_num_get(RzNum *num, const char *str)
struct rz_num_calc_t RzNumCalc
RZ_API void rz_num_minmax_swap(ut64 *a, ut64 *b)
static st64 rz_num_abs(st64 num)
static ut64 rz_num_2_pow_64_div(ut64 divisor)
RZ_API bool rz_num_is_op(const char c)
RZ_API ut64 rz_num_tail(RzNum *num, ut64 addr, const char *hex)
static ut64 rz_num_align_delta(ut64 v, ut64 alignment)
Padding to align v to the next alignment-boundary.
ut64(* RzNumCallback)(struct rz_num_t *self, const char *str, int *ok)
RZ_API bool rz_is_valid_input_num_value(RzNum *num, const char *input_value)
RZ_API double rz_num_get_float(RzNum *num, const char *str)
RZ_API int rz_num_str_len(const char *str)
RZ_API RzNum * rz_num_new(RzNumCallback cb, RzNumCallback2 cb2, void *ptr)
RZ_API void rz_num_minmax_swap_i(int *a, int *b)
RZ_API ut64 rz_num_tail_base(RzNum *num, ut64 addr, ut64 off)
#define CONVERT_TO_TWO_COMPLEMENT(x)
RZ_API int rz_num_to_bits(char *out, ut64 num)
static ut64 rz_num_bitmask(ut8 width)
Get the 64-bit value that has exactly its width lowest bits set to 1. e.g. rz_num_bitmask(2) == 0b11 ...
RZ_API ut64 rz_num_math(RzNum *num, const char *str)
RZ_API int rz_num_is_valid_input(RzNum *num, const char *input_value)
RZ_API int rz_num_conditional(RzNum *num, const char *str)
RZ_API int rz_num_to_trits(char *out, ut64 num)
RZ_API int rz_num_str_split(char *str)
RZ_API double rz_num_cos(double a)
RZ_API ut64 rz_num_get_input_value(RzNum *num, const char *input_value)
RZ_API void * rz_num_dup(ut64 n)
RZ_API char * rz_num_units(char *buf, size_t len, ut64 number)
RZ_API int rz_num_between(RzNum *num, const char *input_value)
RZ_API size_t rz_num_base_of_string(RzNum *num, RZ_NONNULL const char *str)
Convert the base suffix to the numeric value.
RZ_API char * rz_num_as_string(RzNum *___, ut64 n, bool printable_only)
RZ_API const char * rz_num_calc_index(RzNum *num, const char *p)
RZ_API ut64 rz_num_calc(RzNum *num, const char *str, const char **err)
RZ_API int rz_num_rand(int max)
RZ_API ut64 rz_get_input_num_value(RzNum *num, const char *input_value)
RZ_API void rz_num_free(RzNum *num)
RZ_API void rz_num_irand(void)
RZ_API double rz_num_sin(double a)
const char *(* RzNumCallback2)(struct rz_num_t *self, ut64, int *ok)
RZ_API const char * rz_num_get_name(RzNum *num, ut64 n)
RZ_API bool rz_num_is_hex_prefix(const char *p)
Checks if the first two chars of p equal "0x".
RZ_API ut64 rz_num_chs(int cylinder, int head, int sector, int sectorsize)
RzNumCalcValue number_value
char string_value[RZ_NUMCALC_STRSZ]
ut64(* callback)(struct rz_num_t *userptr, const char *str, int *ok)
RzNumCalc nc
division by zero happened
ut64(WINAPI *w32_GetEnabledXStateFeatures)()