| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
so application code can check for the specific API it expects without
having to keep track of what versions APIs x,y,z changed. Arbitrarily
set all current API versions to 20131128.
|
| |
|
| |
|
|
|
|
|
|
| |
Now 64-bit limbs can be used regardless of processor, though we
continue to use 32-bit unless we know the processor natively supports
64-bit operations.
|
|
|
|
|
|
|
| |
Use it to merge mp_msvc64 (was using MSVC _umul128 intrinsic) and
mp_asm64 (was using inline asm) into mp_word64, which calls the new
mul64x64_128 function. That function wraps any available compiler
intrinsics or CPU instructions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
be 2*(p_size+1). Document that it clears the high part of z.
Don't clear the workspace before calling Karatsuba in bigint_mul or
bigint_sqr - they clear it every time anyway.
Don't bother masking words in the Montgomery_Exponentiator as redc
zeros those words. Also don't bother calling z.clear() as the multiply
operation does that already.
|
|
|
|
|
|
| |
Move bigint_divcore to divide.cpp which is the only place it is
used. Probably not computationally intensive enough to really be worth
optimizing in asm.
|
| |
|
|
|
|
|
| |
Move Karatsuba cutoffs to mp_karat.cpp as that is the only place that
uses them and I doubt these get tweaked much (ever).
|
|
|
|
|
|
|
|
|
| |
we know one of the sub values was going to be zero. Avoid doing this
as it exposes a timing channel.
Some bn_asm code was manually inlined into the Karatsuba for doing
additions. Just call the normal functions - if these are too slow that
should be fixed.
|
| |
|
|
|
|
|
| |
the same, so clearly GCC 4.6 and/or the Core i7 are very good about
renames, but might help on less capable systems.
|
|
|
|
|
|
| |
not exposed to callers)
Switch back redc to using the inlined version (accidental change)
|
|
|
|
| |
redc, currently)
|
| |
|
|
|
|
| |
overzealous perl script...
|
|
|
|
|
|
|
| |
for Montgomery or multiply/square currently exist and almost ceratainly
won't be added during 1.10
Fix the name for Sun Studio in mp_asm64
|
|
|
|
|
|
| |
Back the reported version from 1.10.0 to 1.9.17 for the time
being. Still on the fence if this will be 1.10.0 or another release
candidate instead.
|
| |
|
| |
|
|
|
|
|
|
| |
it should use add with carry or conditional moves if available.
Also remove the amd64 asm; the mp_amd64 code should be used for this case.
|
| |
|
| |
|
|
for the implementation of the BigInt class
|