Polly 22.0.0git
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)
#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)
#define isl_int_clear(i)
#define isl_int_set(r, i)
#define isl_int_set_si(r, i)
#define isl_int_set_ui(r, i)
#define isl_int_fits_slong(r)
#define isl_int_get_si(r)
#define isl_int_fits_ulong(r)
#define isl_int_get_ui(r)
#define isl_int_get_d(r)
#define isl_int_get_str(r)
#define isl_int_abs(r, i)
#define isl_int_neg(r, i)
#define isl_int_swap(i, j)
#define isl_int_swap_or_set(i, j)
#define isl_int_add_ui(r, i, j)
#define isl_int_sub_ui(r, i, j)
#define isl_int_add(r, i, j)
#define isl_int_sub(r, i, j)
#define isl_int_mul(r, i, j)
#define isl_int_mul_2exp(r, i, j)
#define isl_int_mul_si(r, i, j)
#define isl_int_mul_ui(r, i, j)
#define isl_int_pow_ui(r, i, j)
#define isl_int_addmul(r, i, j)
#define isl_int_addmul_ui(r, i, j)
#define isl_int_submul(r, i, j)
#define isl_int_submul_ui(r, i, j)
#define isl_int_gcd(r, i, j)
#define isl_int_lcm(r, i, j)
#define isl_int_divexact(r, i, j)
#define isl_int_divexact_ui(r, i, j)
#define isl_int_tdiv_q(r, i, j)
#define isl_int_cdiv_q(r, i, j)
#define isl_int_cdiv_q_ui(r, i, j)
#define isl_int_fdiv_q(r, i, j)
#define isl_int_fdiv_r(r, i, j)
#define isl_int_fdiv_q_ui(r, i, j)
#define isl_int_read(r, s)
#define isl_int_sgn(i)
#define isl_int_cmp(i, j)
#define isl_int_cmp_si(i, si)
#define isl_int_eq(i, j)
#define isl_int_ne(i, j)
#define isl_int_lt(i, j)
#define isl_int_le(i, j)
#define isl_int_gt(i, j)
#define isl_int_ge(i, j)
#define isl_int_abs_cmp(i, j)
#define isl_int_abs_eq(i, j)
#define isl_int_abs_ne(i, j)
#define isl_int_abs_lt(i, j)
#define isl_int_abs_gt(i, j)
#define isl_int_abs_ge(i, j)
#define isl_int_is_divisible_by(i, j)
#define isl_int_hash(v, h)
#define isl_int_free_str(s)
#define isl_int_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)
Value:
(sizeof(array)/sizeof(*array))

Definition at line 21 of file isl_int_sioimath.h.

Referenced by FN(), FN(), isl_sioimath_bigarg_src(), isl_sioimath_si64arg_src(), isl_sioimath_siarg_src(), and isl_sioimath_uiarg_src().

◆ isl_int_abs

#define isl_int_abs ( r,
i )
Value:
isl_sioimath_abs((r), *(i))
void isl_sioimath_abs(isl_sioimath_ptr dst, isl_sioimath_src arg)

Definition at line 1202 of file isl_int_sioimath.h.

◆ isl_int_abs_cmp

#define isl_int_abs_cmp ( i,
j )
Value:
int isl_sioimath_abs_cmp(isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1242 of file isl_int_sioimath.h.

◆ isl_int_abs_eq

#define isl_int_abs_eq ( i,
j )
Value:
(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,
j )
Value:
(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,
j )
Value:
(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,
j )
Value:
(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,
j )
Value:
(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,
j )
Value:
isl_sioimath_add((r), *(i), *(j))
void isl_sioimath_add(isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1209 of file isl_int_sioimath.h.

◆ isl_int_add_ui

#define isl_int_add_ui ( r,
i,
j )
Value:
isl_sioimath_add_ui((r), *(i), j)
void isl_sioimath_add_ui(isl_sioimath_ptr dst, isl_sioimath lhs, unsigned long rhs)

Definition at line 1206 of file isl_int_sioimath.h.

◆ isl_int_addmul

#define isl_int_addmul ( r,
i,
j )
Value:
isl_sioimath_addmul((r), *(i), *(j))
void isl_sioimath_addmul(isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1216 of file isl_int_sioimath.h.

◆ isl_int_addmul_ui

#define isl_int_addmul_ui ( r,
i,
j )
Value:
void isl_sioimath_addmul_ui(isl_sioimath_ptr dst, isl_sioimath_src lhs, unsigned long rhs)

Definition at line 1217 of file isl_int_sioimath.h.

◆ isl_int_cdiv_q

#define isl_int_cdiv_q ( r,
i,
j )
Value:
isl_sioimath_cdiv_q((r), *(i), *(j))
void isl_sioimath_cdiv_q(isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1226 of file isl_int_sioimath.h.

◆ isl_int_cdiv_q_ui

#define isl_int_cdiv_q_ui ( r,
i,
j )
Value:
void isl_sioimath_cdiv_q_ui(isl_sioimath_ptr dst, isl_sioimath_src lhs, unsigned long rhs)

Definition at line 1227 of file isl_int_sioimath.h.

◆ isl_int_clear

#define isl_int_clear ( i)
Value:
void isl_sioimath_clear(isl_sioimath_ptr dst)

Definition at line 1191 of file isl_int_sioimath.h.

◆ isl_int_cmp

#define isl_int_cmp ( i,
j )
Value:
isl_sioimath_cmp(*(i), *(j))
int isl_sioimath_cmp(isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1234 of file isl_int_sioimath.h.

◆ isl_int_cmp_si

#define isl_int_cmp_si ( i,
si )
Value:
int isl_sioimath_cmp_si(isl_sioimath_src lhs, signed long rhs)

Definition at line 1235 of file isl_int_sioimath.h.

◆ isl_int_divexact

#define isl_int_divexact ( r,
i,
j )
Value:
isl_sioimath_tdiv_q((r), *(i), *(j))
void isl_sioimath_tdiv_q(isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1223 of file isl_int_sioimath.h.

◆ isl_int_divexact_ui

#define isl_int_divexact_ui ( r,
i,
j )
Value:
void isl_sioimath_tdiv_q_ui(isl_sioimath_ptr dst, isl_sioimath_src lhs, unsigned long rhs)

Definition at line 1224 of file isl_int_sioimath.h.

◆ isl_int_eq

#define isl_int_eq ( i,
j )
Value:
(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,
j )
Value:
isl_sioimath_fdiv_q((r), *(i), *(j))
void isl_sioimath_fdiv_q(isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1228 of file isl_int_sioimath.h.

◆ isl_int_fdiv_q_ui

#define isl_int_fdiv_q_ui ( r,
i,
j )
Value:
void isl_sioimath_fdiv_q_ui(isl_sioimath_ptr dst, isl_sioimath_src lhs, unsigned long rhs)

Definition at line 1230 of file isl_int_sioimath.h.

◆ isl_int_fdiv_r

#define isl_int_fdiv_r ( r,
i,
j )
Value:
isl_sioimath_fdiv_r((r), *(i), *(j))
void isl_sioimath_fdiv_r(isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1229 of file isl_int_sioimath.h.

◆ isl_int_fits_slong

#define isl_int_fits_slong ( r)
Value:
int isl_sioimath_fits_slong(isl_sioimath_src val)

Definition at line 1196 of file isl_int_sioimath.h.

◆ isl_int_fits_ulong

#define isl_int_fits_ulong ( r)
Value:
int isl_sioimath_fits_ulong(isl_sioimath_src val)

Definition at line 1198 of file isl_int_sioimath.h.

◆ isl_int_free_str

#define isl_int_free_str ( s)
Value:
free(s)

Definition at line 1251 of file isl_int_sioimath.h.

◆ isl_int_gcd

#define isl_int_gcd ( r,
i,
j )
Value:
isl_sioimath_gcd((r), *(i), *(j))
void isl_sioimath_gcd(isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1221 of file isl_int_sioimath.h.

◆ isl_int_ge

#define isl_int_ge ( i,
j )
Value:
(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)
Value:
double isl_sioimath_get_d(isl_sioimath_src val)

Definition at line 1200 of file isl_int_sioimath.h.

◆ isl_int_get_si

#define isl_int_get_si ( r)
Value:
long isl_sioimath_get_si(isl_sioimath_src val)

Definition at line 1197 of file isl_int_sioimath.h.

◆ isl_int_get_str

#define isl_int_get_str ( r)
Value:
char * isl_sioimath_get_str(isl_sioimath_src val)

Definition at line 1201 of file isl_int_sioimath.h.

◆ isl_int_get_ui

#define isl_int_get_ui ( r)
Value:
unsigned long isl_sioimath_get_ui(isl_sioimath_src val)

Definition at line 1199 of file isl_int_sioimath.h.

◆ isl_int_gt

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

Definition at line 1240 of file isl_int_sioimath.h.

◆ isl_int_hash

#define isl_int_hash ( v,
h )
Value:
uint32_t isl_sioimath_hash(isl_sioimath_src arg, uint32_t hash)

Definition at line 1250 of file isl_int_sioimath.h.

◆ isl_int_init

#define isl_int_init ( i)
Value:
void isl_sioimath_init(isl_sioimath_ptr dst)

Definition at line 1190 of file isl_int_sioimath.h.

◆ isl_int_is_divisible_by

#define isl_int_is_divisible_by ( i,
j )
Value:
int isl_sioimath_is_divisible_by(isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1248 of file isl_int_sioimath.h.

◆ isl_int_lcm

#define isl_int_lcm ( r,
i,
j )
Value:
isl_sioimath_lcm((r), *(i), *(j))
void isl_sioimath_lcm(isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1222 of file isl_int_sioimath.h.

◆ isl_int_le

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

Definition at line 1239 of file isl_int_sioimath.h.

◆ isl_int_lt

#define isl_int_lt ( i,
j )
Value:
(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,
j )
Value:
isl_sioimath_mul((r), *(i), *(j))
void isl_sioimath_mul(isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1211 of file isl_int_sioimath.h.

◆ isl_int_mul_2exp

#define isl_int_mul_2exp ( r,
i,
j )
Value:
isl_sioimath_mul_2exp((r), *(i), j)
void isl_sioimath_mul_2exp(isl_sioimath_ptr dst, isl_sioimath lhs, unsigned long rhs)

Definition at line 1212 of file isl_int_sioimath.h.

◆ isl_int_mul_si

#define isl_int_mul_si ( r,
i,
j )
Value:
isl_sioimath_mul_si((r), *(i), j)
void isl_sioimath_mul_si(isl_sioimath_ptr dst, isl_sioimath lhs, signed long rhs)

Definition at line 1213 of file isl_int_sioimath.h.

◆ isl_int_mul_ui

#define isl_int_mul_ui ( r,
i,
j )
Value:
isl_sioimath_mul_ui((r), *(i), j)
void isl_sioimath_mul_ui(isl_sioimath_ptr dst, isl_sioimath lhs, unsigned long rhs)

Definition at line 1214 of file isl_int_sioimath.h.

◆ isl_int_ne

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

Definition at line 1237 of file isl_int_sioimath.h.

◆ isl_int_neg

#define isl_int_neg ( r,
i )
Value:
isl_sioimath_neg((r), *(i))
void isl_sioimath_neg(isl_sioimath_ptr dst, isl_sioimath_src arg)

Definition at line 1203 of file isl_int_sioimath.h.

◆ isl_int_pow_ui

#define isl_int_pow_ui ( r,
i,
j )
Value:
isl_sioimath_pow_ui((r), *(i), j)
void isl_sioimath_pow_ui(isl_sioimath_ptr dst, isl_sioimath_src lhs, unsigned long rhs)

Definition at line 1215 of file isl_int_sioimath.h.

◆ isl_int_print

#define isl_int_print ( out,
i,
width )
Value:
isl_sioimath_print(out, *(i), width)
void isl_sioimath_print(FILE *out, isl_sioimath_src i, int width)

Definition at line 1252 of file isl_int_sioimath.h.

◆ isl_int_read

#define isl_int_read ( r,
s )
Value:
void isl_sioimath_read(isl_sioimath_ptr dst, const char *str)

Definition at line 1232 of file isl_int_sioimath.h.

◆ isl_int_set

#define isl_int_set ( r,
i )
Value:
isl_sioimath_set((r), *(i))
void isl_sioimath_set(isl_sioimath_ptr dst, isl_sioimath_src val)

Definition at line 1193 of file isl_int_sioimath.h.

◆ isl_int_set_si

#define isl_int_set_si ( r,
i )
Value:
void isl_sioimath_set_si(isl_sioimath_ptr dst, long val)

Definition at line 1194 of file isl_int_sioimath.h.

◆ isl_int_set_ui

#define isl_int_set_ui ( r,
i )
Value:
void isl_sioimath_set_ui(isl_sioimath_ptr dst, unsigned long val)

Definition at line 1195 of file isl_int_sioimath.h.

◆ isl_int_sgn

#define isl_int_sgn ( i)
Value:
int isl_sioimath_sgn(isl_sioimath_src arg)

Definition at line 1233 of file isl_int_sioimath.h.

◆ isl_int_sub

#define isl_int_sub ( r,
i,
j )
Value:
isl_sioimath_sub((r), *(i), *(j))
void isl_sioimath_sub(isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1210 of file isl_int_sioimath.h.

◆ isl_int_sub_ui

#define isl_int_sub_ui ( r,
i,
j )
Value:
isl_sioimath_sub_ui((r), *(i), j)
void isl_sioimath_sub_ui(isl_sioimath_ptr dst, isl_sioimath lhs, unsigned long rhs)

Definition at line 1207 of file isl_int_sioimath.h.

◆ isl_int_submul

#define isl_int_submul ( r,
i,
j )
Value:
isl_sioimath_submul((r), *(i), *(j))
void isl_sioimath_submul(isl_sioimath_ptr dst, isl_sioimath_src lhs, isl_sioimath_src rhs)

Definition at line 1218 of file isl_int_sioimath.h.

◆ isl_int_submul_ui

#define isl_int_submul_ui ( r,
i,
j )
Value:
void isl_sioimath_submul_ui(isl_sioimath_ptr dst, isl_sioimath_src lhs, unsigned long rhs)

Definition at line 1219 of file isl_int_sioimath.h.

◆ isl_int_swap

#define isl_int_swap ( i,
j )
Value:
void isl_sioimath_swap(isl_sioimath_ptr lhs, isl_sioimath_ptr rhs)

Definition at line 1204 of file isl_int_sioimath.h.

◆ isl_int_swap_or_set

#define isl_int_swap_or_set ( i,
j )
Value:

Definition at line 1205 of file isl_int_sioimath.h.

◆ isl_int_tdiv_q

#define isl_int_tdiv_q ( r,
i,
j )
Value:
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

◆ ISL_SIOIMATH_SMALL_MIN

#define ISL_SIOIMATH_SMALL_MIN   (-INT32_MAX)

◆ 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.

Referenced by isl_siomath_uint32_to_digits(), isl_siomath_uint64_to_digits(), and isl_siomath_ulong_to_digits().

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

◆ isl_sioimath_abs_cmp()

int isl_sioimath_abs_cmp ( isl_sioimath_src lhs,
isl_sioimath_src rhs )
inline

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

◆ isl_sioimath_cdiv_q()

◆ isl_sioimath_cdiv_q_ui()

◆ isl_sioimath_clear()

◆ isl_sioimath_cmp()

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

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

◆ isl_sioimath_fdiv_q_ui()

◆ isl_sioimath_fdiv_r()

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

◆ isl_sioimath_get_big()

◆ isl_sioimath_get_d()

◆ isl_sioimath_get_si()

long isl_sioimath_get_si ( isl_sioimath_src val)
inline

◆ isl_sioimath_get_small()

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

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

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

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

◆ isl_sioimath_set()

◆ isl_sioimath_set_int32()

void isl_sioimath_set_int32 ( isl_sioimath_ptr ptr,
int32_t val )
inline

◆ isl_sioimath_set_int64()

◆ isl_sioimath_set_si()

void isl_sioimath_set_si ( isl_sioimath_ptr dst,
long val )
inline

◆ isl_sioimath_set_small()

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

◆ isl_sioimath_siarg_src()

◆ isl_sioimath_sizeinbase()

size_t isl_sioimath_sizeinbase ( isl_sioimath_src arg,
int base )
inline

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

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