search for: mp_add_nc

Displaying 6 results from an estimated 6 matches for "mp_add_nc".

2010 Jun 13
2
[LLVMdev] Bignum development
...(ul) __randval; > } > > /**************************************** > >   Unsigned multiple precision routines > > > ****************************************/ > > mp_ptr mp_init(mp_size n) > { >   return malloc(n*sizeof(ul)); > } > > static inline > ul mp_add_nc(mp_dst r, mp_src a, mp_src b, mp_size n) > { >   long i; > >   ul cy; > >   const __uint128_t v = (__uint128_t) a[0] + b[0]; >   r[0] = (ul) v; >   cy = v >> 64; > >   for (i = 1; i < n; i++) { >      __uint128_t u = (__uint128_t) a[i] + b[i] + cy; >    ...
2010 Jun 12
0
[LLVMdev] Bignum development
...void) { __randval = (__randval * __randmult) % __randprime; return (ul) __randval; } /**************************************** Unsigned multiple precision routines ****************************************/ mp_ptr mp_init(mp_size n) { return malloc(n*sizeof(ul)); } static inline ul mp_add_nc(mp_dst r, mp_src a, mp_src b, mp_size n) { long i; ul cy; const __uint128_t v = (__uint128_t) a[0] + b[0]; r[0] = (ul) v; cy = v >> 64; for (i = 1; i < n; i++) { __uint128_t u = (__uint128_t) a[i] + b[i] + cy; r[i] = (ul) u; cy = u >> BITS; }...
2010 Jun 13
0
[LLVMdev] Bignum development
...****************** >> >> Unsigned multiple precision routines >> >> >> ****************************************/ >> >> mp_ptr mp_init(mp_size n) >> { >> return malloc(n*sizeof(ul)); >> } >> >> static inline >> ul mp_add_nc(mp_dst r, mp_src a, mp_src b, mp_size n) >> { >> long i; >> >> ul cy; >> >> const __uint128_t v = (__uint128_t) a[0] + b[0]; >> r[0] = (ul) v; >> cy = v >> 64; >> >> for (i = 1; i < n; i++) { >> __uint128...
2010 Jun 13
2
[LLVMdev] Bignum development
...Unsigned multiple precision routines >>> >>> >>> ****************************************/ >>> >>> mp_ptr mp_init(mp_size n) >>> { >>>   return malloc(n*sizeof(ul)); >>> } >>> >>> static inline >>> ul mp_add_nc(mp_dst r, mp_src a, mp_src b, mp_size n) >>> { >>>   long i; >>> >>>   ul cy; >>> >>>   const __uint128_t v = (__uint128_t) a[0] + b[0]; >>>   r[0] = (ul) v; >>>   cy = v >> 64; >>> >>>   for (i = 1; i &...
2010 Jun 11
3
[LLVMdev] Bignum development
On Fri, Jun 11, 2010 at 3:28 PM, Bill Hart <goodwillhart at googlemail.com> wrote: > Hi Eli, > > On 11 June 2010 22:44, Eli Friedman <eli.friedman at gmail.com> wrote: >> On Fri, Jun 11, 2010 at 10:37 AM, Bill Hart <goodwillhart at googlemail.com> wrote: >>> a) What plans are there to support addition, subtraction, >>> multiplication, division,
2010 Jun 11
4
[LLVMdev] Bignum development
Hi all, After searching for a decent compiler backend for ages (google sometimes isn't helpful), I recently stumbled upon LLVM. Woot!! I work on bignum arithmetic (I'm a professional mathematician) and have recently decided to switch from developing GPL'd bignum code to BSD licensed code. (See http://www.mpir.org/ which I contributed to for a while - a fork of GMP). Please bear with