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