/* -*-c-*-
*
- * $Id: mpmont.h,v 1.3 1999/12/10 23:29:48 mdw Exp $
+ * $Id: mpmont.h,v 1.4 1999/12/11 01:51:14 mdw Exp $
*
* Montgomery reduction
*
/*----- Revision history --------------------------------------------------*
*
* $Log: mpmont.h,v $
+ * Revision 1.4 1999/12/11 01:51:14 mdw
+ * Use a Karatsuba-based reduction for large moduli.
+ *
* Revision 1.3 1999/12/10 23:29:48 mdw
* Change header file guard names.
*
typedef struct mpmont {
mp *m; /* Modulus */
- mpw mi; /* %$-m^{-1} \bmod b$% */
- size_t shift; /* %$\log_2 R$% */
+ mp *mi; /* %$-m^{-1} \bmod R$% */
+ size_t n; /* %$\log_b R$% */
mp *r, *r2; /* %$R \bmod m$%, %$R^2 \bmod m$% */
} mpmont;