#ifndef REDUCE_H #define REDUCE_H #include #include "params.h" #define MONT -4186625 // 2^32 % Q #define QINV 58728449 // q^(-1) mod 2^32 #define fqmul DILITHIUM_NAMESPACE(fqmul) int64_t fqmul(int32_t a, int32_t b); #define reduce32 DILITHIUM_NAMESPACE(reduce32) int32_t reduce32(int32_t a); #define caddq DILITHIUM_NAMESPACE(caddq) int32_t caddq(int32_t a); #define freeze DILITHIUM_NAMESPACE(freeze) int32_t freeze(int32_t a); #endif