You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

22 rivejä
503 B

  1. #ifndef PQCLEAN_DILITHIUM3_CLEAN_REDUCE_H
  2. #define PQCLEAN_DILITHIUM3_CLEAN_REDUCE_H
  3. #include <stdint.h>
  4. #define MONT 4193792U // 2^32 % Q
  5. #define QINV 4236238847U // -q^(-1) mod 2^32
  6. /* a <= Q*2^32 => r < 2*Q */
  7. uint32_t PQCLEAN_DILITHIUM3_CLEAN_montgomery_reduce(uint64_t a);
  8. /* r < 2*Q */
  9. uint32_t PQCLEAN_DILITHIUM3_CLEAN_reduce32(uint32_t a);
  10. /* a < 2*Q => r < Q */
  11. uint32_t PQCLEAN_DILITHIUM3_CLEAN_csubq(uint32_t a);
  12. /* r < Q */
  13. uint32_t PQCLEAN_DILITHIUM3_CLEAN_freeze(uint32_t a);
  14. #endif