Skip to content

Integer module

Miscellaneous integer functions

pqlattice.integer.eea

eea(a: int, b: int) -> tuple[int, int, int]
eea(a: Array, b: int) -> tuple[Array, Array, Array]
eea(
    a: int | Array, b: int
) -> tuple[int, int, int] | tuple[Array, Array, Array]

summary

Parameters:

Name Type Description Default
a int | Array

description

required
b int

description

required

Returns:

Type Description
tuple[int, int, int] | tuple[Array, Array, Array]

description

pqlattice.integer.is_prime

is_prime(p: int) -> bool

summary

Parameters:

Name Type Description Default
p int

description

required

Returns:

Type Description
bool

description


ModIntRing class for modular arithmetic operations

pqlattice.integer.ModIntRing

ModIntRing(modulus: int)

summary

Parameters:

Name Type Description Default
modulus int

description

required

Raises:

Type Description
ValueError

description

q property

q: int

summary

Returns:

Type Description
_type_

description

add

add(a: int, b: int) -> int

summary

Parameters:

Name Type Description Default
a int

description

required
b int

description

required

Returns:

Type Description
int

description

cmodl

cmodl(a: int) -> int
cmodl(a: Array) -> Array
cmodl(a: int | Array) -> int | Array

summary

Parameters:

Name Type Description Default
a int | Array

description

required

Returns:

Type Description
int | Array

description

cmodr

cmodr(a: int) -> int
cmodr(a: Array) -> Array
cmodr(a: int | Array) -> int | Array

summary

Parameters:

Name Type Description Default
a int | Array

description

required

Returns:

Type Description
int | Array

description

div

div(a: int, b: int) -> int

summary

Parameters:

Name Type Description Default
a int

description

required
b int

description

required

Returns:

Type Description
int

description

inv

inv(a: int) -> int
inv(a: Array) -> Array
inv(a: int | Array) -> int | Array

summary

Parameters:

Name Type Description Default
a int | Array

description

required

Returns:

Type Description
int | Array

description

is_zero

is_zero(a: int) -> bool

summary

Parameters:

Name Type Description Default
a int

description

required

Returns:

Type Description
bool

description

mod

mod(a: int) -> int
mod(a: Array) -> Array
mod(a: int | Array) -> int | Array

summary

Parameters:

Name Type Description Default
a int | Array

description

required

Returns:

Type Description
int | Array

description

mul

mul(a: int, b: int) -> int

summary

Parameters:

Name Type Description Default
a int

description

required
b int

description

required

Returns:

Type Description
int

description

neg

neg(a: int) -> int
neg(a: Array) -> Array
neg(a: int | Array) -> int | Array

summary

Parameters:

Name Type Description Default
a int | Array

description

required

Returns:

Type Description
int | Array

description

pow

pow(a: int, r: int) -> int
pow(a: Array, r: int) -> Array
pow(a: int | Array, r: int) -> int | Array

summary

Parameters:

Name Type Description Default
a int | Array

description

required
r int

description

required

Returns:

Type Description
int | Array

description

sub

sub(a: int, b: int) -> int

summary

Parameters:

Name Type Description Default
a int

description

required
b int

description

required

Returns:

Type Description
int

description


Free functions for modular arithmetic operations

pqlattice.integer.mod

mod(a: int, modulus: int) -> int
mod(a: Array, modulus: int) -> Array
mod(a: int | Array, modulus: int) -> int | Array

summary

Parameters:

Name Type Description Default
a int | Array

description

required
modulus int

description

required

Returns:

Type Description
int | Array

description

pqlattice.integer.cmodl

cmodl(a: int, modulus: int) -> int
cmodl(a: Array, modulus: int) -> Array
cmodl(a: int | Array, modulus: int) -> int | Array

summary

Parameters:

Name Type Description Default
a int | Array

description

required
modulus int

description

required

Returns:

Type Description
int | Array

description

pqlattice.integer.cmodr

cmodr(a: int, modulus: int) -> int
cmodr(a: Array, modulus: int) -> Array
cmodr(a: int | Array, modulus: int) -> int | Array

summary

Parameters:

Name Type Description Default
a int | Array

description

required
modulus int

description

required

Returns:

Type Description
int | Array

description

pqlattice.integer.modinv

modinv(a: int, modulus: int) -> int
modinv(a: Array, modulus: int) -> Array
modinv(a: int | Array, modulus: int) -> int | Array

summary

Parameters:

Name Type Description Default
a int | Array

description

required
modulus int

description

required

Returns:

Type Description
int | Array

description

Raises:

Type Description
ValueError

description

ValueError

description

pqlattice.integer.modpow

modpow(a: Array, r: int, modulus: int) -> Array
modpow(a: int, r: int, modulus: int) -> int
modpow(a: int | Array, r: int, modulus: int) -> int | Array

summary

Parameters:

Name Type Description Default
a int | Array

description

required
r int

description

required
modulus int

description

required

Returns:

Type Description
int | Array

description