Commit Graph

139 Commits

Author SHA1 Message Date
czurnieden
b6813a4122
replace mp_export/import by mp_pack/unpack 2019-10-08 22:30:25 +02:00
czurnieden
abdb033402 Refactored functions to read and write binaries and added "maxlen" 2019-10-06 03:38:16 +02:00
Steffen Jaeckel
f8d64c645a create mtest_opponent instead of alt version of test 2019-09-30 23:44:49 +02:00
Steffen Jaeckel
1687b15249 allow the user to override {C,L,LD}FLAGS 2019-09-07 17:28:16 +02:00
Steffen Jaeckel
f38a65e637 simplify some of the build rules 2019-09-07 17:28:16 +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
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
Steffen Jaeckel
30e8fbbc8e
Update makefiles etc 2019-06-07 08:28:32 +02:00
Daniel Mendler
f00cc99f8c
replace generate_def.sh with perl function 2019-06-07 08:27:09 +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
712919f337
[WIP] start to make dep.pl part of helper.pl 2019-05-27 15:54:45 +02:00
Daniel Mendler
d45a80ec1c
remove updatemakes script, it is just an indirection calling helper.pl 2019-05-27 15:54:45 +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
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
483f66c64a
remove some historical artifacts
* pretty.build: build system is already pretty baroque and we are
  not using this anywhere in CI etc.
* rename.sh: only used for internal renaming. can be retrieved from
  git history if needed again.
* tombc/grammer.txt: ?
2019-05-11 08:39:55 +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
Steffen Jaeckel
6dc923efa9 clean-up make astyle output 2019-04-06 17:45:15 +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
247e714248 also create versioned PDF's in zipup 2018-12-31 12:13:59 +01:00
Steffen Jaeckel
4f245b0476 Update makefiles etc. 2018-12-25 15:17:12 +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
89f2bfea83 improve build
* don't export .travis.yml
* make 'astyle' on 'zipup'
2018-04-11 23:35:43 +02:00
Steffen Jaeckel
7781472696 generate pre_gen/mpi.c on zipup 2018-04-11 23:35:43 +02:00
Steffen Jaeckel
1a00b42c47 add fixme-check to zipup make-target 2018-02-27 23:30:43 +01:00
Steffen Jaeckel
c69c3907c3 rename timing demo 2018-02-27 23:30:43 +01:00
Francois Perrad
eb0a4b1f93 run perlcritic against booker.pl 2017-12-08 06:49:00 +01:00
Francois Perrad
08741a141c run astyle 2017-12-06 16:30:45 +01:00
Steffen Jaeckel
d5328bfade create a travis build matrix 2017-10-19 11:47:29 +02:00
Steffen Jaeckel
5aec0c4094 add astyle make target 2017-09-15 12:47:06 +02:00
Steffen Jaeckel
957f161890 update makefiles 2017-08-28 17:04:18 +02:00
Steffen Jaeckel
a29e9fa7c4 add uninstall make-target
[skip ci]
2017-08-28 15:56:30 +02:00