ltm-0.41
This commit is contained in:
		
							
								
								
									
										48
									
								
								lib/hcrypto/libtommath/bn_mp_mod.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								lib/hcrypto/libtommath/bn_mp_mod.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| #include <tommath.h> | ||||
| #ifdef BN_MP_MOD_C | ||||
| /* LibTomMath, multiple-precision integer library -- Tom St Denis | ||||
|  * | ||||
|  * LibTomMath is a library that provides multiple-precision | ||||
|  * integer arithmetic as well as number theoretic functionality. | ||||
|  * | ||||
|  * The library was designed directly after the MPI library by | ||||
|  * Michael Fromberger but has been written from scratch with | ||||
|  * additional optimizations in place. | ||||
|  * | ||||
|  * The library is free for all purposes without any express | ||||
|  * guarantee it works. | ||||
|  * | ||||
|  * Tom St Denis, tomstdenis@gmail.com, http://libtom.org | ||||
|  */ | ||||
|  | ||||
| /* c = a mod b, 0 <= c < b */ | ||||
| int | ||||
| mp_mod (mp_int * a, mp_int * b, mp_int * c) | ||||
| { | ||||
|   mp_int  t; | ||||
|   int     res; | ||||
|  | ||||
|   if ((res = mp_init (&t)) != MP_OKAY) { | ||||
|     return res; | ||||
|   } | ||||
|  | ||||
|   if ((res = mp_div (a, b, NULL, &t)) != MP_OKAY) { | ||||
|     mp_clear (&t); | ||||
|     return res; | ||||
|   } | ||||
|  | ||||
|   if (t.sign != b->sign) { | ||||
|     res = mp_add (b, &t, c); | ||||
|   } else { | ||||
|     res = MP_OKAY; | ||||
|     mp_exch (&t, c); | ||||
|   } | ||||
|  | ||||
|   mp_clear (&t); | ||||
|   return res; | ||||
| } | ||||
| #endif | ||||
|  | ||||
| /* $Source: /cvs/libtom/libtommath/bn_mp_mod.c,v $ */ | ||||
| /* $Revision: 1.4 $ */ | ||||
| /* $Date: 2006/12/28 01:25:13 $ */ | ||||
		Reference in New Issue
	
	Block a user
	 Love Hornquist Astrand
					Love Hornquist Astrand