Daniel Mendler
0a9f5e9bc1
use u32 i64 suffix
2019-05-24 10:21:54 +02:00
Daniel Mendler
d7e1cb4a09
another proposal: use _ul and _l for the long macros
2019-05-24 00:15:57 +02:00
Daniel Mendler
b58c996686
use int32 and uint32 instead of sint and uint
2019-05-24 00:15:57 +02:00
Daniel Mendler
3289c9590b
introduce various mp_set_sint/mp_set_uint functions with precise types
2019-05-24 00:15:57 +02:00
Daniel Mendler
1af0de1f91
deprecate mp_tc_(and|or|xor) in favor of mp_(and|or|xor)
...
* same behavior for positive numbers
* generalisation for negative numbers, treating them as two complement
* improve algorithm, iterate once over the digits, manually perform two complement
* simplify mp_add_d, mp_sub_d
* functions are safe in case of a==c or b==c
* renamed mp_tc_div_2d to mp_signed_rsh (signed right shift)
2019-05-21 18:28:11 +02:00
Daniel Mendler
0b840b78a3
make mp_word private
...
mp_word is an internal type and it is problematic if it is exposed
in the public api. See for example #216 - MSVC does not support 128 bit
mp_words. But it is perfectly ok to use those internally in the library,
as long as the library is compiled with GCC.
2019-05-21 15:34:04 +02:00
czurnieden
03ca7bcdae
added tests for Karatsuba and Toom-Cook 3-way
2019-05-21 15:21:39 +02:00
Steffen Jaeckel
51cda5b82b
use correct amount of MR trials in tests
2019-05-21 09:48:48 +02:00
Steffen Jaeckel
cb3ff8c28d
improve coverage
2019-05-21 09:45:22 +02:00
Francois Perrad
150c47cce2
refactor literal suffix with u lowercase
2019-05-20 05:36:24 +02:00
Daniel Mendler
f55f0a9ef5
fix some usages of enum types
2019-05-18 10:03:47 +02:00
Daniel Mendler
56e7a40123
deprecate mp_jacobi
2019-05-18 10:03:46 +02:00
Daniel Mendler
198418ba5e
bugfix: don't revert to platform rand source, but to jenkins source!
2019-05-18 10:00:07 +02:00
Daniel Mendler
4534056c28
use enums mp_err, mp_ord, mp_bool, mp_sign
...
* MP_USE_ENUMS enables enums
* Wc++-compat catches some implicit conversions if MP_USE_ENUMS is defined
* 100% backwards compatible API/ABI if MP_USE_ENUMS is not defined
2019-05-13 19:15:14 +02:00
Daniel Mendler
f85bd31e4e
fix undefined behavior in labs
2019-05-12 23:45:36 +02:00
Daniel Mendler
2a2e2716c2
move jenkins prng to bn_s_mp_rand_jenkins.c
2019-05-12 23:45:36 +02:00
Daniel Mendler
8d71a9e33b
travis: add -fsanitize=undefined
2019-05-12 23:45:36 +02:00
Daniel Mendler
7365442ace
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
2019-05-12 13:04:45 +02:00
Daniel Mendler
adf9605d6c
add warn_unused_result, found one missing check!
2019-05-11 19:26:58 +02:00
Daniel Mendler
0669e92e78
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.
2019-05-11 00:48:48 +02:00
Steffen Jaeckel
1a12486d4b
add mp_rand test
2019-05-09 10:47:35 +02:00
Steffen Jaeckel
eedf1624f0
allow filtering of tests executed
2019-05-09 10:47:35 +02:00
Daniel Mendler
44d03a6f8b
deprecate LTM_PRIME_* macros in favor of MP_PRIME_*
2019-05-07 09:45:38 +02:00
Daniel Mendler
250751be46
tommath.h: do not expose stdlib.h
2019-05-07 09:32:59 +02:00
Daniel Mendler
e45f75fddb
deprecate DIGIT_BIT, use MP_DIGIT_BIT
2019-04-25 13:39:50 +02:00
Daniel Mendler
e8f56cc4e0
enable -Wconversion and -Wsign-conversion on travis
...
* no changes to the library code
* conversion issues in the demo testsuite fixed
* add CONV_WARNINGS and enable the warnings only for clang-7 (for now)
* disable Wsystem-headers if Wconversion is enabled, to avoid warnings from the system headers
2019-04-19 22:01:11 +02:00
Daniel Mendler
fbfcb66184
apply rename
2019-04-12 14:56:29 +02:00
czurnieden
35311aea49
added function mp_ilogb
2019-04-09 21:59:59 +02:00
czurnieden
27ca25cb82
added multiplcation balancing for the Toom-Cook algorithms
2019-04-07 22:15:09 +02:00
Daniel Mendler
70a30ae7a7
remove footers
2019-04-07 17:26:31 +02:00
czurnieden
984d3ff679
changed seed to make nth-root usable
2019-04-06 22:51:10 +02:00
czurnieden
0ed98cf1cd
removed tracing
2019-04-04 12:55:39 +02:00
czurnieden
769218ccc7
additional functions mp_incr and mp_decr
2019-04-04 07:58:19 +02:00
Steffen Jaeckel
cb1eb16116
run make astyle
...
[skip ci]
2019-04-04 07:58:07 +02:00
Francois Perrad
036551277e
parameter with name in prototype
2019-03-06 15:13:20 +01:00
Francois Perrad
15a1adc290
literal suffix
2019-03-06 15:13:18 +01:00
Daniel Mendler
00a1bcd657
demo: better ndraw
2019-03-04 02:00:28 +01:00
Daniel Mendler
1fc7d20dab
opponent/test.c: move ndraw to main.c
2019-03-04 01:56:06 +01:00
Daniel Mendler
12b41bbeb5
opponent.c: forgot missing printf("\n") from _cleanup. reason for test failures.
2019-03-04 01:42:05 +01:00
Daniel Mendler
03b319ca3e
opponent.c: get rid of global variables and remove cleanup
2019-03-04 01:11:54 +01:00
Daniel Mendler
3f42b6a799
test/opponent.c: add todo comments
2019-03-04 01:11:12 +01:00
Daniel Mendler
674fdddbfc
remove duplicate T(mp_tc_div_2d)
2019-03-04 01:10:20 +01:00
Daniel Mendler
cd1570bb88
split test suite
2019-03-04 01:02:22 +01:00
Steffen Jaeckel
fcea5e3c35
Merge pull request #149 from czurnieden/develop
...
Added overflow check in mp_prime_is_prime and some verbosity in demo.c
(cherry picked from commit 55a7af3d62
)
2019-01-22 09:00:03 +01:00
Steffen Jaeckel
648fbcefc7
run make format
2018-12-31 12:08:12 +01:00
czurnieden
813963178f
reg. #143 added test to demo.c
2018-12-30 22:35:03 +01:00
Francois Perrad
ab074176ab
explicit condition
2018-12-27 09:44:59 +01:00
Francois Perrad
f1f6762616
conditional definition of FGETS
2018-12-27 09:44:57 +01:00
Francois Perrad
2bde5bb5d5
semicolon
2018-12-27 09:44:54 +01:00
Francois Perrad
c63ce5bf1f
fix indentation
2018-12-27 09:44:51 +01:00
Francois Perrad
b6fa97c591
explicit operator precedence
2018-12-27 09:44:46 +01:00
Francois Perrad
ea44272d41
always use #if LTM_DEMO_TEST_VS_MTEST != 0
2018-12-27 09:44:43 +01:00
Francois Perrad
efda3c0e10
declare cnt only when useful
2018-12-27 09:44:41 +01:00
Francois Perrad
4f902d9f10
remove useless assignment of cnt
2018-12-27 09:44:37 +01:00
Steffen Jaeckel
3ed524048f
make astyle
+ some manual adjustments
2018-12-25 15:17:12 +01:00
czurnieden
3ec93dab9e
bugfix in bn_mp_kronecker.c, cleanup and formatting in div. files
2018-12-25 15:17:12 +01:00
Steffen Jaeckel
e6f353b48d
add mp_prime_is_prime to timing demo...
...
... it's disabled per default for now...
2018-12-25 15:17:12 +01:00
czurnieden
a2e15e2d10
Added tests to demo.c, switched off Lucas-Selfridge because it failed a test, and changed MP_8BIT handling in mp_prime_is_prime
2018-12-25 15:17:03 +01:00
czurnieden
dc150614d9
renamed variables in demo/demo.c shadowning another one
2018-12-08 10:13:01 +01:00
Karel Miko
d7f124f563
avoid c++ comments
2018-12-02 13:12:30 +01:00
Steffen Jaeckel
17f382c549
change C++ comments to C style
2018-11-26 12:32:05 +01:00
Daniel Mendler
2ab527b7e0
add mp_get_double, mp_set_double
2018-11-22 12:05:16 +01:00
Steffen Jaeckel
a829b87b00
add testcase of #118
2018-09-22 16:36:56 +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
Steffen Jaeckel
bf61c0be58
fix timing & logs/*.png generation
2018-02-27 23:30:43 +01:00
Steffen Jaeckel
82376cb19b
format output of timing demo
2018-02-27 23:30:43 +01:00
Francois Perrad
802d8294db
fix type & cast
2018-02-13 19:04:31 +01:00
Francois Perrad
9960fe3fe8
literal suffix
2018-02-13 19:04:25 +01:00
Francois Perrad
e3598dc8b2
explicit condition
2018-02-02 17:54:50 +01:00
Francois Perrad
d051d6ba58
remove unused code
2018-02-02 17:54:49 +01:00
Francois Perrad
0dbea3b69f
explicit precedence operator with parenthesis
2018-02-01 22:28:57 +01:00
Francois Perrad
f5876db051
fix format
2018-02-01 22:28:54 +01:00
Francois Perrad
31aac2cea7
const variable
2018-02-01 22:28:52 +01:00
Francois Perrad
987911bd61
const parameter
2018-02-01 22:28:49 +01:00
Francois Perrad
d74f3d741a
static variable & function
2018-02-01 22:28:43 +01:00
Francois Perrad
8a8659f283
remove useless variable
2017-12-22 21:30:15 +01:00
Francois Perrad
2f35c79c00
refactor with FGETS
2017-12-06 16:31:03 +01:00
Francois Perrad
08741a141c
run astyle
2017-12-06 16:30:45 +01:00
Steffen Jaeckel
1bc0088330
use correct printf format specifier in timing.c
...
This fixes #54
2017-10-15 12:01:38 +02:00
Steffen Jaeckel
6fa127b707
add testcase for #67
2017-10-15 12:01:04 +02:00
Steffen Jaeckel
6f21294212
replace SVN tags
2017-08-28 17:00:58 +02:00
Steffen Jaeckel
2e1446f936
Add testcase for mp_add_d('0',...)
...
This closes #65
2016-06-02 09:52:42 +02:00
Steffen Jaeckel
0b9e9b5b08
improve trivial tests
2016-06-02 09:40:05 +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
Steffen Jaeckel
3ae9d0fbd2
demo: verify that negative number handling in mp_jacobi works
2016-01-12 13:49:18 +01:00
Steffen Jaeckel
68a360ab7f
timing: create reproducable results
2015-12-12 18:15:04 +01:00
Steffen Jaeckel
543ffc7a03
improve demo.c a bit
...
- fix mp_get_long_long() tests
- more verbose output of ndraw()
- use all output of rand()
- move montgomery to the end of the tests, it's slow
2015-12-03 00:10:06 +01:00
Steffen Jaeckel
1e7ca501fd
fixup demo.c
2015-11-29 23:14:50 +01:00
Steffen Jaeckel
7176a8777a
Add tests for mp_jacobi()
2015-11-29 22:43:52 +01:00
Francois Perrad
f771e317ff
move standard includes
2015-11-19 21:34:58 +01:00
Steffen Jaeckel
25480d57b7
demo: test one big montgomery reduction
...
...only for coverage reasons...
2015-11-01 12:28:58 +01:00
Steffen Jaeckel
f82599933b
timing: add compile-time option to disable logging
2015-11-01 12:28:49 +01:00
Steffen Jaeckel
b6d76643db
timing: some changes
...
- also use toom-cook for mul and sqr
- don't test too huge numbers with invmod (takes too long)
- remove the goto and labels
2015-11-01 12:28:44 +01:00
Steffen Jaeckel
c4501e1eb5
work a bit on code coverage
2015-11-01 12:28:34 +01:00
Steffen Jaeckel
91df2129ec
add minimal mp_sqrtmod_prime() tests to demo.c
2015-11-01 12:27:08 +01:00
Steffen Jaeckel
cb085f06cf
demo: read from urandom if someone requests real random data
2015-04-18 15:06:28 +02:00
Steffen Jaeckel
35488c9e84
fix errors in demo/demo.c found by clang
...
CC='clang' CFLAGS='-fsanitize=address,undefined -O3 -g -fPIC -I./'
2014-12-14 12:35:46 +01:00
Steffen Jaeckel
9d83fce77e
add tests
2014-12-10 18:59:42 +01:00
Steffen Jaeckel
5d3ee880aa
less noise plz
2014-12-10 18:27:03 +01:00
Steffen Jaeckel
158e326612
add tests for mp_set_long() and mp_get_long()
2014-12-10 17:20:15 +01:00