Commit Graph

80 Commits

Author SHA1 Message Date
Steffen Jaeckel
1c8c534885 Merge pull request #147 from czurnieden/moarvm_workarounds
workaround for the MoarVM problem with MP_GEN_RAND et al.
(cherry picked from commit 11d6e0391421bc996b2cf780f3f4c3fa634001d0)
2019-01-15 18:22:23 +01:00
Steffen Jaeckel
7ac11218ca clarify comment of ltm_rng() 2018-12-31 11:54:02 +01:00
Steffen Jaeckel
18355de625 Update file headers
[skip ci]
2018-12-29 17:56:20 +01:00
czurnieden
f4449362c0 fixes for MP_8BIT and mx32, prefinal design 2018-12-25 15:17:12 +01:00
czurnieden
08cee4325d Moved mp_mul_si() into bn_mp_prime_strong_lucas_selfridge.c as a local function 2018-12-25 15:17:03 +01:00
czurnieden
a218ddce9b Added Fips 186.4 compliance, an additional strong Lucas-Selfridge (for BPSW) and a Frobenius (Paul UNderwood) test, both optional. With documentation. 2018-12-25 15:17:03 +01:00
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