- crtp
- divide
sequence.hpp
into smaller pieces - bigint
- bit operations
- inplace bit operations
- add
-
add_with_carry
- with intrinsics
- x86
- cuda
- with intrinsics
-
add_with_carry
inplace- with intrinsics
-
add
:$c = a + b \pmod{\mathrm{LIMB_BITS}}$ -
add
inplace:$a = a + b \pmod{\mathrm{LIMB_BITS}}$ - add group
add
:$c = a + b \pmod{M}$ - add group
add
inplace:$a = a + b \pmod{M}$
-
- sub
-
sub_with_borrow
- with intrinsics
-
sub_with_borrow
inplace- with intrinsics
-
sub
:$a = b - c \pmod{\mathrm{LIMB_BITS}}$ -
sub
inplace:$a = a - b \pmod{\mathrm{LIMB_BITS}}$ - add group
sub
:$a = b - c \pmod{M}$ - add group
sub
inplace:$a = a - b \pmod{M}$
-
- mul
- Interleaved Multiplication-reduction Method
- Montgomery Multiplication
- Q: What about
$N$ that is not coprime with$b$ ?- Q: Is mon-mul capable of handling this?
A: No- Q: If not, what's a good alternative?
A: A possible alternative is to use Interleaved Multiplication-reduction Method instead - Q: Is mon-arithmetic +
$\mathbb{F}_{2^q}$ arithmetic + CRT a probable or even a good solution?
- Q: If not, what's a good alternative?
- Q: Is mon-mul capable of handling this?
- Q: What about
- inv
- Montgomery Inversion
- bit operations
- hashing
- working implementation
- bigint
- point
-
hash_combine
- hasher
- working implementation
- hash table
- static
- perfect hash function
- CHD algorithm
- HIT algorithm
- Fredman algorithm
- perfect hash function
- static
- remove all non-constant indexing of array in
__device__
function - replace
array
based interface withsequence
based (Maybe 2.0?) - refactor operations for heterogeneous data structures (Maybe 2.0?)
- fix segment fault under Clang in release mode