czurnieden
abdb033402
Refactored functions to read and write binaries and added "maxlen"
2019-10-06 03:38:16 +02:00
Steffen Jaeckel
bae1045de5
tommath_cutoffs.h is a private header now
...
... and should be treated as such
2019-10-03 20:12:34 +02:00
Steffen Jaeckel
f8d64c645a
create mtest_opponent
instead of alt version of test
2019-09-30 23:44:49 +02:00
Steffen Jaeckel
f0e6ae59ab
add mp_to_radix()
...
...a 100% copy&paste of `mp_toradix_n()` besides the changed API signature
2019-09-02 18:25:44 +02:00
Daniel Mendler
672242bd70
msvc: disable warning C4003: not enough arguments for function-like macro invocation 'MP__STRINGIZE'
2019-07-24 11:09:44 +02:00
Daniel Mendler
ca89e9c0ef
rename mp_root/mp_expt to mp_*_u32
2019-07-17 15:45:04 +02:00
Daniel Mendler
71696549a8
deprecate mp_expt_d and mp_n_root in favor of mp_expt and mp_root
2019-07-17 15:45:04 +02:00
nijtmans
0db64fc83c
Rename bn_get_magxx -> bn_get_mag_uxx. Documentation updated too
2019-07-03 14:45:14 +02:00
nijtmans
fde8524945
@minad 's suggestions
2019-07-03 12:49:19 +02:00
nijtmans
db4afb3d5e
Provide explicit symbols for bn_xxx_l and bn_xxx_ll functions.
2019-07-03 12:49:19 +02:00
nijtmans
8b7c7a36bf
Now all 32-bit warnings should be gone
2019-06-12 08:17:07 +02:00
nijtmans
610ff6d26d
Make errors as failures, and (hopefully) fix last 32-bit warning
2019-06-12 08:17:07 +02:00
nijtmans
5127596021
Attempt to eliminate more MSVC compiler warnings
2019-06-12 08:17:07 +02:00
Steffen Jaeckel
30e8fbbc8e
Update makefiles etc
2019-06-07 08:28:32 +02:00
nijtmans
196d88309b
A little stricter on 32-bit compiles
2019-06-06 17:00:18 +02:00
nijtmans
dfbb5ecd56
MSVC compile: higher warning-level -Wall, but warning-free
2019-06-06 16:22:54 +02:00
Daniel Mendler
c7314fa400
deprecate mp_n_root_ex and mp_expt_d_ex
...
These functions were introduced to give some timing guarantees.
However the guarantees are too weak to be useful.
The functions seem to be unused essentially by downstream users.
2019-05-27 15:59:40 +02:00
Daniel Mendler
d45a80ec1c
remove updatemakes script, it is just an indirection calling helper.pl
2019-05-27 15:54:45 +02:00
Karel Miko
9578d671fa
fix invalid OBJECTS=... definition in makefile.msvc
2019-05-25 23:11:17 +02:00
Daniel Mendler
bcec605af5
deprecate mp_prime_is_divisible and ltm_prime_tab
...
* it is an implementation detail used for prime testing
* there is upcoming work by @czurnieden regarding a generalised prime sieve
* furthermore remove jacobi test (replaced by kronecker)
2019-05-24 12:30:55 +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
0dfa9da5a6
make tommath_class.h and tommath_superclass.h private
...
These headers are used for configuration during build time.
Therefore they shouldn't be exposed as part of the public API.
2019-05-21 18:01:17 +02:00
Daniel Mendler
a8239c2465
deprecate mp_get_bit
...
The return type of mp_get_bit was imprecise (either mp_err or mp_bool),
therefore this function is deprecated in favor of s_mp_get_bit for now.
If we need s_mp_get_bit to be public, we should add it under a different
name. However since mp_set_bit is not available, I don't think there any
downstream users (ab)using mp_int as bitsets.
2019-05-18 10:03:47 +02:00
Daniel Mendler
56e7a40123
deprecate mp_jacobi
2019-05-18 10:03:46 +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
c8cc3657e7
mov s_mp_rand_source_platform to separate file
2019-05-12 23:45:36 +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
czurnieden
db76bed220
added autotuning functionality for the Toom-Cook cut-offs
2019-05-06 23:29:08 +02:00
Daniel Mendler
818d8fb7f5
Rework handling of tunable cutoffs
...
* In the default settings, a cutoff X can be modified at runtime
by adjusting the corresponding X_CUTOFF variable.
* Tunability of the library can be disabled at compile time
by defining the MP_FIXED_CUTOFFS macro.
* There is an additional file tommath_cutoffs.h, which defines
the default cutoffs. These can be adjusted manually or by the
autotuner.
2019-05-04 13:08:37 +02:00
Daniel Mendler
fbfcb66184
apply rename
2019-04-12 14:56:29 +02:00
nijtmans
5968263bc4
Rename bn_error.c to bn_mp_error_to_string.c
2019-04-10 14:49:59 +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
769218ccc7
additional functions mp_incr and mp_decr
2019-04-04 07:58:19 +02:00
Daniel Mendler
cd1570bb88
split test suite
2019-03-04 01:02:22 +01:00
Francois Perrad
6ce271c4db
mp_iseven & mp_isodd becomes C functions
2019-02-02 07:39:23 +01:00
Steffen Jaeckel
4f245b0476
Update makefiles etc.
2018-12-25 15:17:12 +01:00
Karel Miko
aa12f353c7
properly use test_standalone
2018-12-02 18:46:35 +01:00
Karel Miko
fc4b7f8008
update makefile.msvc
2018-12-02 15:11:10 +01:00
Karel Miko
a16f34f97e
re-sort OBJECTS in makefile*
2018-12-02 13:58:50 +01:00
Daniel Mendler
81cdb9aca2
regenerate files
2018-11-22 12:05:16 +01:00
Daniel Mendler
109bfa57bf
regenerate files
2018-09-10 18:49:10 +02:00
Steffen Jaeckel
ee241c95e6
fix makefile.msvc
...
This fixes #74
2018-02-27 23:30:43 +01:00
Steffen Jaeckel
1f8894790b
update makefiles etc.
2015-10-30 18:04:33 -04:00
Steffen Jaeckel
d4cccd52d1
udpate makefiles etc.
2014-12-10 18:59:56 +01:00
Steffen Jaeckel
cf04521695
update makefiles etc.
2014-12-10 17:21:14 +01:00
Steffen Jaeckel
d71719853a
update after removing balance multiplication
2014-10-18 18:56:56 +02:00
Steffen Jaeckel
30fcfec893
update makefiles
2014-10-13 15:50:16 +02:00