Skip to content

Latest commit

 

History

History
54 lines (53 loc) · 1.92 KB

TODO.md

File metadata and controls

54 lines (53 loc) · 1.92 KB

TODO

  • crtp
  • divide sequence.hpp into smaller pieces
  • bigint
    • bit operations
      • inplace bit operations
    • add
      • add_with_carry
        • with intrinsics
          • x86
          • cuda
      • 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?
    • inv
      • Montgomery Inversion
  • hashing
    • working implementation
      • bigint
      • point
    • hash_combine
    • hasher
  • hash table
    • static
      • perfect hash function
        • CHD algorithm
        • HIT algorithm
        • Fredman algorithm
  • remove all non-constant indexing of array in __device__ function
  • replace array based interface with sequence based (Maybe 2.0?)
  • refactor operations for heterogeneous data structures (Maybe 2.0?)
  • fix segment fault under Clang in release mode