3 /* LibTomMath, multiple-precision integer library -- Tom St Denis
5 * LibTomMath is a library that provides multiple-precision
6 * integer arithmetic as well as number theoretic functionality.
8 * The library was designed directly after the MPI library by
9 * Michael Fromberger but has been written from scratch with
10 * additional optimizations in place.
12 * The library is free for all purposes without any express
15 * Tom St Denis, tomstdenis@gmail.com, http://libtom.org
18 /* set a 32-bit const */
19 int mp_set_int (mp_int
* a
, unsigned long b
)
25 /* set four bits at a time */
26 for (x
= 0; x
< 8; x
++) {
27 /* shift the number up four bits */
28 if ((res
= mp_mul_2d (a
, 4, a
)) != MP_OKAY
) {
32 /* OR in the top four bits of the source */
33 a
->dp
[0] |= (b
>> 28) & 15;
35 /* shift the source up to the next four bits */
38 /* ensure that digits are not clamped off */
46 /* $Source: /cvs/libtom/libtommath/bn_mp_set_int.c,v $ */
47 /* $Revision: 1.4 $ */
48 /* $Date: 2006/12/28 01:25:13 $ */