Daniel Mendler
70a30ae7a7
remove footers
2019-04-07 17:26:31 +02:00
Daniel Mendler
5da4e0ac01
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.
2019-04-05 10:52:39 +02:00
czurnieden
769218ccc7
additional functions mp_incr and mp_decr
2019-04-04 07:58:19 +02:00
nijtmans
a3076677be
previous commit removed a little bit too much
2019-03-28 16:18:41 +01:00
nijtmans
ef07da5b8c
mp_min_u32 is not used anywhere anymore, so it can be removed
2019-03-28 16:13:37 +01:00
Daniel Mendler
8eb3bb282e
do not include stdio.h if LTM_NO_FILE is defined
...
stdio.h might not be available on constraint environments
2019-03-26 17:47:16 +01:00
Francois Perrad
6ce271c4db
mp_iseven & mp_isodd becomes C functions
2019-02-02 07:39:23 +01:00
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 11d6e03914
)
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
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
Alexander Boström
ba15caa3be
Add mp_isneg()
...
This function originally came from Heimdal's bundled copy of libtommath.
Signed-off-by: Ken Dreyer <ktdreyer@ktdreyer.com>
2014-01-25 16:31:14 +01:00
lomereiter
e68439aae1
balancing multiplication like that in Ruby 1.9
2013-11-24 15:34:41 +01:00
Christopher Brown
3e1ae07821
added mp_import / mp_export
2013-11-24 03:59:06 +01:00
Guilherme Lima Bernal
95356f7239
Fix typo on comment
2013-09-02 09:52:11 -06:00
Moritz Lenz
fef72c3423
fix mp_error_to_string in tommath.h
2012-01-09 06:50:09 +01:00
Steffen Jaeckel
6d20c3c6a9
removed flag LTM_PRIME_2MSB_OFF since it's no more available
2011-03-23 23:24:37 +01:00
Tom St Denis
f0b91a572e
added libtommath-0.39
2010-07-15 17:26:01 +02:00
Tom St Denis
9294e79150
added libtommath-0.36
2010-07-15 17:25:56 +02:00
Tom St Denis
3d0fcaab0a
added libtommath-0.34
2010-07-15 17:25:51 +02:00
Tom St Denis
4b7111d96e
added libtommath-0.33
2010-07-15 17:25:49 +02:00
Tom St Denis
e549ccfec5
added libtommath-0.32
2010-07-15 17:25:47 +02:00
Tom St Denis
350578d400
added libtommath-0.30
2010-07-15 17:25:43 +02:00
Tom St Denis
6c48a9b3a6
added libtommath-0.29
2010-07-15 17:25:41 +02:00
Tom St Denis
455bb4db20
added libtommath-0.28
2010-07-15 17:25:39 +02:00
Tom St Denis
c1da6aa2de
added libtommath-0.25
2010-07-15 17:25:33 +02:00
Tom St Denis
eed6765fe9
added libtommath-0.23
2010-07-15 17:25:30 +02:00
Tom St Denis
4c1d3f0838
added libtommath-0.22
2010-07-15 17:25:29 +02:00
Tom St Denis
0ef44cea9b
added libtommath-0.18
2010-07-15 17:25:22 +02:00
Tom St Denis
fd181cc841
added libtommath-0.17
2010-07-15 17:25:21 +02:00
Tom St Denis
14161e843e
added libtommath-0.16
2010-07-15 17:25:19 +02:00
Tom St Denis
b1756f2f98
added libtommath-0.15
2010-07-15 17:25:18 +02:00
Tom St Denis
82f4858291
added libtommath-0.14
2010-07-15 17:25:17 +02:00
Tom St Denis
b66471f74f
added libtommath-0.13
2010-07-15 17:25:15 +02:00
Tom St Denis
57354e11ac
added libtommath-0.12
2010-07-15 17:25:14 +02:00