aboutsummaryrefslogtreecommitdiffstats
path: root/src/math/bigint
Commit message (Collapse)AuthorAgeFilesLines
* Correct Doxygen commentlloyd2010-03-131-3/+3
|
* Name args to bigint_{mul,sqr} in headerlloyd2010-03-131-5/+5
|
* Move the get_byte template to its own header, because many fileslloyd2010-02-021-1/+1
| | | | including loadstor.h actually just needed get_byte and nothing else.
* Un-internal loadstor.h (and its header deps, rotate.h andlloyd2009-12-211-1/+1
| | | | | | | | | | | | | | bswap.h); too many external apps rely on loadstor.h existing. Define 64-bit generic bswap in terms of 32-bit bswap, since it's not much slower if 32-bit is also generic, and much faster if it's not. This may be quite helpful on 32-bit x86 in particular. Change formulation of generic 32-bit bswap. It may be faster or slower depending on the CPU, especially the latency and throuput of rotate instructions, but should be faster on an ideally superscalar processor with rotate instructions (ie, what I expect future CPUs to look more like).
* Make many more headers internal-only.lloyd2009-12-164-5/+5
| | | | | | | | | | | | | Fixes for the amalgamation generator for internal headers. Remove BOTAN_DLL exporting macros from all internal-only headers; the classes/functions there don't need to be exported, and avoiding the PIC/GOT indirection can be a big win. Add missing BOTAN_DLLs where necessary, mostly gfpmath and cvc For GCC, use -fvisibility=hidden and set BOTAN_DLL to the visibility __attribute__ to export those classes/functions.
* Full working amalgamation build, plus internal-only headers concept.lloyd2009-12-1630-57/+63
|
* Fix typolloyd2009-11-181-1/+1
|
* Clean up BigInt doxygen commentslloyd2009-11-181-471/+458
|
* Rename/remove some secmem member variables for better matching with STLlloyd2009-11-172-6/+6
| | | | | | | | containers (specifically vector). Rename is_empty to empty Remove has_items Rename create to resize
* Instead of having two asm_macr.h files being switched in based on modulelloyd2009-11-143-3/+3
| | | | build magic, name them asm_macr_ARCH.h. Change all including files accordingly.
* Cleanups - remove emails from source files, they should only live inlloyd2009-11-102-2/+2
| | | | credits.txt and thanks.txt. Remove some various bits of formatting weirdness.
* Remove the 'realname' attribute on all modules and cc/cpu/os info files.lloyd2009-10-2911-22/+0
| | | | | Pretty much useless and unused, except for listing the module names in build.h and the short versions totally suffice for that.
* Also enable x86 asm word_addlloyd2009-10-151-8/+0
|
* Enable x86-64 asm word_addlloyd2009-10-151-8/+0
|
* Split up util.h into 3 fileslloyd2009-09-171-1/+1
| | | | | | | - rounding.h (round_up, round_down) - workfactor.h (dl_work_factor) - timer.h (system_time) And update all users of the previous util.h
* Add 'Distributed under the terms of the Botan license' notices to the .Slloyd2009-08-113-12/+18
| | | | | files. Were missed by the automated script that added them to the cpp/h files, it appears.
* Add support for Dragonfly BSD (a fork of FreeBSD).lloyd2009-07-253-0/+3
| | | | Contributed by Patrick Georgi
* Fix bigint_2word_mul - it tried to use MP_WORD_BITS which was not visiblelloyd2009-07-231-1/+1
| | | | | in this header, instead use the macro version BOTAN_MP_WORD_BITS. Only affected 64-bit SPARC builds.
* Fix various auto generated dependencies that were wronglloyd2009-07-176-20/+5
|
* Move some files around to break up dependencies between directorieslloyd2009-07-161-0/+1
|
* Add a script that reads the output of print_deps.py and rewriteslloyd2009-07-157-20/+35
| | | | | | the info.txt files with the right module dependencies. Apply it across the codebase.
* New module load_on directive 'never', to mark known-buggy codelloyd2009-07-152-2/+2
|
* Only load mulop_amd64 on request (currently broken code)lloyd2009-07-021-1/+1
|
* Thomas Moschny passed along a request from the Fedora packagers which camelloyd2009-03-3027-596/+650
| | | | | | | | | | | | | | | up during the Fedora submission review, that each source file include some text about the license. One handy Perl script later and each file now has the line Distributed under the terms of the Botan license after the copyright notices. While I was in there modifying every file anyway, I also stripped out the remainder of the block comments (lots of astericks before and after the text); this is stylistic thing I picked up when I was first learning C++ but in retrospect it is not a good style as the structure makes it harder to modify comments (with the result that comments become fewer, shorter and are less likely to be updated, which are not good things).
* Wrap at 80 columnslloyd2008-11-111-1/+2
|
* Mention existence of O(n^1.5) squaring algorithmlloyd2008-11-101-0/+3
|
* Wrap lines to 80 columnslloyd2008-10-281-4/+5
|
* Move EntropySource base class to new entropy_src.h (which allows the ↵lloyd2008-10-261-0/+1
| | | | | | implementations to decouple from knowing about RandomNumberGenerator).
* Clean up VC++ ia32 asm a bit, use new defs of word3_muladd* from generic ↵lloyd2008-10-151-49/+28
| | | | mp_asmi.h
* Fix include of mp_asm.h in mp_ia32_msvc/mp_asmi.h (used quotes instead of ↵lloyd2008-10-151-1/+1
| | | | brackets)
* Add trailing H__ to some header guards. Line wrap long comment.lloyd2008-10-131-2/+2
|
* Add Doxygen comments to bigint.h (from InSiTo)lloyd2008-10-131-51/+397
|
* Disable the implementation of word_add in mp_ia32 for the same reasonlloyd2008-10-111-0/+8
| | | | | as the version in mp_amd64. Presumably they both need the same constraint added for them to work correclty.
* Disable the x86-64 implementation of word_add. I think there is a buglloyd2008-10-111-0/+8
| | | | | | | | | | | in the constraints. It turns out that the GF(p) tests all pass in 64-bit mode if this function is disabled. I suspect the problem is that innert_montg_mult_sos calls this function in ways that are unusual in terms of how it is used in the rest of the library (in particular calling it with constant zero arguments). I think a constraint error is causing GCC to generate bad code in certain instances with this function. Will need to investigate this further.
* Add a version for x86-64 in mp_asm64, though it is disabled by defaultlloyd2008-10-112-0/+8
| | | | | | because the dependency handling/module picker gets confused otherwise. This allows building a mostly C++ version with 64-bit words with only a very small amount of inline asm (which is good for debugging the asm).
* Rearrange BigInt directories:lloyd2008-09-3041-0/+5677
math/bigint - BigInt implementation math/numbertheory - Math stuff built on top of BigInt Coming soon: math/gfp (parts of pk/ecdsa) Update deps in the pk files