/* -*-c-*-
*
- * $Id: mpbarrett.h,v 1.4 2004/04/01 12:50:09 mdw Exp $
+ * $Id$
*
* Barrett modular reduction
*
* MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: mpbarrett.h,v $
- * Revision 1.4 2004/04/01 12:50:09 mdw
- * Add cyclic group abstraction, with test code. Separate off exponentation
- * functions for better static linking. Fix a buttload of bugs on the way.
- * Generally ensure that negative exponents do inversion correctly. Add
- * table of standard prime-field subgroups. (Binary field subgroups are
- * currently unimplemented but easy to add if anyone ever finds a good one.)
- *
- * Revision 1.3 2001/06/16 12:58:47 mdw
- * Added simultaneous exponentiation with Barrett reduction.
- *
- * Revision 1.2 2000/10/08 12:03:44 mdw
- * (mpbarrett_reduce): Cope with negative numbers.
- *
- * Revision 1.1 1999/12/10 23:22:00 mdw
- * Barrett reduction support: works with even moduli.
- *
- */
-
/*----- Notes on Barrett reduction ----------------------------------------*
*
* Barrett reduction is a technique for computing modular residues. Unlike
* Arguments: @mpbarrett *mb@ = pointer to Barrett reduction context
* @mp *m@ = modulus to work to
*
- *
- * Returns: ---
+ * Returns: Zero on success, nonzero on error.
*
* Use: Initializes a Barrett reduction context ready for use.
*/
-extern void mpbarrett_create(mpbarrett */*mb*/, mp */*m*/);
+extern int mpbarrett_create(mpbarrett */*mb*/, mp */*m*/);
/* --- @mpbarrett_destroy@ --- *
*