tommath.h


Log

Author Commit Date CI Message
Daniel Mendler 7365442a 2019-05-10T23:59:46 No grow necessary in mp_set_int* functions * mp_set_int* always return MP_OKAY * remove return checks for mp_set_int* * introduce MP_MIN_PREC
Daniel Mendler adf9605d 2019-05-09T03:28:49 add warn_unused_result, found one missing check!
Francois Perrad cc703a84 2019-05-11T12:09:59 add missing parameter name in prototype
Daniel Mendler 0669e92e 2019-05-08T20:18:53 deprecate mp_prime_random_ex in favor of mp_prime_rand We can use the internal mp_rand generator now, since it generates numbers which are safe for crypto purposes.
Daniel Mendler e05215a8 2019-05-09T04:06:12 deprecate old macros, deprecate mp_rand_digit
Daniel Mendler 9ddf1e58 2019-05-07T12:26:46 support custom random data source via mp_rand_source * deprecate MP_PRNG_ENABLE_LTM_RNG * custom mp_rand_source is used always if set, which should be more aligned with user expectations * use custom source in tune.c * don't call random number generator once per digit, which is slow
Daniel Mendler 290c28c1 2019-05-07T09:49:26 deprecate PRIME_SIZE in favor of MP_PRIME_SIZE
Daniel Mendler 44d03a6f 2019-05-07T09:45:38 deprecate LTM_PRIME_* macros in favor of MP_PRIME_*
Daniel Mendler e2ee39b5 2019-04-26T12:39:26 deprecate ltm_prime_callback
Daniel Mendler 80f5fac5 2019-04-26T12:35:39 rename LTM_NO_FILE to MP_NO_FILE
Daniel Mendler 0337d48b 2019-04-25T19:35:19 add MP_NULL_TERMINATED
Daniel Mendler 250751be 2019-05-07T09:32:59 tommath.h: do not expose stdlib.h
Daniel Mendler 818d8fb7 2019-05-03T17:39:10 Rework handling of tunable cutoffs * In the default settings, a cutoff X can be modified at runtime by adjusting the corresponding X_CUTOFF variable. * Tunability of the library can be disabled at compile time by defining the MP_FIXED_CUTOFFS macro. * There is an additional file tommath_cutoffs.h, which defines the default cutoffs. These can be adjusted manually or by the autotuner.
Daniel Mendler 90eccd57 2019-04-25T15:36:35 prefix private macros by PRIVATE_
Daniel Mendler 632601f4 2019-04-13T17:34:11 MP_WARRAY is an internal macro
Daniel Mendler e45f75fd 2019-04-13T08:46:57 deprecate DIGIT_BIT, use MP_DIGIT_BIT
Daniel Mendler a8c76138 2019-04-12T21:15:56 deprecate macros in tommath.h * move MP_DEPRECATED to tommath.h since we need it later * add MP_DEPRECATED_PRAGMA
Daniel Mendler 87292ed1 2019-04-09T12:19:40 move mp_balance_mul to tommath_private.h
czurnieden 35311aea 2019-04-03T23:50:57 added function mp_ilogb
czurnieden 27ca25cb 2019-04-06T18:55:43 added multiplcation balancing for the Toom-Cook algorithms
Daniel Mendler ff561404 2019-04-07T15:29:11 shorter headers
Daniel Mendler 70a30ae7 2019-04-07T02:29:28 remove footers
Daniel Mendler 5da4e0ac 2019-04-04T23:06:00 remove unnecessary size_t casts, fix Wconversion/Wsign-conversion issues Wconversion and Wsign-conversion is still not activated by default, since there are many issues in demo.c.
czurnieden 769218cc 2019-04-03T18:59:09 additional functions mp_incr and mp_decr
nijtmans a3076677 2019-03-28T16:18:41 previous commit removed a little bit too much
nijtmans ef07da5b 2019-03-28T16:13:37 mp_min_u32 is not used anywhere anymore, so it can be removed
Daniel Mendler 8eb3bb28 2019-03-22T15:02:29 do not include stdio.h if LTM_NO_FILE is defined stdio.h might not be available on constraint environments
Francois Perrad 6ce271c4 2018-12-28T09:41:54 mp_iseven & mp_isodd becomes C functions
Steffen Jaeckel 1c8c5348 2019-01-15T18:20:24 Merge pull request #147 from czurnieden/moarvm_workarounds workaround for the MoarVM problem with MP_GEN_RAND et al. (cherry picked from commit 11d6e0391421bc996b2cf780f3f4c3fa634001d0)
czurnieden 08eb995d 2019-01-13T20:21:36 implemented Steffen Jaeckels superior suggestion regarding MoarVM's problem
czurnieden aadb1efa 2019-01-13T01:07:42 changes for the Clang compiler
czurnieden b7216e89 2019-01-13T00:51:02 workaround for the MoarVM problem with MP_GEN_RAND et al.
Steffen Jaeckel 7ac11218 2018-12-26T15:19:07 clarify comment of ltm_rng()
Steffen Jaeckel 18355de6 2018-12-29T17:56:20 Update file headers [skip ci]
czurnieden f4449362 2018-05-26T01:39:03 fixes for MP_8BIT and mx32, prefinal design
czurnieden 08cee432 2018-05-21T22:54:55 Moved mp_mul_si() into bn_mp_prime_strong_lucas_selfridge.c as a local function
czurnieden a218ddce 2018-05-03T23:45:02 Added Fips 186.4 compliance, an additional strong Lucas-Selfridge (for BPSW) and a Frobenius (Paul UNderwood) test, both optional. With documentation.
Mikhail Novosyolov adbadc70 2018-11-18T01:30:51 Fix includes Header files which are located in the same directory that the file from where it is included must be included using `" "`, not `< >`. Otherwise the compiler (gcc 5) cannot understand `#include <tommath_class.h>` in `/usr/include/tommath/tommath.h`.
Daniel Mendler 2ab527b7 2018-09-10T18:51:26 add mp_get_double, mp_set_double
Steffen Jaeckel 8b9f98ba 2018-09-23T21:37:58 auto-format by executing `make astyle`
Daniel Mendler eebbcf06 2018-09-10T18:48:58 add mp_complement, mp_tc_div_2d, mp_tc_and, mp_tc_or, mp_tc_xor
Karel Miko 92e8719b 2018-05-28T22:02:13 improved detection of MP_64BIT
czurnieden 22550d41 2018-05-02T22:01:09 Do not use tommath.h from the system for building
czurnieden 9034e712 2018-05-02T21:43:17 Do not use installed headers for building
Steffen Jaeckel ef6d85a1 2018-04-14T14:33:36 don't use rand() in mp_rand() This fixes #103
Michael Shigorin 0bc75513 2018-02-26T09:32:12 add e2k/lcc support
Steffen Jaeckel f51249b6 2018-02-02T12:07:21 clean-up file headers
Francois Perrad 43c26b3a 2015-12-09T19:16:30 use same parameter name between prototype declaration and definition
Francois Perrad bdbed000 2017-10-15T19:57:12 literal suffix
Steffen Jaeckel d1fc4a71 2017-10-03T15:18:33 LLP64 indicates a windows environment as of [1] the only architecture using a LLP64 data model is windows [1]: https://en.wikipedia.org/wiki/64-bit_computing
Steffen Jaeckel 1346d983 2017-10-03T09:19:50 there's no __int128 on MSVC, fall back to 32bit MPI's
Francois Perrad d293ab66 2017-09-30T22:57:00 more constify
nijtmans f674018a 2017-09-20T16:59:43 constify remaining functions
nijtmans 41de5855 2017-09-19T13:35:15 Add 'const' keyword in various places. Adopted from Tcl
Francois Perrad f89cda03 2017-08-30T19:15:27 format with astyle (step 5)
Francois Perrad 82a2d385 2017-08-30T05:56:38 refactor indentation of preprocessor directives
Francois Perrad 378be117 2017-08-28T21:40:10 add missing space after comma
Kevin B Kenny 71e3024f 2005-05-10T17:20:39 fix mp_iseven
Steffen Jaeckel 6f212942 2017-08-28T16:27:26 replace SVN tags
Steffen Jaeckel 27115d4b 2017-05-09T14:00:26 use 64-bit detection code from libtomcrypt
Steffen Jaeckel c17c4771 2017-04-09T00:44:01 allow external define of MP_GEN_RANDOM
Steffen Jaeckel d5b0f1e9 2016-04-10T13:55:42 loop&shift until enough random data has been read
Tom St Denis f551dbc8 2016-02-03T13:07:27 Remove all traces of ulong64 as per comment by Karel M
Francois Perrad a0b8ce68 2015-11-13T17:47:30 use unsigned literal
Francois Perrad e6cfefc1 2015-11-19T21:53:32 more private stuff
Francois Perrad f771e317 2015-11-19T21:34:58 move standard includes
Steffen Jaeckel 4e3f1344 2015-11-12T01:49:07 provide tommath_private.h tommath.h contains declarations for the public part of the library. tommath_private.h contains the functions which are private to ltm and should not be exposed to the public.
Steffen Jaeckel bd39da23 2015-11-12T01:33:25 use correct value to compare to in mp_isneg() macro
Francois Perrad 9f781162 2015-10-17T18:27:56 add parentheses for explicit operator association
Francois Perrad 4430c6bc 2015-10-11T15:54:43 array declaration with its size
Francois Perrad 84db6f9d 2015-10-17T18:12:48 add parentheses for explicit operator precedence
Francois Perrad e25f1701 2015-10-25T16:21:17 explicit condition (part H)
Steffen Jaeckel 7ab90a48 2015-06-07T14:19:06 use stdint.h for mp_digit and mp_word typedefs
Steffen Jaeckel 8432c4ed 2014-12-11T22:44:50 clarify documentation of mp_div_2d() and mp_mul_2d()
Karel Miko 1c85a283 2015-04-17T22:46:11 adding bn_mp_sqrtmod_prime.c
Tom St Denis 079b0f65 2015-10-30T17:55:29 Getting ready for v0.43.0 release Also updated my email address... Signed-off-by: Tom St Denis <tstdenis82@gmail.com>
Donald Chan 676e7ea4 2015-10-30T10:33:46 Adding LTM_NO_FILE flag Certain embedded implementatino does not have FILE defined, adding LTM_NO_FILE flag to avoid compiler errors Signed-off-by: Donald Chan <hoiho.chan@gmail.com> Reviewed-by: Tom St Denis <tstdenis82@gmail.com>
Carlin 5d1096b0 2014-12-12T01:42:30 use arc4random() instead of rand() on *BSD
Steffen Jaeckel 9d697d46 2014-12-10T19:01:12 fix compilation with MP_8BIT or MP_16BIT
Steffen Jaeckel 0e3d3ad2 2014-12-10T18:59:31 add mp_get_long_long() and mp_set_long_long()
Steffen Jaeckel f88e6a04 2014-12-10T18:32:44 replace mp_set_long() implementation by macro
Moritz Lenz 6df187ae 2011-11-13T19:17:46 Add set_long and get_long functions They work on platform-dependent long ints
Steffen Jaeckel b425b0ea 2014-10-18T18:54:06 Revert "balancing multiplication like that in Ruby 1.9" This reverts commit e68439aae10d003250afa6c1f57025bfee5f82ed. Conflicts: bn_mp_balance_mul.c makefile
Steffen Jaeckel e9b1837c 2014-02-13T20:21:18 mp_expt_d: bring back pre 921be35779f7d71080ad85c27ed58671602d59b3 state The implementation of the expt_d functionality is now implemented in the mp_expt_d_ex() function. The user can now choose between the old (more timing resistant) version and the new version by modification of the parameter 'fast'. mp_expt_d() defaults to the old version
Steffen Jaeckel 52cfd5ff 2014-02-14T11:26:07 mp_n_root: add mp_n_root_ex() with parameter 'fast' for mp_expt_d_ex() This change is introduced to be able to choose the underlying implementation of mp_expt_d_ex() The implementation of the root_n functionality is now implemented in the mp_n_root_ex() function. The parameter 'fast' is just passed over to mp_expt_d_ex(). mp_n_root() defaults to the pre 921be35779f7d71080ad85c27ed58671602d59b3 implementation
Steffen Jaeckel 759a926c 2014-09-28T13:12:10 minor changes & clean-up & small fixes gitignore: add libtool output booker.pl: fix source code parsing and trim trailing spaces demo/demo: fix compiler warning, add informational output demo/timing & etc/tune: fix TIMFUNC() makefile: minor changes makefile.shared: increase version, add missing mp_balance_mul tommath: make sure that DIGIT_BIT is correct
Steffen Jaeckel 78b8a772 2014-09-23T22:55:08 fix compiler warnings with MP_16BIT
Steffen Jaeckel b0c385af 2014-09-23T22:54:30 fix x32 compilation change mp_digit/mp_word to unsigned long long introduce new internal type mp_min_u32 that is minimum 32 bit wide x32 target is 64 bit arch but has 32 bit wide 'unsigned long'
Steffen Jaeckel ddd788a1 2014-02-14T11:30:15 trim trailing spaces
Alexander Boström ba15caa3 2014-01-20T13:25:55 Add mp_isneg() This function originally came from Heimdal's bundled copy of libtommath. Signed-off-by: Ken Dreyer <ktdreyer@ktdreyer.com>
lomereiter e68439aa 2011-05-23T19:44:05 balancing multiplication like that in Ruby 1.9
Christopher Brown 3e1ae078 2013-01-22T21:29:12 added mp_import / mp_export
Guilherme Lima Bernal 95356f72 2013-09-02T09:52:11 Fix typo on comment
Moritz Lenz fef72c34 2012-01-09T06:50:09 fix mp_error_to_string in tommath.h
Steffen Jaeckel 6d20c3c6 2011-03-23T23:24:37 removed flag LTM_PRIME_2MSB_OFF since it's no more available
Tom St Denis f0b91a57 2006-04-06T19:49:59 added libtommath-0.39
Tom St Denis 9294e791 2005-08-01T16:37:28 added libtommath-0.36
Tom St Denis 3d0fcaab 2005-02-12T08:40:15 added libtommath-0.34
Tom St Denis 4b7111d9 2004-12-23T02:40:37 added libtommath-0.33
Tom St Denis e549ccfe 2004-10-29T22:07:18 added libtommath-0.32