Polly 22.0.0git
isl_int_sioimath.c File Reference
#include <stdlib.h>
#include <string.h>
#include <isl_int.h>

Go to the source code of this file.

Functions

int isl_sioimath_decode (isl_sioimath val, int32_t *small, mp_int *big)
int isl_sioimath_decode_big (isl_sioimath val, mp_int *big)
int isl_sioimath_decode_small (isl_sioimath val, int32_t *small)
isl_sioimath isl_sioimath_encode_small (int32_t val)
isl_sioimath isl_sioimath_encode_big (mp_int val)
int isl_sioimath_is_small (isl_sioimath val)
int isl_sioimath_is_big (isl_sioimath val)
int32_t isl_sioimath_get_small (isl_sioimath val)
mp_int isl_sioimath_get_big (isl_sioimath val)
void isl_siomath_uint32_to_digits (uint32_t num, mp_digit *digits, mp_size *used)
void isl_siomath_ulong_to_digits (unsigned long num, mp_digit *digits, mp_size *used)
void isl_siomath_uint64_to_digits (uint64_t num, mp_digit *digits, mp_size *used)
mp_int isl_sioimath_bigarg_src (isl_sioimath arg, isl_sioimath_scratchspace_t *scratch)
mp_int isl_sioimath_siarg_src (signed long arg, isl_sioimath_scratchspace_t *scratch)
mp_int isl_sioimath_si64arg_src (int64_t arg, isl_sioimath_scratchspace_t *scratch)
mp_int isl_sioimath_uiarg_src (unsigned long arg, isl_sioimath_scratchspace_t *scratch)
mp_int isl_sioimath_reinit_big (isl_sioimath_ptr ptr)
void isl_sioimath_set_small (isl_sioimath_ptr ptr, int32_t val)
void isl_sioimath_set_int32 (isl_sioimath_ptr ptr, int32_t val)
void isl_sioimath_set_int64 (isl_sioimath_ptr ptr, int64_t val)
void isl_sioimath_promote (isl_sioimath_ptr dst)
void isl_sioimath_try_demote (isl_sioimath_ptr dst)
void isl_sioimath_init (isl_sioimath_ptr dst)
void isl_sioimath_clear (isl_sioimath_ptr dst)
void isl_sioimath_set (isl_sioimath_ptr dst, isl_sioimath_src val)
void isl_sioimath_set_si (isl_sioimath_ptr dst, long val)
void isl_sioimath_set_ui (isl_sioimath_ptr dst, unsigned long val)
int isl_sioimath_fits_slong (isl_sioimath_src val)
long isl_sioimath_get_si (isl_sioimath_src val)
int isl_sioimath_fits_ulong (isl_sioimath_src val)
unsigned long isl_sioimath_get_ui (isl_sioimath_src val)
double isl_sioimath_get_d (isl_sioimath_src val)
char * isl_sioimath_get_str (isl_sioimath_src val)
void isl_sioimath_abs (isl_sioimath_ptr dst, isl_sioimath_src arg)
void isl_sioimath_neg (isl_sioimath_ptr dst, isl_sioimath_src arg)
void isl_sioimath_swap (isl_sioimath_ptr lhs, isl_sioimath_ptr rhs)
void isl_sioimath_add_ui (isl_sioimath_ptr dst, isl_sioimath lhs, unsigned long rhs)
void isl_sioimath_sub_ui (isl_sioimath_ptr dst, isl_sioimath lhs, unsigned long rhs)
void isl_sioimath_add (isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)
void isl_sioimath_sub (isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)
void isl_sioimath_mul (isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)
void isl_sioimath_mul_2exp (isl_sioimath_ptr dst, isl_sioimath lhs, unsigned long rhs)
void isl_sioimath_mul_si (isl_sioimath_ptr dst, isl_sioimath lhs, signed long rhs)
void isl_sioimath_mul_ui (isl_sioimath_ptr dst, isl_sioimath lhs, unsigned long rhs)
void isl_sioimath_pow_ui (isl_sioimath_ptr dst, isl_sioimath_src lhs, unsigned long rhs)
void isl_sioimath_addmul (isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)
void isl_sioimath_addmul_ui (isl_sioimath_ptr dst, isl_sioimath_src lhs, unsigned long rhs)
void isl_sioimath_submul (isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)
void isl_sioimath_submul_ui (isl_sioimath_ptr dst, isl_sioimath_src lhs, unsigned long rhs)
static uint32_t isl_sioimath_smallgcd (int32_t lhs, int32_t rhs)
void isl_sioimath_gcd (isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)
void isl_sioimath_lcm (isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)
void isl_sioimath_tdiv_q (isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)
void isl_sioimath_tdiv_q_ui (isl_sioimath_ptr dst, isl_sioimath_src lhs, unsigned long rhs)
void isl_sioimath_cdiv_q (isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)
void isl_sioimath_cdiv_q_ui (isl_sioimath_ptr dst, isl_sioimath_src lhs, unsigned long rhs)
void isl_sioimath_fdiv_q (isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)
void isl_sioimath_fdiv_q_ui (isl_sioimath_ptr dst, isl_sioimath_src lhs, unsigned long rhs)
void isl_sioimath_fdiv_r (isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)
void isl_sioimath_read (isl_sioimath_ptr dst, const char *str)
int isl_sioimath_sgn (isl_sioimath_src arg)
int isl_sioimath_cmp (isl_sioimath_src lhs, isl_sioimath_src rhs)
int isl_sioimath_cmp_si (isl_sioimath_src lhs, signed long rhs)
int isl_sioimath_abs_cmp (isl_sioimath_src lhs, isl_sioimath_src rhs)
int isl_sioimath_is_divisible_by (isl_sioimath_src lhs, isl_sioimath_src rhs)
uint32_t isl_sioimath_hash (isl_sioimath_src arg, uint32_t hash)
size_t isl_sioimath_sizeinbase (isl_sioimath_src arg, int base)
void isl_sioimath_print (FILE *out, isl_sioimath_src i, int width)
void isl_sioimath_dump (isl_sioimath_src arg)

Function Documentation

◆ isl_sioimath_abs()

◆ isl_sioimath_abs_cmp()

int isl_sioimath_abs_cmp ( isl_sioimath_src lhs,
isl_sioimath_src rhs )
externinline

◆ isl_sioimath_add()

◆ isl_sioimath_add_ui()

◆ isl_sioimath_addmul()

void isl_sioimath_addmul ( isl_sioimath_ptr dst,
isl_sioimath_src lhs,
isl_sioimath_src rhs )
externinline

◆ isl_sioimath_addmul_ui()

void isl_sioimath_addmul_ui ( isl_sioimath_ptr dst,
isl_sioimath_src lhs,
unsigned long rhs )
externinline

◆ isl_sioimath_bigarg_src()

◆ isl_sioimath_cdiv_q()

◆ isl_sioimath_cdiv_q_ui()

◆ isl_sioimath_clear()

void isl_sioimath_clear ( isl_sioimath_ptr dst)
externinline

◆ isl_sioimath_cmp()

◆ isl_sioimath_cmp_si()

int isl_sioimath_cmp_si ( isl_sioimath_src lhs,
signed long rhs )
externinline

◆ isl_sioimath_decode()

int isl_sioimath_decode ( isl_sioimath val,
int32_t * small,
mp_int * big )
extern

References arg, lhs, rhs, and val.

◆ isl_sioimath_decode_big()

int isl_sioimath_decode_big ( isl_sioimath val,
mp_int * big )
externinline

Definition at line 144 of file isl_int_sioimath.h.

References isl_sioimath_get_big(), isl_sioimath_is_big(), and val.

Referenced by isl_sioimath_bigarg_src().

◆ isl_sioimath_decode_small()

◆ isl_sioimath_dump()

void isl_sioimath_dump ( isl_sioimath_src arg)

Definition at line 220 of file isl_int_sioimath.c.

References arg, and isl_sioimath_print().

◆ isl_sioimath_encode_big()

isl_sioimath isl_sioimath_encode_big ( mp_int val)
externinline

Definition at line 159 of file isl_int_sioimath.h.

References val.

Referenced by isl_sioimath_reinit_big().

◆ isl_sioimath_encode_small()

isl_sioimath isl_sioimath_encode_small ( int32_t val)
externinline

Definition at line 152 of file isl_int_sioimath.h.

References val.

Referenced by isl_sioimath_init(), and isl_sioimath_set_small().

◆ isl_sioimath_fdiv_q()

◆ isl_sioimath_fdiv_q_ui()

◆ isl_sioimath_fdiv_r()

◆ isl_sioimath_fits_slong()

int isl_sioimath_fits_slong ( isl_sioimath_src val)
externinline

◆ isl_sioimath_fits_ulong()

int isl_sioimath_fits_ulong ( isl_sioimath_src val)
externinline

◆ isl_sioimath_gcd()

◆ isl_sioimath_get_big()

◆ isl_sioimath_get_d()

double isl_sioimath_get_d ( isl_sioimath_src val)
externinline

◆ isl_sioimath_get_si()

long isl_sioimath_get_si ( isl_sioimath_src val)
externinline

◆ isl_sioimath_get_small()

◆ isl_sioimath_get_str()

char * isl_sioimath_get_str ( isl_sioimath_src val)
externinline

◆ isl_sioimath_get_ui()

unsigned long isl_sioimath_get_ui ( isl_sioimath_src val)
externinline

◆ isl_sioimath_hash()

uint32_t isl_sioimath_hash ( isl_sioimath_src arg,
uint32_t hash )
externinline

◆ isl_sioimath_init()

void isl_sioimath_init ( isl_sioimath_ptr dst)
externinline

◆ isl_sioimath_is_big()

int isl_sioimath_is_big ( isl_sioimath val)
externinline

◆ isl_sioimath_is_divisible_by()

◆ isl_sioimath_is_small()

◆ isl_sioimath_lcm()

◆ isl_sioimath_mul()

◆ isl_sioimath_mul_2exp()

void isl_sioimath_mul_2exp ( isl_sioimath_ptr dst,
isl_sioimath lhs,
unsigned long rhs )
externinline

◆ isl_sioimath_mul_si()

◆ isl_sioimath_mul_ui()

◆ isl_sioimath_neg()

◆ isl_sioimath_pow_ui()

◆ isl_sioimath_print()

void isl_sioimath_print ( FILE * out,
isl_sioimath_src i,
int width )
extern

◆ isl_sioimath_promote()

void isl_sioimath_promote ( isl_sioimath_ptr dst)
externinline

◆ isl_sioimath_read()

void isl_sioimath_read ( isl_sioimath_ptr dst,
const char * str )

◆ isl_sioimath_reinit_big()

◆ isl_sioimath_set()

◆ isl_sioimath_set_int32()

void isl_sioimath_set_int32 ( isl_sioimath_ptr ptr,
int32_t val )
externinline

◆ isl_sioimath_set_int64()

◆ isl_sioimath_set_si()

void isl_sioimath_set_si ( isl_sioimath_ptr dst,
long val )
externinline

◆ isl_sioimath_set_small()

◆ isl_sioimath_set_ui()

void isl_sioimath_set_ui ( isl_sioimath_ptr dst,
unsigned long val )
externinline

◆ isl_sioimath_sgn()

int isl_sioimath_sgn ( isl_sioimath_src arg)
externinline

◆ isl_sioimath_si64arg_src()

◆ isl_sioimath_siarg_src()

◆ isl_sioimath_sizeinbase()

size_t isl_sioimath_sizeinbase ( isl_sioimath_src arg,
int base )
externinline

◆ isl_sioimath_smallgcd()

uint32_t isl_sioimath_smallgcd ( int32_t lhs,
int32_t rhs )
static

Definition at line 84 of file isl_int_sioimath.c.

References lhs, and rhs.

Referenced by isl_sioimath_gcd(), and isl_sioimath_lcm().

◆ isl_sioimath_sub()

◆ isl_sioimath_sub_ui()

◆ isl_sioimath_submul()

void isl_sioimath_submul ( isl_sioimath_ptr dst,
isl_sioimath_src lhs,
isl_sioimath_src rhs )
externinline

◆ isl_sioimath_submul_ui()

void isl_sioimath_submul_ui ( isl_sioimath_ptr dst,
isl_sioimath_src lhs,
unsigned long rhs )
externinline

◆ isl_sioimath_swap()

void isl_sioimath_swap ( isl_sioimath_ptr lhs,
isl_sioimath_ptr rhs )
externinline

Definition at line 577 of file isl_int_sioimath.h.

References lhs, and rhs.

◆ isl_sioimath_tdiv_q()

◆ isl_sioimath_tdiv_q_ui()

◆ isl_sioimath_try_demote()

◆ isl_sioimath_uiarg_src()

◆ isl_siomath_uint32_to_digits()

void isl_siomath_uint32_to_digits ( uint32_t num,
mp_digit * digits,
mp_size * used )
externinline

Definition at line 220 of file isl_int_sioimath.h.

References ISL_SIOIMATH_TO_DIGITS.

Referenced by isl_sioimath_bigarg_src(), and isl_sioimath_hash().

◆ isl_siomath_uint64_to_digits()

void isl_siomath_uint64_to_digits ( uint64_t num,
mp_digit * digits,
mp_size * used )
externinline

Definition at line 232 of file isl_int_sioimath.h.

References ISL_SIOIMATH_TO_DIGITS.

Referenced by isl_sioimath_si64arg_src().

◆ isl_siomath_ulong_to_digits()

void isl_siomath_ulong_to_digits ( unsigned long num,
mp_digit * digits,
mp_size * used )
externinline

Definition at line 226 of file isl_int_sioimath.h.

References ISL_SIOIMATH_TO_DIGITS.

Referenced by isl_sioimath_siarg_src(), and isl_sioimath_uiarg_src().