Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
M
micropython
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
This is an archived project. Repository and other project resources are read-only.
Show more breadcrumbs
card10
micropython
Commits
dcdcc43d
Commit
dcdcc43d
authored
8 years ago
by
Damien George
Browse files
Options
Downloads
Patches
Plain Diff
py/mpz: Convert mp_uint_t to size_t where appropriate.
parent
4e3bac2e
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
py/mpz.c
+30
-30
30 additions, 30 deletions
py/mpz.c
py/mpz.h
+10
-10
10 additions, 10 deletions
py/mpz.h
with
40 additions
and
40 deletions
py/mpz.c
+
30
−
30
View file @
dcdcc43d
...
...
@@ -53,7 +53,7 @@
returns sign(i - j)
assumes i, j are normalised
*/
STATIC
int
mpn_cmp
(
const
mpz_dig_t
*
idig
,
mp_uint
_t
ilen
,
const
mpz_dig_t
*
jdig
,
mp_uint
_t
jlen
)
{
STATIC
int
mpn_cmp
(
const
mpz_dig_t
*
idig
,
size
_t
ilen
,
const
mpz_dig_t
*
jdig
,
size
_t
jlen
)
{
if
(
ilen
<
jlen
)
{
return
-
1
;
}
if
(
ilen
>
jlen
)
{
return
1
;
}
...
...
@@ -71,7 +71,7 @@ STATIC int mpn_cmp(const mpz_dig_t *idig, mp_uint_t ilen, const mpz_dig_t *jdig,
assumes enough memory in i; assumes normalised j; assumes n > 0
can have i, j pointing to same memory
*/
STATIC
mp_uint
_t
mpn_shl
(
mpz_dig_t
*
idig
,
mpz_dig_t
*
jdig
,
mp_uint
_t
jlen
,
mp_uint_t
n
)
{
STATIC
size
_t
mpn_shl
(
mpz_dig_t
*
idig
,
mpz_dig_t
*
jdig
,
size
_t
jlen
,
mp_uint_t
n
)
{
mp_uint_t
n_whole
=
(
n
+
DIG_SIZE
-
1
)
/
DIG_SIZE
;
mp_uint_t
n_part
=
n
%
DIG_SIZE
;
if
(
n_part
==
0
)
{
...
...
@@ -84,7 +84,7 @@ STATIC mp_uint_t mpn_shl(mpz_dig_t *idig, mpz_dig_t *jdig, mp_uint_t jlen, mp_ui
// shift the digits
mpz_dbl_dig_t
d
=
0
;
for
(
mp_uint
_t
i
=
jlen
;
i
>
0
;
i
--
,
idig
--
,
jdig
--
)
{
for
(
size
_t
i
=
jlen
;
i
>
0
;
i
--
,
idig
--
,
jdig
--
)
{
d
|=
*
jdig
;
*
idig
=
(
d
>>
(
DIG_SIZE
-
n_part
))
&
DIG_MASK
;
d
<<=
DIG_SIZE
;
...
...
@@ -110,7 +110,7 @@ STATIC mp_uint_t mpn_shl(mpz_dig_t *idig, mpz_dig_t *jdig, mp_uint_t jlen, mp_ui
assumes enough memory in i; assumes normalised j; assumes n > 0
can have i, j pointing to same memory
*/
STATIC
mp_uint
_t
mpn_shr
(
mpz_dig_t
*
idig
,
mpz_dig_t
*
jdig
,
mp_uint
_t
jlen
,
mp_uint_t
n
)
{
STATIC
size
_t
mpn_shr
(
mpz_dig_t
*
idig
,
mpz_dig_t
*
jdig
,
size
_t
jlen
,
mp_uint_t
n
)
{
mp_uint_t
n_whole
=
n
/
DIG_SIZE
;
mp_uint_t
n_part
=
n
%
DIG_SIZE
;
...
...
@@ -121,7 +121,7 @@ STATIC mp_uint_t mpn_shr(mpz_dig_t *idig, mpz_dig_t *jdig, mp_uint_t jlen, mp_ui
jdig
+=
n_whole
;
jlen
-=
n_whole
;
for
(
mp_uint
_t
i
=
jlen
;
i
>
0
;
i
--
,
idig
++
,
jdig
++
)
{
for
(
size
_t
i
=
jlen
;
i
>
0
;
i
--
,
idig
++
,
jdig
++
)
{
mpz_dbl_dig_t
d
=
*
jdig
;
if
(
i
>
1
)
{
d
|=
(
mpz_dbl_dig_t
)
jdig
[
1
]
<<
DIG_SIZE
;
...
...
@@ -142,7 +142,7 @@ STATIC mp_uint_t mpn_shr(mpz_dig_t *idig, mpz_dig_t *jdig, mp_uint_t jlen, mp_ui
assumes enough memory in i; assumes normalised j, k; assumes jlen >= klen
can have i, j, k pointing to same memory
*/
STATIC
mp_uint
_t
mpn_add
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
mp_uint
_t
jlen
,
const
mpz_dig_t
*
kdig
,
mp_uint
_t
klen
)
{
STATIC
size
_t
mpn_add
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
size
_t
jlen
,
const
mpz_dig_t
*
kdig
,
size
_t
klen
)
{
mpz_dig_t
*
oidig
=
idig
;
mpz_dbl_dig_t
carry
=
0
;
...
...
@@ -172,7 +172,7 @@ STATIC mp_uint_t mpn_add(mpz_dig_t *idig, const mpz_dig_t *jdig, mp_uint_t jlen,
assumes enough memory in i; assumes normalised j, k; assumes j >= k
can have i, j, k pointing to same memory
*/
STATIC
mp_uint
_t
mpn_sub
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
mp_uint
_t
jlen
,
const
mpz_dig_t
*
kdig
,
mp_uint
_t
klen
)
{
STATIC
size
_t
mpn_sub
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
size
_t
jlen
,
const
mpz_dig_t
*
kdig
,
size
_t
klen
)
{
mpz_dig_t
*
oidig
=
idig
;
mpz_dbl_dig_signed_t
borrow
=
0
;
...
...
@@ -196,7 +196,7 @@ STATIC mp_uint_t mpn_sub(mpz_dig_t *idig, const mpz_dig_t *jdig, mp_uint_t jlen,
return
idig
+
1
-
oidig
;
}
STATIC
mp_uint
_t
mpn_remove_trailing_zeros
(
mpz_dig_t
*
oidig
,
mpz_dig_t
*
idig
)
{
STATIC
size
_t
mpn_remove_trailing_zeros
(
mpz_dig_t
*
oidig
,
mpz_dig_t
*
idig
)
{
for
(
--
idig
;
idig
>=
oidig
&&
*
idig
==
0
;
--
idig
)
{
}
return
idig
+
1
-
oidig
;
...
...
@@ -209,7 +209,7 @@ STATIC mp_uint_t mpn_remove_trailing_zeros(mpz_dig_t *oidig, mpz_dig_t *idig) {
assumes enough memory in i; assumes normalised j, k; assumes jlen >= klen (jlen argument not needed)
can have i, j, k pointing to same memory
*/
STATIC
mp_uint
_t
mpn_and
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
const
mpz_dig_t
*
kdig
,
mp_uint
_t
klen
)
{
STATIC
size
_t
mpn_and
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
const
mpz_dig_t
*
kdig
,
size
_t
klen
)
{
mpz_dig_t
*
oidig
=
idig
;
for
(;
klen
>
0
;
--
klen
,
++
idig
,
++
jdig
,
++
kdig
)
{
...
...
@@ -230,7 +230,7 @@ STATIC mp_uint_t mpn_and(mpz_dig_t *idig, const mpz_dig_t *jdig, const mpz_dig_t
assumes enough memory in i; assumes normalised j, k; assumes length j >= length k
can have i, j, k pointing to same memory
*/
STATIC
mp_uint
_t
mpn_and_neg
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
mp_uint
_t
jlen
,
const
mpz_dig_t
*
kdig
,
mp_uint
_t
klen
,
STATIC
size
_t
mpn_and_neg
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
size
_t
jlen
,
const
mpz_dig_t
*
kdig
,
size
_t
klen
,
mpz_dbl_dig_t
carryi
,
mpz_dbl_dig_t
carryj
,
mpz_dbl_dig_t
carryk
)
{
mpz_dig_t
*
oidig
=
idig
;
mpz_dig_t
imask
=
(
0
==
carryi
)
?
0
:
DIG_MASK
;
...
...
@@ -261,7 +261,7 @@ STATIC mp_uint_t mpn_and_neg(mpz_dig_t *idig, const mpz_dig_t *jdig, mp_uint_t j
assumes enough memory in i; assumes normalised j, k; assumes jlen >= klen
can have i, j, k pointing to same memory
*/
STATIC
mp_uint
_t
mpn_or
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
mp_uint
_t
jlen
,
const
mpz_dig_t
*
kdig
,
mp_uint
_t
klen
)
{
STATIC
size
_t
mpn_or
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
size
_t
jlen
,
const
mpz_dig_t
*
kdig
,
size
_t
klen
)
{
mpz_dig_t
*
oidig
=
idig
;
jlen
-=
klen
;
...
...
@@ -291,7 +291,7 @@ STATIC mp_uint_t mpn_or(mpz_dig_t *idig, const mpz_dig_t *jdig, mp_uint_t jlen,
#if MICROPY_OPT_MPZ_BITWISE
STATIC
mp_uint
_t
mpn_or_neg
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
mp_uint
_t
jlen
,
const
mpz_dig_t
*
kdig
,
mp_uint
_t
klen
,
STATIC
size
_t
mpn_or_neg
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
size
_t
jlen
,
const
mpz_dig_t
*
kdig
,
size
_t
klen
,
mpz_dbl_dig_t
carryj
,
mpz_dbl_dig_t
carryk
)
{
mpz_dig_t
*
oidig
=
idig
;
mpz_dbl_dig_t
carryi
=
1
;
...
...
@@ -321,7 +321,7 @@ STATIC mp_uint_t mpn_or_neg(mpz_dig_t *idig, const mpz_dig_t *jdig, mp_uint_t jl
#else
STATIC
mp_uint
_t
mpn_or_neg
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
mp_uint
_t
jlen
,
const
mpz_dig_t
*
kdig
,
mp_uint
_t
klen
,
STATIC
size
_t
mpn_or_neg
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
size
_t
jlen
,
const
mpz_dig_t
*
kdig
,
size
_t
klen
,
mpz_dbl_dig_t
carryi
,
mpz_dbl_dig_t
carryj
,
mpz_dbl_dig_t
carryk
)
{
mpz_dig_t
*
oidig
=
idig
;
mpz_dig_t
imask
=
(
0
==
carryi
)
?
0
:
DIG_MASK
;
...
...
@@ -353,7 +353,7 @@ STATIC mp_uint_t mpn_or_neg(mpz_dig_t *idig, const mpz_dig_t *jdig, mp_uint_t jl
assumes enough memory in i; assumes normalised j, k; assumes jlen >= klen
can have i, j, k pointing to same memory
*/
STATIC
mp_uint
_t
mpn_xor
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
mp_uint
_t
jlen
,
const
mpz_dig_t
*
kdig
,
mp_uint
_t
klen
)
{
STATIC
size
_t
mpn_xor
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
size
_t
jlen
,
const
mpz_dig_t
*
kdig
,
size
_t
klen
)
{
mpz_dig_t
*
oidig
=
idig
;
jlen
-=
klen
;
...
...
@@ -380,7 +380,7 @@ STATIC mp_uint_t mpn_xor(mpz_dig_t *idig, const mpz_dig_t *jdig, mp_uint_t jlen,
assumes enough memory in i; assumes normalised j, k; assumes length j >= length k
can have i, j, k pointing to same memory
*/
STATIC
mp_uint
_t
mpn_xor_neg
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
mp_uint
_t
jlen
,
const
mpz_dig_t
*
kdig
,
mp_uint
_t
klen
,
STATIC
size
_t
mpn_xor_neg
(
mpz_dig_t
*
idig
,
const
mpz_dig_t
*
jdig
,
size
_t
jlen
,
const
mpz_dig_t
*
kdig
,
size
_t
klen
,
mpz_dbl_dig_t
carryi
,
mpz_dbl_dig_t
carryj
,
mpz_dbl_dig_t
carryk
)
{
mpz_dig_t
*
oidig
=
idig
;
...
...
@@ -405,7 +405,7 @@ STATIC mp_uint_t mpn_xor_neg(mpz_dig_t *idig, const mpz_dig_t *jdig, mp_uint_t j
returns number of digits in i
assumes enough memory in i; assumes normalised i; assumes dmul != 0
*/
STATIC
mp_uint
_t
mpn_mul_dig_add_dig
(
mpz_dig_t
*
idig
,
mp_uint
_t
ilen
,
mpz_dig_t
dmul
,
mpz_dig_t
dadd
)
{
STATIC
size
_t
mpn_mul_dig_add_dig
(
mpz_dig_t
*
idig
,
size
_t
ilen
,
mpz_dig_t
dmul
,
mpz_dig_t
dadd
)
{
mpz_dig_t
*
oidig
=
idig
;
mpz_dbl_dig_t
carry
=
dadd
;
...
...
@@ -427,15 +427,15 @@ STATIC mp_uint_t mpn_mul_dig_add_dig(mpz_dig_t *idig, mp_uint_t ilen, mpz_dig_t
assumes enough memory in i; assumes i is zeroed; assumes normalised j, k
can have j, k point to same memory
*/
STATIC
mp_uint
_t
mpn_mul
(
mpz_dig_t
*
idig
,
mpz_dig_t
*
jdig
,
mp_uint
_t
jlen
,
mpz_dig_t
*
kdig
,
mp_uint
_t
klen
)
{
STATIC
size
_t
mpn_mul
(
mpz_dig_t
*
idig
,
mpz_dig_t
*
jdig
,
size
_t
jlen
,
mpz_dig_t
*
kdig
,
size
_t
klen
)
{
mpz_dig_t
*
oidig
=
idig
;
mp_uint
_t
ilen
=
0
;
size
_t
ilen
=
0
;
for
(;
klen
>
0
;
--
klen
,
++
idig
,
++
kdig
)
{
mpz_dig_t
*
id
=
idig
;
mpz_dbl_dig_t
carry
=
0
;
mp_uint
_t
jl
=
jlen
;
size
_t
jl
=
jlen
;
for
(
mpz_dig_t
*
jd
=
jdig
;
jl
>
0
;
--
jl
,
++
jd
,
++
id
)
{
carry
+=
(
mpz_dbl_dig_t
)
*
id
+
(
mpz_dbl_dig_t
)
*
jd
*
(
mpz_dbl_dig_t
)
*
kdig
;
// will never overflow so long as DIG_SIZE <= 8*sizeof(mpz_dbl_dig_t)/2
*
id
=
carry
&
DIG_MASK
;
...
...
@@ -458,7 +458,7 @@ STATIC mp_uint_t mpn_mul(mpz_dig_t *idig, mpz_dig_t *jdig, mp_uint_t jlen, mpz_d
assumes quo_dig has enough memory (as many digits as num)
assumes quo_dig is filled with zeros
*/
STATIC
void
mpn_div
(
mpz_dig_t
*
num_dig
,
mp_uint
_t
*
num_len
,
const
mpz_dig_t
*
den_dig
,
mp_uint
_t
den_len
,
mpz_dig_t
*
quo_dig
,
mp_uint
_t
*
quo_len
)
{
STATIC
void
mpn_div
(
mpz_dig_t
*
num_dig
,
size
_t
*
num_len
,
const
mpz_dig_t
*
den_dig
,
size
_t
den_len
,
mpz_dig_t
*
quo_dig
,
size
_t
*
quo_len
)
{
mpz_dig_t
*
orig_num_dig
=
num_dig
;
mpz_dig_t
*
orig_quo_dig
=
quo_dig
;
mpz_dig_t
norm_shift
=
0
;
...
...
@@ -661,7 +661,7 @@ void mpz_init_from_int(mpz_t *z, mp_int_t val) {
mpz_set_from_int
(
z
,
val
);
}
void
mpz_init_fixed_from_int
(
mpz_t
*
z
,
mpz_dig_t
*
dig
,
mp_uint
_t
alloc
,
mp_int_t
val
)
{
void
mpz_init_fixed_from_int
(
mpz_t
*
z
,
mpz_dig_t
*
dig
,
size
_t
alloc
,
mp_int_t
val
)
{
z
->
neg
=
0
;
z
->
fixed_dig
=
1
;
z
->
alloc
=
alloc
;
...
...
@@ -705,7 +705,7 @@ mpz_t *mpz_from_float(mp_float_t val) {
}
#endif
mpz_t *mpz_from_str(const char *str,
mp_uint
_t len, bool neg, mp_uint_t base) {
mpz_t *mpz_from_str(const char *str,
size
_t len, bool neg, mp_uint_t base) {
mpz_t *z = mpz_zero();
mpz_set_from_str(z, str, len, neg, base);
return z;
...
...
@@ -719,7 +719,7 @@ STATIC void mpz_free(mpz_t *z) {
}
}
STATIC
void
mpz_need_dig
(
mpz_t
*
z
,
mp_uint
_t
need
)
{
STATIC
void
mpz_need_dig
(
mpz_t
*
z
,
size
_t
need
)
{
if
(
need
<
MIN_ALLOC
)
{
need
=
MIN_ALLOC
;
}
...
...
@@ -873,7 +873,7 @@ typedef uint32_t mp_float_int_t;
#endif
// returns number of bytes from str that were processed
mp_uint
_t
mpz_set_from_str
(
mpz_t
*
z
,
const
char
*
str
,
mp_uint
_t
len
,
bool
neg
,
mp_uint_t
base
)
{
size
_t
mpz_set_from_str
(
mpz_t
*
z
,
const
char
*
str
,
size
_t
len
,
bool
neg
,
mp_uint_t
base
)
{
assert
(
base
<=
36
);
const
char
*
cur
=
str
;
...
...
@@ -909,7 +909,7 @@ mp_uint_t mpz_set_from_str(mpz_t *z, const char *str, mp_uint_t len, bool neg, m
return
cur
-
str
;
}
void
mpz_set_from_bytes
(
mpz_t
*
z
,
bool
big_endian
,
mp_uint
_t
len
,
const
byte
*
buf
)
{
void
mpz_set_from_bytes
(
mpz_t
*
z
,
bool
big_endian
,
size
_t
len
,
const
byte
*
buf
)
{
int
delta
=
1
;
if
(
big_endian
)
{
buf
+=
len
-
1
;
...
...
@@ -1151,7 +1151,7 @@ void mpz_shr_inpl(mpz_t *dest, const mpz_t *lhs, mp_uint_t rhs) {
mp_uint_t
n_whole
=
rhs
/
DIG_SIZE
;
mp_uint_t
n_part
=
rhs
%
DIG_SIZE
;
mpz_dig_t
round_up
=
0
;
for
(
mp_uint
_t
i
=
0
;
i
<
lhs
->
len
&&
i
<
n_whole
;
i
++
)
{
for
(
size
_t
i
=
0
;
i
<
lhs
->
len
&&
i
<
n_whole
;
i
++
)
{
if
(
lhs
->
dig
[
i
]
!=
0
)
{
round_up
=
1
;
break
;
...
...
@@ -1624,7 +1624,7 @@ bool mpz_as_uint_checked(const mpz_t *i, mp_uint_t *value) {
}
// writes at most len bytes to buf (so buf should be zeroed before calling)
void
mpz_as_bytes
(
const
mpz_t
*
z
,
bool
big_endian
,
mp_uint
_t
len
,
byte
*
buf
)
{
void
mpz_as_bytes
(
const
mpz_t
*
z
,
bool
big_endian
,
size
_t
len
,
byte
*
buf
)
{
byte
*
b
=
buf
;
if
(
big_endian
)
{
b
+=
len
;
...
...
@@ -1633,7 +1633,7 @@ void mpz_as_bytes(const mpz_t *z, bool big_endian, mp_uint_t len, byte *buf) {
int
bits
=
0
;
mpz_dbl_dig_t
d
=
0
;
mpz_dbl_dig_t
carry
=
1
;
for
(
mp_uint
_t
zlen
=
z
->
len
;
zlen
>
0
;
--
zlen
)
{
for
(
size
_t
zlen
=
z
->
len
;
zlen
>
0
;
--
zlen
)
{
bits
+=
DIG_SIZE
;
d
=
(
d
<<
DIG_SIZE
)
|
*
zdig
++
;
for
(;
bits
>=
8
;
bits
-=
8
,
d
>>=
8
)
{
...
...
@@ -1685,7 +1685,7 @@ char *mpz_as_str(const mpz_t *i, mp_uint_t base) {
// assumes enough space as calculated by mp_int_format_size
// returns length of string, not including null byte
mp_uint
_t
mpz_as_str_inpl
(
const
mpz_t
*
i
,
mp_uint_t
base
,
const
char
*
prefix
,
char
base_char
,
char
comma
,
char
*
str
)
{
size
_t
mpz_as_str_inpl
(
const
mpz_t
*
i
,
mp_uint_t
base
,
const
char
*
prefix
,
char
base_char
,
char
comma
,
char
*
str
)
{
if
(
str
==
NULL
)
{
return
0
;
}
...
...
@@ -1694,7 +1694,7 @@ mp_uint_t mpz_as_str_inpl(const mpz_t *i, mp_uint_t base, const char *prefix, ch
return
0
;
}
mp_uint
_t
ilen
=
i
->
len
;
size
_t
ilen
=
i
->
len
;
char
*
s
=
str
;
if
(
ilen
==
0
)
{
...
...
This diff is collapsed.
Click to expand it.
py/mpz.h
+
10
−
10
View file @
dcdcc43d
...
...
@@ -87,10 +87,10 @@ typedef int8_t mpz_dbl_dig_signed_t;
#define MPZ_NUM_DIG_FOR_LL ((sizeof(long long) * 8 + MPZ_DIG_SIZE - 1) / MPZ_DIG_SIZE)
typedef
struct
_mpz_t
{
mp_uint
_t
neg
:
1
;
mp_uint
_t
fixed_dig
:
1
;
mp_uint
_t
alloc
:
BITS_PER_WORD
-
2
;
mp_uint
_t
len
;
size
_t
neg
:
1
;
size
_t
fixed_dig
:
1
;
size
_t
alloc
:
8
*
sizeof
(
size_t
)
-
2
;
size
_t
len
;
mpz_dig_t
*
dig
;
}
mpz_t
;
...
...
@@ -99,7 +99,7 @@ typedef struct _mpz_t {
void
mpz_init_zero
(
mpz_t
*
z
);
void
mpz_init_from_int
(
mpz_t
*
z
,
mp_int_t
val
);
void
mpz_init_fixed_from_int
(
mpz_t
*
z
,
mpz_dig_t
*
dig
,
mp_uint
_t
dig_alloc
,
mp_int_t
val
);
void
mpz_init_fixed_from_int
(
mpz_t
*
z
,
mpz_dig_t
*
dig
,
size
_t
dig_alloc
,
mp_int_t
val
);
void
mpz_deinit
(
mpz_t
*
z
);
void
mpz_set
(
mpz_t
*
dest
,
const
mpz_t
*
src
);
...
...
@@ -108,8 +108,8 @@ void mpz_set_from_ll(mpz_t *z, long long i, bool is_signed);
#if MICROPY_PY_BUILTINS_FLOAT
void
mpz_set_from_float
(
mpz_t
*
z
,
mp_float_t
src
);
#endif
mp_uint
_t
mpz_set_from_str
(
mpz_t
*
z
,
const
char
*
str
,
mp_uint
_t
len
,
bool
neg
,
mp_uint_t
base
);
void
mpz_set_from_bytes
(
mpz_t
*
z
,
bool
big_endian
,
mp_uint
_t
len
,
const
byte
*
buf
);
size
_t
mpz_set_from_str
(
mpz_t
*
z
,
const
char
*
str
,
size
_t
len
,
bool
neg
,
mp_uint_t
base
);
void
mpz_set_from_bytes
(
mpz_t
*
z
,
bool
big_endian
,
size
_t
len
,
const
byte
*
buf
);
bool
mpz_is_zero
(
const
mpz_t
*
z
);
int
mpz_cmp
(
const
mpz_t
*
lhs
,
const
mpz_t
*
rhs
);
...
...
@@ -133,11 +133,11 @@ static inline size_t mpz_max_num_bits(const mpz_t *z) { return z->len * MPZ_DIG_
mp_int_t
mpz_hash
(
const
mpz_t
*
z
);
bool
mpz_as_int_checked
(
const
mpz_t
*
z
,
mp_int_t
*
value
);
bool
mpz_as_uint_checked
(
const
mpz_t
*
z
,
mp_uint_t
*
value
);
void
mpz_as_bytes
(
const
mpz_t
*
z
,
bool
big_endian
,
mp_uint
_t
len
,
byte
*
buf
);
void
mpz_as_bytes
(
const
mpz_t
*
z
,
bool
big_endian
,
size
_t
len
,
byte
*
buf
);
#if MICROPY_PY_BUILTINS_FLOAT
mp_float_t
mpz_as_float
(
const
mpz_t
*
z
);
#endif
mp_uint
_t
mpz_as_str_size
(
const
mpz_t
*
i
,
mp_uint_t
base
,
const
char
*
prefix
,
char
comma
);
mp_uint
_t
mpz_as_str_inpl
(
const
mpz_t
*
z
,
mp_uint_t
base
,
const
char
*
prefix
,
char
base_char
,
char
comma
,
char
*
str
);
size
_t
mpz_as_str_size
(
const
mpz_t
*
i
,
mp_uint_t
base
,
const
char
*
prefix
,
char
comma
);
size
_t
mpz_as_str_inpl
(
const
mpz_t
*
z
,
mp_uint_t
base
,
const
char
*
prefix
,
char
base_char
,
char
comma
,
char
*
str
);
#endif // __MICROPY_INCLUDED_PY_MPZ_H__
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment