10#include <botan/internal/mp_core.h>
11#include <botan/internal/ct_utils.h>
12#include <botan/mem_ops.h>
13#include <botan/exceptn.h>
25 const word p[],
size_t p_size, word p_dash,
28 word w2 = 0, w1 = 0, w0 = 0;
40 for(
size_t i = 1; i != p_size; ++i)
42 for(
size_t j = 0; j < i; ++j)
58 for(
size_t i = 0; i != p_size; ++i)
60 for(
size_t j = i + 1; j != p_size; ++j)
90 word borrow =
bigint_sub3(ws + p_size + 1, ws, p_size + 1, p, p_size);
95 clear_mem(z + p_size, z_size - p_size - 2);
#define BOTAN_DEBUG_ASSERT(expr)
Mask< T > conditional_copy_mem(T cnd, T *to, const T *from0, const T *from1, size_t elems)
void word3_muladd(word *w2, word *w1, word *w0, word x, word y)
void word3_add(word *w2, word *w1, word *w0, word x)
void bigint_monty_redc_generic(word z[], size_t z_size, const word p[], size_t p_size, word p_dash, word ws[])
word bigint_sub3(word z[], const word x[], size_t x_size, const word y[], size_t y_size)
constexpr void clear_mem(T *ptr, size_t n)