Polly 19.0.0git
Classes | Macros | Typedefs | Functions
isl_int_sioimath.h File Reference
#include <inttypes.h>
#include <limits.h>
#include <stdint.h>
#include <stdlib.h>
#include <isl_imath.h>
#include <isl/hash.h>

Go to the source code of this file.

Classes

struct  isl_sioimath_scratchspace_t
 

Macros

#define ARRAY_SIZE(array)   (sizeof(array)/sizeof(*array))
 
#define ISL_SIOIMATH_SMALL_MIN   (-INT32_MAX)
 
#define ISL_SIOIMATH_SMALL_MAX   INT32_MAX
 
#define ISL_SIOIMATH_TO_DIGITS(num, digits, used)
 
#define isl_int_init(i)   isl_sioimath_init((i))
 
#define isl_int_clear(i)   isl_sioimath_clear((i))
 
#define isl_int_set(r, i)   isl_sioimath_set((r), *(i))
 
#define isl_int_set_si(r, i)   isl_sioimath_set_si((r), i)
 
#define isl_int_set_ui(r, i)   isl_sioimath_set_ui((r), i)
 
#define isl_int_fits_slong(r)   isl_sioimath_fits_slong(*(r))
 
#define isl_int_get_si(r)   isl_sioimath_get_si(*(r))
 
#define isl_int_fits_ulong(r)   isl_sioimath_fits_ulong(*(r))
 
#define isl_int_get_ui(r)   isl_sioimath_get_ui(*(r))
 
#define isl_int_get_d(r)   isl_sioimath_get_d(*(r))
 
#define isl_int_get_str(r)   isl_sioimath_get_str(*(r))
 
#define isl_int_abs(r, i)   isl_sioimath_abs((r), *(i))
 
#define isl_int_neg(r, i)   isl_sioimath_neg((r), *(i))
 
#define isl_int_swap(i, j)   isl_sioimath_swap((i), (j))
 
#define isl_int_swap_or_set(i, j)   isl_sioimath_swap((i), (j))
 
#define isl_int_add_ui(r, i, j)   isl_sioimath_add_ui((r), *(i), j)
 
#define isl_int_sub_ui(r, i, j)   isl_sioimath_sub_ui((r), *(i), j)
 
#define isl_int_add(r, i, j)   isl_sioimath_add((r), *(i), *(j))
 
#define isl_int_sub(r, i, j)   isl_sioimath_sub((r), *(i), *(j))
 
#define isl_int_mul(r, i, j)   isl_sioimath_mul((r), *(i), *(j))
 
#define isl_int_mul_2exp(r, i, j)   isl_sioimath_mul_2exp((r), *(i), j)
 
#define isl_int_mul_si(r, i, j)   isl_sioimath_mul_si((r), *(i), j)
 
#define isl_int_mul_ui(r, i, j)   isl_sioimath_mul_ui((r), *(i), j)
 
#define isl_int_pow_ui(r, i, j)   isl_sioimath_pow_ui((r), *(i), j)
 
#define isl_int_addmul(r, i, j)   isl_sioimath_addmul((r), *(i), *(j))
 
#define isl_int_addmul_ui(r, i, j)   isl_sioimath_addmul_ui((r), *(i), j)
 
#define isl_int_submul(r, i, j)   isl_sioimath_submul((r), *(i), *(j))
 
#define isl_int_submul_ui(r, i, j)   isl_sioimath_submul_ui((r), *(i), j)
 
#define isl_int_gcd(r, i, j)   isl_sioimath_gcd((r), *(i), *(j))
 
#define isl_int_lcm(r, i, j)   isl_sioimath_lcm((r), *(i), *(j))
 
#define isl_int_divexact(r, i, j)   isl_sioimath_tdiv_q((r), *(i), *(j))
 
#define isl_int_divexact_ui(r, i, j)   isl_sioimath_tdiv_q_ui((r), *(i), j)
 
#define isl_int_tdiv_q(r, i, j)   isl_sioimath_tdiv_q((r), *(i), *(j))
 
#define isl_int_cdiv_q(r, i, j)   isl_sioimath_cdiv_q((r), *(i), *(j))
 
#define isl_int_cdiv_q_ui(r, i, j)   isl_sioimath_cdiv_q_ui((r), *(i), j)
 
#define isl_int_fdiv_q(r, i, j)   isl_sioimath_fdiv_q((r), *(i), *(j))
 
#define isl_int_fdiv_r(r, i, j)   isl_sioimath_fdiv_r((r), *(i), *(j))
 
#define isl_int_fdiv_q_ui(r, i, j)   isl_sioimath_fdiv_q_ui((r), *(i), j)
 
#define isl_int_read(r, s)   isl_sioimath_read((r), s)
 
#define isl_int_sgn(i)   isl_sioimath_sgn(*(i))
 
#define isl_int_cmp(i, j)   isl_sioimath_cmp(*(i), *(j))
 
#define isl_int_cmp_si(i, si)   isl_sioimath_cmp_si(*(i), si)
 
#define isl_int_eq(i, j)   (isl_sioimath_cmp(*(i), *(j)) == 0)
 
#define isl_int_ne(i, j)   (isl_sioimath_cmp(*(i), *(j)) != 0)
 
#define isl_int_lt(i, j)   (isl_sioimath_cmp(*(i), *(j)) < 0)
 
#define isl_int_le(i, j)   (isl_sioimath_cmp(*(i), *(j)) <= 0)
 
#define isl_int_gt(i, j)   (isl_sioimath_cmp(*(i), *(j)) > 0)
 
#define isl_int_ge(i, j)   (isl_sioimath_cmp(*(i), *(j)) >= 0)
 
#define isl_int_abs_cmp(i, j)   isl_sioimath_abs_cmp(*(i), *(j))
 
#define isl_int_abs_eq(i, j)   (isl_sioimath_abs_cmp(*(i), *(j)) == 0)
 
#define isl_int_abs_ne(i, j)   (isl_sioimath_abs_cmp(*(i), *(j)) != 0)
 
#define isl_int_abs_lt(i, j)   (isl_sioimath_abs_cmp(*(i), *(j)) < 0)
 
#define isl_int_abs_gt(i, j)   (isl_sioimath_abs_cmp(*(i), *(j)) > 0)
 
#define isl_int_abs_ge(i, j)   (isl_sioimath_abs_cmp(*(i), *(j)) >= 0)
 
#define isl_int_is_divisible_by(i, j)   isl_sioimath_is_divisible_by(*(i), *(j))
 
#define isl_int_hash(v, h)   isl_sioimath_hash(*(v), h)
 
#define isl_int_free_str(s)   free(s)
 
#define isl_int_print(out, i, width)   isl_sioimath_print(out, *(i), width)
 

Typedefs

typedef uintptr_t isl_sioimath
 
typedef isl_sioimathisl_sioimath_ptr
 
typedef isl_sioimath isl_sioimath_src
 
typedef isl_sioimath isl_int[1]
 

Functions

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)
 
int isl_sioimath_decode_small (isl_sioimath val, int32_t *small)
 
int isl_sioimath_decode_big (isl_sioimath val, mp_int *big)
 
isl_sioimath isl_sioimath_encode_small (int32_t val)
 
isl_sioimath isl_sioimath_encode_big (mp_int 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)
 
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)
 

Macro Definition Documentation

◆ ARRAY_SIZE

#define ARRAY_SIZE (   array)    (sizeof(array)/sizeof(*array))

Definition at line 21 of file isl_int_sioimath.h.

◆ isl_int_abs

#define isl_int_abs (   r,
 
)    isl_sioimath_abs((r), *(i))

Definition at line 1202 of file isl_int_sioimath.h.

◆ isl_int_abs_cmp

#define isl_int_abs_cmp (   i,
 
)    isl_sioimath_abs_cmp(*(i), *(j))

Definition at line 1242 of file isl_int_sioimath.h.

◆ isl_int_abs_eq

#define isl_int_abs_eq (   i,
 
)    (isl_sioimath_abs_cmp(*(i), *(j)) == 0)

Definition at line 1243 of file isl_int_sioimath.h.

◆ isl_int_abs_ge

#define isl_int_abs_ge (   i,
 
)    (isl_sioimath_abs_cmp(*(i), *(j)) >= 0)

Definition at line 1247 of file isl_int_sioimath.h.

◆ isl_int_abs_gt

#define isl_int_abs_gt (   i,
 
)    (isl_sioimath_abs_cmp(*(i), *(j)) > 0)

Definition at line 1246 of file isl_int_sioimath.h.

◆ isl_int_abs_lt

#define isl_int_abs_lt (   i,
 
)    (isl_sioimath_abs_cmp(*(i), *(j)) < 0)

Definition at line 1245 of file isl_int_sioimath.h.

◆ isl_int_abs_ne

#define isl_int_abs_ne (   i,
 
)    (isl_sioimath_abs_cmp(*(i), *(j)) != 0)

Definition at line 1244 of file isl_int_sioimath.h.

◆ isl_int_add

#define isl_int_add (   r,
  i,
 
)    isl_sioimath_add((r), *(i), *(j))

Definition at line 1209 of file isl_int_sioimath.h.

◆ isl_int_add_ui

#define isl_int_add_ui (   r,
  i,
 
)    isl_sioimath_add_ui((r), *(i), j)

Definition at line 1206 of file isl_int_sioimath.h.

◆ isl_int_addmul

#define isl_int_addmul (   r,
  i,
 
)    isl_sioimath_addmul((r), *(i), *(j))

Definition at line 1216 of file isl_int_sioimath.h.

◆ isl_int_addmul_ui

#define isl_int_addmul_ui (   r,
  i,
 
)    isl_sioimath_addmul_ui((r), *(i), j)

Definition at line 1217 of file isl_int_sioimath.h.

◆ isl_int_cdiv_q

#define isl_int_cdiv_q (   r,
  i,
 
)    isl_sioimath_cdiv_q((r), *(i), *(j))

Definition at line 1226 of file isl_int_sioimath.h.

◆ isl_int_cdiv_q_ui

#define isl_int_cdiv_q_ui (   r,
  i,
 
)    isl_sioimath_cdiv_q_ui((r), *(i), j)

Definition at line 1227 of file isl_int_sioimath.h.

◆ isl_int_clear

#define isl_int_clear (   i)    isl_sioimath_clear((i))

Definition at line 1191 of file isl_int_sioimath.h.

◆ isl_int_cmp

#define isl_int_cmp (   i,
 
)    isl_sioimath_cmp(*(i), *(j))

Definition at line 1234 of file isl_int_sioimath.h.

◆ isl_int_cmp_si

#define isl_int_cmp_si (   i,
  si 
)    isl_sioimath_cmp_si(*(i), si)

Definition at line 1235 of file isl_int_sioimath.h.

◆ isl_int_divexact

#define isl_int_divexact (   r,
  i,
 
)    isl_sioimath_tdiv_q((r), *(i), *(j))

Definition at line 1223 of file isl_int_sioimath.h.

◆ isl_int_divexact_ui

#define isl_int_divexact_ui (   r,
  i,
 
)    isl_sioimath_tdiv_q_ui((r), *(i), j)

Definition at line 1224 of file isl_int_sioimath.h.

◆ isl_int_eq

#define isl_int_eq (   i,
 
)    (isl_sioimath_cmp(*(i), *(j)) == 0)

Definition at line 1236 of file isl_int_sioimath.h.

◆ isl_int_fdiv_q

#define isl_int_fdiv_q (   r,
  i,
 
)    isl_sioimath_fdiv_q((r), *(i), *(j))

Definition at line 1228 of file isl_int_sioimath.h.

◆ isl_int_fdiv_q_ui

#define isl_int_fdiv_q_ui (   r,
  i,
 
)    isl_sioimath_fdiv_q_ui((r), *(i), j)

Definition at line 1230 of file isl_int_sioimath.h.

◆ isl_int_fdiv_r

#define isl_int_fdiv_r (   r,
  i,
 
)    isl_sioimath_fdiv_r((r), *(i), *(j))

Definition at line 1229 of file isl_int_sioimath.h.

◆ isl_int_fits_slong

#define isl_int_fits_slong (   r)    isl_sioimath_fits_slong(*(r))

Definition at line 1196 of file isl_int_sioimath.h.

◆ isl_int_fits_ulong

#define isl_int_fits_ulong (   r)    isl_sioimath_fits_ulong(*(r))

Definition at line 1198 of file isl_int_sioimath.h.

◆ isl_int_free_str

#define isl_int_free_str (   s)    free(s)

Definition at line 1251 of file isl_int_sioimath.h.

◆ isl_int_gcd

#define isl_int_gcd (   r,
  i,
 
)    isl_sioimath_gcd((r), *(i), *(j))

Definition at line 1221 of file isl_int_sioimath.h.

◆ isl_int_ge

#define isl_int_ge (   i,
 
)    (isl_sioimath_cmp(*(i), *(j)) >= 0)

Definition at line 1241 of file isl_int_sioimath.h.

◆ isl_int_get_d

#define isl_int_get_d (   r)    isl_sioimath_get_d(*(r))

Definition at line 1200 of file isl_int_sioimath.h.

◆ isl_int_get_si

#define isl_int_get_si (   r)    isl_sioimath_get_si(*(r))

Definition at line 1197 of file isl_int_sioimath.h.

◆ isl_int_get_str

#define isl_int_get_str (   r)    isl_sioimath_get_str(*(r))

Definition at line 1201 of file isl_int_sioimath.h.

◆ isl_int_get_ui

#define isl_int_get_ui (   r)    isl_sioimath_get_ui(*(r))

Definition at line 1199 of file isl_int_sioimath.h.

◆ isl_int_gt

#define isl_int_gt (   i,
 
)    (isl_sioimath_cmp(*(i), *(j)) > 0)

Definition at line 1240 of file isl_int_sioimath.h.

◆ isl_int_hash

#define isl_int_hash (   v,
 
)    isl_sioimath_hash(*(v), h)

Definition at line 1250 of file isl_int_sioimath.h.

◆ isl_int_init

#define isl_int_init (   i)    isl_sioimath_init((i))

Definition at line 1190 of file isl_int_sioimath.h.

◆ isl_int_is_divisible_by

#define isl_int_is_divisible_by (   i,
 
)    isl_sioimath_is_divisible_by(*(i), *(j))

Definition at line 1248 of file isl_int_sioimath.h.

◆ isl_int_lcm

#define isl_int_lcm (   r,
  i,
 
)    isl_sioimath_lcm((r), *(i), *(j))

Definition at line 1222 of file isl_int_sioimath.h.

◆ isl_int_le

#define isl_int_le (   i,
 
)    (isl_sioimath_cmp(*(i), *(j)) <= 0)

Definition at line 1239 of file isl_int_sioimath.h.

◆ isl_int_lt

#define isl_int_lt (   i,
 
)    (isl_sioimath_cmp(*(i), *(j)) < 0)

Definition at line 1238 of file isl_int_sioimath.h.

◆ isl_int_mul

#define isl_int_mul (   r,
  i,
 
)    isl_sioimath_mul((r), *(i), *(j))

Definition at line 1211 of file isl_int_sioimath.h.

◆ isl_int_mul_2exp

#define isl_int_mul_2exp (   r,
  i,
 
)    isl_sioimath_mul_2exp((r), *(i), j)

Definition at line 1212 of file isl_int_sioimath.h.

◆ isl_int_mul_si

#define isl_int_mul_si (   r,
  i,
 
)    isl_sioimath_mul_si((r), *(i), j)

Definition at line 1213 of file isl_int_sioimath.h.

◆ isl_int_mul_ui

#define isl_int_mul_ui (   r,
  i,
 
)    isl_sioimath_mul_ui((r), *(i), j)

Definition at line 1214 of file isl_int_sioimath.h.

◆ isl_int_ne

#define isl_int_ne (   i,
 
)    (isl_sioimath_cmp(*(i), *(j)) != 0)

Definition at line 1237 of file isl_int_sioimath.h.

◆ isl_int_neg

#define isl_int_neg (   r,
 
)    isl_sioimath_neg((r), *(i))

Definition at line 1203 of file isl_int_sioimath.h.

◆ isl_int_pow_ui

#define isl_int_pow_ui (   r,
  i,
 
)    isl_sioimath_pow_ui((r), *(i), j)

Definition at line 1215 of file isl_int_sioimath.h.

◆ isl_int_print

#define isl_int_print (   out,
  i,
  width 
)    isl_sioimath_print(out, *(i), width)

Definition at line 1252 of file isl_int_sioimath.h.

◆ isl_int_read

#define isl_int_read (   r,
 
)    isl_sioimath_read((r), s)

Definition at line 1232 of file isl_int_sioimath.h.

◆ isl_int_set

#define isl_int_set (   r,
 
)    isl_sioimath_set((r), *(i))

Definition at line 1193 of file isl_int_sioimath.h.

◆ isl_int_set_si

#define isl_int_set_si (   r,
 
)    isl_sioimath_set_si((r), i)

Definition at line 1194 of file isl_int_sioimath.h.

◆ isl_int_set_ui

#define isl_int_set_ui (   r,
 
)    isl_sioimath_set_ui((r), i)

Definition at line 1195 of file isl_int_sioimath.h.

◆ isl_int_sgn

#define isl_int_sgn (   i)    isl_sioimath_sgn(*(i))

Definition at line 1233 of file isl_int_sioimath.h.

◆ isl_int_sub

#define isl_int_sub (   r,
  i,
 
)    isl_sioimath_sub((r), *(i), *(j))

Definition at line 1210 of file isl_int_sioimath.h.

◆ isl_int_sub_ui

#define isl_int_sub_ui (   r,
  i,
 
)    isl_sioimath_sub_ui((r), *(i), j)

Definition at line 1207 of file isl_int_sioimath.h.

◆ isl_int_submul

#define isl_int_submul (   r,
  i,
 
)    isl_sioimath_submul((r), *(i), *(j))

Definition at line 1218 of file isl_int_sioimath.h.

◆ isl_int_submul_ui

#define isl_int_submul_ui (   r,
  i,
 
)    isl_sioimath_submul_ui((r), *(i), j)

Definition at line 1219 of file isl_int_sioimath.h.

◆ isl_int_swap

#define isl_int_swap (   i,
 
)    isl_sioimath_swap((i), (j))

Definition at line 1204 of file isl_int_sioimath.h.

◆ isl_int_swap_or_set

#define isl_int_swap_or_set (   i,
 
)    isl_sioimath_swap((i), (j))

Definition at line 1205 of file isl_int_sioimath.h.

◆ isl_int_tdiv_q

#define isl_int_tdiv_q (   r,
  i,
 
)    isl_sioimath_tdiv_q((r), *(i), *(j))

Definition at line 1225 of file isl_int_sioimath.h.

◆ ISL_SIOIMATH_SMALL_MAX

#define ISL_SIOIMATH_SMALL_MAX   INT32_MAX

Definition at line 92 of file isl_int_sioimath.h.

◆ ISL_SIOIMATH_SMALL_MIN

#define ISL_SIOIMATH_SMALL_MIN   (-INT32_MAX)

Definition at line 89 of file isl_int_sioimath.h.

◆ ISL_SIOIMATH_TO_DIGITS

#define ISL_SIOIMATH_TO_DIGITS (   num,
  digits,
  used 
)
Value:
do { \
int i = 0; \
do { \
(digits)[i] = \
((num) >> (sizeof(mp_digit) * CHAR_BIT * i)); \
i += 1; \
if (i >= (sizeof(num) + sizeof(mp_digit) - 1) / \
sizeof(mp_digit)) \
break; \
if (((num) >> (sizeof(mp_digit) * CHAR_BIT * i)) == 0) \
break; \
} while (1); \
(used) = i; \
} while (0)
uint32_t mp_digit
Definition: imath/imath.h:52

Definition at line 204 of file isl_int_sioimath.h.

Typedef Documentation

◆ isl_int

typedef isl_sioimath isl_int[1]

Definition at line 1189 of file isl_int_sioimath.h.

◆ isl_sioimath

typedef uintptr_t isl_sioimath

Definition at line 75 of file isl_int_sioimath.h.

◆ isl_sioimath_ptr

Definition at line 95 of file isl_int_sioimath.h.

◆ isl_sioimath_src

Definition at line 98 of file isl_int_sioimath.h.

Function Documentation

◆ isl_sioimath_abs()

void isl_sioimath_abs ( isl_sioimath_ptr  dst,
isl_sioimath_src  arg 
)
inline

◆ isl_sioimath_abs_cmp()

int isl_sioimath_abs_cmp ( isl_sioimath_src  lhs,
isl_sioimath_src  rhs 
)
inline

◆ isl_sioimath_add()

void isl_sioimath_add ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
isl_sioimath_src  rhs 
)
inline

◆ isl_sioimath_add_ui()

void isl_sioimath_add_ui ( isl_sioimath_ptr  dst,
isl_sioimath  lhs,
unsigned long  rhs 
)
inline

◆ isl_sioimath_addmul()

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

◆ isl_sioimath_addmul_ui()

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

◆ isl_sioimath_bigarg_src()

mp_int isl_sioimath_bigarg_src ( isl_sioimath  arg,
isl_sioimath_scratchspace_t scratch 
)
inline

◆ isl_sioimath_cdiv_q()

void isl_sioimath_cdiv_q ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
isl_sioimath_src  rhs 
)
inline

◆ isl_sioimath_cdiv_q_ui()

void isl_sioimath_cdiv_q_ui ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
unsigned long  rhs 
)
inline

◆ isl_sioimath_clear()

void isl_sioimath_clear ( isl_sioimath_ptr  dst)
inline

◆ isl_sioimath_cmp()

int isl_sioimath_cmp ( isl_sioimath_src  lhs,
isl_sioimath_src  rhs 
)
inline

◆ isl_sioimath_cmp_si()

int isl_sioimath_cmp_si ( isl_sioimath_src  lhs,
signed long  rhs 
)
inline

◆ isl_sioimath_decode_big()

int isl_sioimath_decode_big ( isl_sioimath  val,
mp_int big 
)
inline

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()

int isl_sioimath_decode_small ( isl_sioimath  val,
int32_t *  small 
)
inline

◆ 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)
inline

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)
inline

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()

void isl_sioimath_fdiv_q ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
isl_sioimath_src  rhs 
)
inline

◆ isl_sioimath_fdiv_q_ui()

void isl_sioimath_fdiv_q_ui ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
unsigned long  rhs 
)
inline

◆ isl_sioimath_fdiv_r()

void isl_sioimath_fdiv_r ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
isl_sioimath_src  rhs 
)
inline

◆ isl_sioimath_fits_slong()

int isl_sioimath_fits_slong ( isl_sioimath_src  val)
inline

◆ isl_sioimath_fits_ulong()

int isl_sioimath_fits_ulong ( isl_sioimath_src  val)
inline

◆ isl_sioimath_gcd()

void isl_sioimath_gcd ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
isl_sioimath_src  rhs 
)

◆ isl_sioimath_get_big()

mp_int isl_sioimath_get_big ( isl_sioimath  val)
inline

◆ isl_sioimath_get_d()

double isl_sioimath_get_d ( isl_sioimath_src  val)
inline

◆ isl_sioimath_get_si()

long isl_sioimath_get_si ( isl_sioimath_src  val)
inline

◆ isl_sioimath_get_small()

int32_t isl_sioimath_get_small ( isl_sioimath  val)
inline

◆ isl_sioimath_get_str()

char * isl_sioimath_get_str ( isl_sioimath_src  val)
inline

◆ isl_sioimath_get_ui()

unsigned long isl_sioimath_get_ui ( isl_sioimath_src  val)
inline

◆ isl_sioimath_hash()

uint32_t isl_sioimath_hash ( isl_sioimath_src  arg,
uint32_t  hash 
)
inline

◆ isl_sioimath_init()

void isl_sioimath_init ( isl_sioimath_ptr  dst)
inline

◆ isl_sioimath_is_big()

int isl_sioimath_is_big ( isl_sioimath  val)
inline

◆ isl_sioimath_is_divisible_by()

int isl_sioimath_is_divisible_by ( isl_sioimath_src  lhs,
isl_sioimath_src  rhs 
)
inline

◆ isl_sioimath_is_small()

int isl_sioimath_is_small ( isl_sioimath  val)
inline

◆ isl_sioimath_lcm()

void isl_sioimath_lcm ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
isl_sioimath_src  rhs 
)

◆ isl_sioimath_mul()

void isl_sioimath_mul ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
isl_sioimath_src  rhs 
)
inline

◆ isl_sioimath_mul_2exp()

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

◆ isl_sioimath_mul_si()

void isl_sioimath_mul_si ( isl_sioimath_ptr  dst,
isl_sioimath  lhs,
signed long  rhs 
)
inline

◆ isl_sioimath_mul_ui()

void isl_sioimath_mul_ui ( isl_sioimath_ptr  dst,
isl_sioimath  lhs,
unsigned long  rhs 
)
inline

◆ isl_sioimath_neg()

void isl_sioimath_neg ( isl_sioimath_ptr  dst,
isl_sioimath_src  arg 
)
inline

◆ isl_sioimath_pow_ui()

void isl_sioimath_pow_ui ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
unsigned long  rhs 
)
inline

◆ isl_sioimath_print()

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

◆ isl_sioimath_promote()

void isl_sioimath_promote ( isl_sioimath_ptr  dst)
inline

◆ isl_sioimath_read()

void isl_sioimath_read ( isl_sioimath_ptr  dst,
const char *  str 
)

◆ isl_sioimath_reinit_big()

mp_int isl_sioimath_reinit_big ( isl_sioimath_ptr  ptr)
inline

◆ isl_sioimath_set()

void isl_sioimath_set ( isl_sioimath_ptr  dst,
isl_sioimath_src  val 
)
inline

◆ isl_sioimath_set_int32()

void isl_sioimath_set_int32 ( isl_sioimath_ptr  ptr,
int32_t  val 
)
inline

◆ isl_sioimath_set_int64()

void isl_sioimath_set_int64 ( isl_sioimath_ptr  ptr,
int64_t  val 
)
inline

◆ isl_sioimath_set_si()

void isl_sioimath_set_si ( isl_sioimath_ptr  dst,
long  val 
)
inline

◆ isl_sioimath_set_small()

void isl_sioimath_set_small ( isl_sioimath_ptr  ptr,
int32_t  val 
)
inline

◆ isl_sioimath_set_ui()

void isl_sioimath_set_ui ( isl_sioimath_ptr  dst,
unsigned long  val 
)
inline

◆ isl_sioimath_sgn()

int isl_sioimath_sgn ( isl_sioimath_src  arg)
inline

◆ isl_sioimath_si64arg_src()

mp_int isl_sioimath_si64arg_src ( int64_t  arg,
isl_sioimath_scratchspace_t scratch 
)
inline

◆ isl_sioimath_siarg_src()

mp_int isl_sioimath_siarg_src ( signed long  arg,
isl_sioimath_scratchspace_t scratch 
)
inline

◆ isl_sioimath_sizeinbase()

size_t isl_sioimath_sizeinbase ( isl_sioimath_src  arg,
int  base 
)
inline

◆ isl_sioimath_sub()

void isl_sioimath_sub ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
isl_sioimath_src  rhs 
)
inline

◆ isl_sioimath_sub_ui()

void isl_sioimath_sub_ui ( isl_sioimath_ptr  dst,
isl_sioimath  lhs,
unsigned long  rhs 
)
inline

◆ isl_sioimath_submul()

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

◆ isl_sioimath_submul_ui()

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

◆ isl_sioimath_swap()

void isl_sioimath_swap ( isl_sioimath_ptr  lhs,
isl_sioimath_ptr  rhs 
)
inline

Definition at line 577 of file isl_int_sioimath.h.

References lhs, and rhs.

◆ isl_sioimath_tdiv_q()

void isl_sioimath_tdiv_q ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
isl_sioimath_src  rhs 
)
inline

◆ isl_sioimath_tdiv_q_ui()

void isl_sioimath_tdiv_q_ui ( isl_sioimath_ptr  dst,
isl_sioimath_src  lhs,
unsigned long  rhs 
)
inline

◆ isl_sioimath_try_demote()

void isl_sioimath_try_demote ( isl_sioimath_ptr  dst)
inline

◆ isl_sioimath_uiarg_src()

mp_int isl_sioimath_uiarg_src ( unsigned long  arg,
isl_sioimath_scratchspace_t scratch 
)
inline

◆ isl_siomath_uint32_to_digits()

void isl_siomath_uint32_to_digits ( uint32_t  num,
mp_digit digits,
mp_size used 
)
inline

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 
)
inline

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 
)
inline

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().