ltm-0.41
This commit is contained in:
		
							
								
								
									
										45
									
								
								lib/hcrypto/libtommath/bn_mp_get_int.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								lib/hcrypto/libtommath/bn_mp_get_int.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| #include <tommath.h> | ||||
| #ifdef BN_MP_GET_INT_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 | ||||
|  */ | ||||
|  | ||||
| /* get the lower 32-bits of an mp_int */ | ||||
| unsigned long mp_get_int(mp_int * a)  | ||||
| { | ||||
|   int i; | ||||
|   unsigned long res; | ||||
|  | ||||
|   if (a->used == 0) { | ||||
|      return 0; | ||||
|   } | ||||
|  | ||||
|   /* get number of digits of the lsb we have to read */ | ||||
|   i = MIN(a->used,(int)((sizeof(unsigned long)*CHAR_BIT+DIGIT_BIT-1)/DIGIT_BIT))-1; | ||||
|  | ||||
|   /* get most significant digit of result */ | ||||
|   res = DIGIT(a,i); | ||||
|     | ||||
|   while (--i >= 0) { | ||||
|     res = (res << DIGIT_BIT) | DIGIT(a,i); | ||||
|   } | ||||
|  | ||||
|   /* force result to 32-bits always so it is consistent on non 32-bit platforms */ | ||||
|   return res & 0xFFFFFFFFUL; | ||||
| } | ||||
| #endif | ||||
|  | ||||
| /* $Source: /cvs/libtom/libtommath/bn_mp_get_int.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