Commit Graph

74 Commits

Author SHA1 Message Date
Mikhail Novosyolov adbadc70f4 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`.
2018-12-01 15:27:40 +01:00
Daniel Mendler 2ab527b7e0
add mp_get_double, mp_set_double 2018-11-22 12:05:16 +01:00
Steffen Jaeckel 8b9f98baa1 auto-format
by executing `make astyle`
2018-09-23 21:37:58 +02:00
Daniel Mendler eebbcf0644
add mp_complement, mp_tc_div_2d, mp_tc_and, mp_tc_or, mp_tc_xor 2018-09-10 18:48:58 +02:00
Karel Miko 92e8719b80 improved detection of MP_64BIT 2018-05-28 22:02:13 +02:00
Steffen Jaeckel ef6d85a1a6 don't use rand() in mp_rand()
This fixes #103
2018-04-23 22:31:59 +02:00
Michael Shigorin 0bc755139c add e2k/lcc support 2018-02-27 23:30:43 +01:00
Steffen Jaeckel f51249b6aa clean-up file headers 2018-02-27 23:30:43 +01:00
Francois Perrad 43c26b3a3d use same parameter name between prototype declaration and definition 2017-10-15 19:58:50 +02:00
Francois Perrad bdbed00079 literal suffix 2017-10-15 19:57:12 +02:00
Steffen Jaeckel d1fc4a71d3 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
2017-10-03 15:18:33 +02:00
Steffen Jaeckel 1346d9830a there's no __int128 on MSVC, fall back to 32bit MPI's 2017-10-03 09:19:50 +02:00
Francois Perrad d293ab6604 more constify 2017-09-30 22:57:00 +02:00
nijtmans f674018a41 constify remaining functions 2017-09-20 16:59:43 +02:00
nijtmans 41de585524 Add 'const' keyword in various places. Adopted from Tcl 2017-09-19 13:35:15 +02:00
Francois Perrad f89cda034b format with astyle (step 5) 2017-08-30 20:23:26 +02:00
Francois Perrad 82a2d385db refactor indentation of preprocessor directives 2017-08-30 20:09:16 +02:00
Francois Perrad 378be117a3 add missing space after comma 2017-08-30 05:52:31 +02:00
Kevin B Kenny 71e3024f30 fix mp_iseven 2017-08-29 23:48:32 +02:00
Steffen Jaeckel 6f21294212 replace SVN tags 2017-08-28 17:00:58 +02:00
Steffen Jaeckel 27115d4b4c use 64-bit detection code from libtomcrypt 2017-05-09 14:00:26 +02:00
Steffen Jaeckel c17c47715a allow external define of MP_GEN_RANDOM 2017-04-09 01:04:07 +02:00
Steffen Jaeckel d5b0f1e993 loop&shift until enough random data has been read 2016-10-10 00:48:01 +02:00
Tom St Denis f551dbc8ac Remove all traces of ulong64 as per comment by Karel M 2016-02-03 13:07:27 -05:00
Francois Perrad a0b8ce68f7 use unsigned literal 2015-12-02 22:47:51 +01:00
Francois Perrad e6cfefc1ac more private stuff 2015-11-19 21:53:32 +01:00
Francois Perrad f771e317ff move standard includes 2015-11-19 21:34:58 +01:00
Steffen Jaeckel 4e3f1344a5 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.
2015-11-12 01:49:07 +01:00
Steffen Jaeckel bd39da2397 use correct value to compare to in mp_isneg() macro 2015-11-12 01:33:25 +01:00
Francois Perrad e25f1701e4 explicit condition (part H) 2015-11-12 01:20:40 +01:00
Francois Perrad 9f7811624a add parentheses for explicit operator association 2015-11-12 01:20:40 +01:00
Francois Perrad 84db6f9dbc add parentheses for explicit operator precedence 2015-11-12 01:20:40 +01:00
Francois Perrad 4430c6bc5f array declaration with its size 2015-11-12 01:20:40 +01:00
Steffen Jaeckel 7ab90a48ee use stdint.h for mp_digit and mp_word typedefs 2015-11-01 12:40:31 +01:00
Steffen Jaeckel 8432c4eda5 clarify documentation of mp_div_2d() and mp_mul_2d() 2015-10-30 18:11:32 -04:00
Karel Miko 1c85a28372 adding bn_mp_sqrtmod_prime.c 2015-10-30 18:04:33 -04:00
Tom St Denis 079b0f65a9 Getting ready for v0.43.0 release
Also updated my email address...

Signed-off-by: Tom St Denis <tstdenis82@gmail.com>
2015-10-30 17:55:29 -04:00
Donald Chan 676e7ea488 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>
2015-10-30 17:41:22 -04:00
Carlin 5d1096b0bd use arc4random() instead of rand() on *BSD 2014-12-12 01:42:30 +13:00
Steffen Jaeckel 9d697d4686 fix compilation with MP_8BIT or MP_16BIT 2014-12-10 19:01:12 +01:00
Steffen Jaeckel 0e3d3ad29d add mp_get_long_long() and mp_set_long_long() 2014-12-10 18:59:31 +01:00
Steffen Jaeckel f88e6a042a replace mp_set_long() implementation by macro 2014-12-10 18:32:44 +01:00
Moritz Lenz 6df187aea4 Add set_long and get_long functions
They work on platform-dependent long ints
2014-12-10 16:53:06 +01:00
Steffen Jaeckel b425b0ea1f Revert "balancing multiplication like that in Ruby 1.9"
This reverts commit e68439aae1.

Conflicts:
	bn_mp_balance_mul.c
	makefile
2014-10-18 18:54:06 +02:00
Steffen Jaeckel 52cfd5ff0a 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 921be35779
implementation
2014-09-28 13:33:59 +02:00
Steffen Jaeckel e9b1837c8c mp_expt_d: bring back pre 921be35779 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
2014-09-28 13:33:59 +02:00
Steffen Jaeckel 759a926cfe 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
2014-09-28 13:12:10 +02:00
Steffen Jaeckel 78b8a772e4 fix compiler warnings with MP_16BIT 2014-09-23 22:55:08 +02:00
Steffen Jaeckel b0c385afb6 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'
2014-09-23 22:54:30 +02:00
Steffen Jaeckel ddd788a185 trim trailing spaces 2014-02-14 11:30:40 +01:00