|
5167f6c1
|
2020-11-30T16:03:46
|
|
Merge pull request #490 from libtom/fix-488
Follow-up of #489
|
|
5d744e43
|
2020-09-20T18:07:28
|
|
update CI to bionic
|
|
34540acb
|
2020-11-29T15:03:41
|
|
fix building demos from makefile.shared
|
|
bee1e995
|
2020-11-29T15:06:42
|
|
use heredoc instead of all those echo's
|
|
9fa74009
|
2020-09-15T19:05:20
|
|
separate static and dynamic builds
|
|
fa289f9d
|
2020-09-14T23:28:01
|
|
build and test with dll on MSVC
|
|
34e16d3c
|
2020-09-13T19:06:43
|
|
allow testing of shared library
* move jenkins' prng out of the library into the demo's.
* add CI test for shared library
|
|
fa94aa20
|
2020-09-13T15:26:42
|
|
add travis job to compare symbols of dynamic libraries
|
|
301e2c41
|
2020-09-13T14:59:39
|
|
Partially revert "enable building dll's using makefile.msvc"
This partially reverts commit b206dde88e4affae07970782498afe9e3664ae30.
|
|
646523e6
|
2020-09-13T14:19:30
|
|
add cutoff's to exported symbols
|
|
d138abc3
|
2020-09-13T14:19:10
|
|
split-up mp_rand.c
|
|
3ba04963
|
2020-09-11T16:04:19
|
|
enable building dll's using makefile.msvc
|
|
c18817cc
|
2020-09-19T16:04:20
|
|
Merge pull request #487 from czurnieden/DoS_sqrt_mod
Added checks for input in mp_sqrtmod_prime that caused infinite loops
|
|
fb305e09
|
2020-08-05T15:18:59
|
|
Additional input checks and a test for b \cong 0 (mod a) in test_mp_sqrtmod_prime
to go along with it.
|
|
44ee82cd
|
2020-04-30T13:56:56
|
|
Merge pull request #484 from Prince213/msvc-x86-mp_set_double-fix
Add _M_IX86 for testing for MSVC x86
|
|
56dc9df1
|
2020-04-26T11:36:28
|
|
Add _M_IX86 for testing for MSVC x86
|
|
aa8b4571
|
2020-03-10T22:51:15
|
|
Merge pull request #477 from J08nY/fix/makefile-echo
Fix clang detection when cross-compiling.
|
|
f01cc5d2
|
2020-02-21T11:44:15
|
|
Fix clang detection when cross-compiling.
`echo` needs -e to output newlines, without the switch make complains:
<stdin>:1:17: warning: extra tokens at end of #ifdef directive
<stdin>:1: error: unterminated #ifdef
and does not detect clang properly when cross-compiling.
|
|
fe382afd
|
2020-03-05T22:37:59
|
|
Merge pull request #478 from MasterDuke17/make_exptmod_with_modulus_1_always_0
Give correct values for invmod with modulus of 1
|
|
ea654566
|
2020-02-23T09:46:12
|
|
Give correct values for invmod with modulus of 1
|
|
ce4e6ae1
|
2020-03-05T14:25:43
|
|
Merge pull request #476 from libtom/fix-double-check
Build+test bn_mp_set_double.c on more platforms
|
|
c1cf8073
|
2020-03-05T13:57:07
|
|
introduce MP_HAS_SET_DOUBLE
|
|
c5cb0c6f
|
2020-03-05T13:48:27
|
|
fix compile error on MSVC
|
|
4e90f318
|
2020-02-09T11:06:53
|
|
Build+test bn_mp_set_double.c on more platforms
Not all platforms/environments/architectures that support enough of
IEEE 754 for the purposes of mp_set_double() actually support enough
to legitimately define __STDC_IEC_559__, so only relying on that is
too strict. Fixes https://github.com/libtom/libtommath/issues/159
|
|
ffd80665
|
2020-01-07T18:35:50
|
|
Merge pull request #471 from libtom/prevent-overflow
Prevent overflow
|
|
ca6924b7
|
2019-12-23T11:12:42
|
|
add error code MP_OVF for integer overflow (too many digits)
|
|
876c5fc3
|
2019-12-05T11:47:36
|
|
disable __func__ in c89 compilers
|
|
40177e18
|
2019-12-05T11:47:36
|
|
test: print __func__
|
|
c375b038
|
2019-12-05T11:09:39
|
|
test cleanup; add randomized radix_size test
|
|
08d281c4
|
2019-12-05T00:48:25
|
|
introduce MP_MAX_DIGIT_COUNT to prevent overflow
|
|
3a744dc4
|
2019-12-05T00:33:53
|
|
s_mp_radix_size_overestimate: remove overflow check
|
|
6ac0b0c1
|
2019-12-04T22:27:09
|
|
Merge pull request #469 from czurnieden/radix_overestimate_29bits
Radix overestimate with 29 bits precision
|
|
9d0bdc7e
|
2019-12-04T22:23:24
|
|
run the test always
|
|
1e65c0bf
|
2019-10-11T00:06:45
|
|
Introduction of a fast but slightly over-estimating radix_size
|
|
795485bf
|
2019-12-04T11:59:20
|
|
Merge pull request #467 from czurnieden/change_helper_pl
Changed generate_def to use the uncommited file list
|
|
cecfd1f6
|
2019-11-27T20:55:22
|
|
changed generate_def to use the uncommited, raw file list
|
|
220a4deb
|
2019-11-25T11:18:10
|
|
Merge pull request #463 from libtom/long_long_fixes
Proposal: Remove long long support
|
|
cd1bf5e2
|
2019-11-22T16:19:11
|
|
regen files
|
|
b800b761
|
2019-11-22T16:04:48
|
|
remove *_ll* setters/getters
* they are non standard
* they are incompatible with older compilers
* u64/i64 functions should be used instead
* these functions should be deprecated again in 1.x
|
|
f0ab662f
|
2019-11-22T16:01:42
|
|
do not use long long for minimum prec calculation, improve comment
|
|
a8357d43
|
2019-11-25T11:13:53
|
|
Merge pull request #459 from libtom/less-long-long
Don't use long long where not necessary, some platforms lack it
|
|
4cbd7d59
|
2019-11-20T15:09:22
|
|
Don't use long long where not necessary, some platforms lack it
|
|
fc5f5076
|
2019-11-25T11:04:35
|
|
Merge pull request #464 from czurnieden/fix_sigma_div_recursive
Corrected startvalue for sigma and changed cutoff in mp_div
|
|
244c698e
|
2019-11-24T05:37:43
|
|
corrected startvalue for sigma and cutoff in mp_div
|
|
6e779e69
|
2019-11-22T11:31:20
|
|
Merge pull request #462 from czurnieden/repair_div_recursive
Repair of sign handling in mp_div_recursive
|
|
5f3063fb
|
2019-11-22T03:14:59
|
|
correction of typo in test.c
|
|
642032dd
|
2019-11-22T02:56:48
|
|
wrong sign in mp_div_recursive
|
|
86d7d718
|
2019-11-14T14:22:06
|
|
Merge pull request #457 from libtom/wrong-use-of-ull-for-develop
Wrong use of ull for develop
|
|
bb1e56e7
|
2019-11-12T16:20:07
|
|
Fix compilation of demo/test.c using C++
|
|
0730a31a
|
2019-11-12T16:10:46
|
|
Make sure that c89 conversion doesn't produce LL or uLL postfix, since that isn't c89 at all
|
|
68048351
|
2019-11-12T15:46:04
|
|
more spacing around PRIu64, needed for C++ compatibility
|
|
9f2cd043
|
2019-11-12T15:30:34
|
|
more unnecessary type-casts, correct type-case for malloc
|
|
e9d54e98
|
2019-11-12T14:44:39
|
|
remove unnecessary type-casts
|
|
a91eb5a0
|
2019-11-12T14:29:02
|
|
fix build (hopefully)
|
|
9cfb6c32
|
2019-11-06T11:52:42
|
|
use type-cast in stead of UINT64_C
|
|
02aa95c2
|
2019-11-06T11:29:17
|
|
Fix wrong use of uLL suffix
|
|
83b74bac
|
2019-11-14T11:08:33
|
|
Merge pull request #446 from libtom/suffix-renamings2
Alternative 2: Suffix renamings (_n suffix)
|
|
41eca342
|
2019-11-06T00:13:39
|
|
regen
|
|
f6a7bedb
|
2019-10-29T20:52:29
|
|
suffix _u32 -> _n of mp_(expt|log|root) functions, use int for now
|
|
86648a0d
|
2019-11-13T15:55:01
|
|
Merge pull request #456 from libtom/mp-has-comment
s_mp_rand_platform: add comment regarding MP_HAS requiring dead code elim
|
|
c47d5e87
|
2019-11-12T01:11:12
|
|
s_mp_rand_platform: add comment regarding MP_HAS requiring dead code elim
|
|
59d62c9b
|
2019-11-11T21:53:00
|
|
Merge pull request #454 from libtom/better-use-of-isneg
Better use of isneg
|
|
1cc289d2
|
2019-11-09T20:23:03
|
|
better use of mp_isneg() and mp_iszero()
|
|
0bc5c329
|
2019-11-10T15:30:57
|
|
Merge pull request #450 from libtom/sqr-opt
make mp_sqr and mp_div_3 internal and add optimizations
|
|
53becf65
|
2019-11-06T16:50:31
|
|
regen files
|
|
6777baaf
|
2019-11-06T16:59:51
|
|
add macro MP_IS_2EXPT
|
|
2e88b571
|
2019-11-06T16:56:34
|
|
optimize mp_mul_d
|
|
6ec36e0b
|
2019-11-06T16:54:07
|
|
optimize mp_div_d
|
|
4f00e75b
|
2019-11-06T16:51:51
|
|
make mp_div_3 private
|
|
0fa802f2
|
2019-11-06T16:49:59
|
|
make mp_sqr private (optimization of mp_mul)
|
|
4077293f
|
2019-11-07T21:12:56
|
|
Merge pull request #451 from libtom/simplify-mod
simplify mod functions
|
|
61ebe7c0
|
2019-11-07T01:00:13
|
|
simplify mod functions
|
|
cc77fadb
|
2019-11-05T23:11:36
|
|
Merge pull request #444 from minad/lto
add COMPILE_LTO to test link time optimization
|
|
67e18168
|
2019-11-05T23:10:40
|
|
Merge pull request #445 from libtom/fix-def-gen
fix generate_def, rename some internal files
|
|
91d88ce3
|
2019-11-05T20:35:19
|
|
fix generate_def, rename some internal files
|
|
3b98e826
|
2019-11-05T21:01:54
|
|
disable lto test for clang for now
it works on debian but not on the outdated travis ubuntu
|
|
53a689d0
|
2019-11-05T20:29:59
|
|
travis: install llvm-7
|
|
74d828d5
|
2019-11-05T20:25:39
|
|
don't use ranlib, `ar s` is equivalent
|
|
e8e65119
|
2019-11-05T19:18:32
|
|
add COMPILE_LTO to test link time optimization
the library performs best with lto since many small functions
can be inlined across objects.
|
|
c893d217
|
2019-11-05T20:16:01
|
|
Merge pull request #439 from libtom/radix-code-cleanup
mp_radix off-by-one error and other related code-cleanup
|
|
bbb17808
|
2019-10-30T14:19:50
|
|
mp_radix off-by-one error and other related code-cleanup
|
|
7e47ae65
|
2019-11-05T20:09:43
|
|
Merge pull request #443 from libtom/rename-maxfast
rename MP_MAXFAST to MP_MAX_COMBA
|
|
93f8e760
|
2019-11-05T18:04:05
|
|
rename MP_MAXFAST to MP_MAX_COMBA
|
|
b4c42576
|
2019-11-05T19:40:30
|
|
Merge pull request #436 from fperrad/20191029_lint
some linting
|
|
40342807
|
2019-11-01T20:08:41
|
|
explicit operator precedence
|
|
146becbd
|
2019-10-31T19:26:55
|
|
literal suffix
|
|
3035e22f
|
2019-11-05T17:55:04
|
|
Merge pull request #434 from libtom/simplifications
Simplifications
|
|
80176de3
|
2019-11-05T17:53:08
|
|
re-enable checks for memcpy&memset
[skip ci]
|
|
410bf493
|
2019-10-29T20:26:50
|
|
apply a series of simplifications
* this is the final commit of a series of simplifications,
containing only the regenerated files and the explanation in the
commit message
* This is in preparation of the size_t change/a potential representation change to use
full width as in tfm, if a (partial?) merge with tfm is desired.
These changes have their own merits however.
* Remove obfuscating tmpx digit pointers (fewer variables, it is more obvious what is
being manipulated)
* Reduce scope of variables where possible
* Stricter error handling/checking (for example handling in karatsuba
was broken)
* In some cases the result was written even in the case of an error
(e.g. s_mp_is_divisible). This will hide bugs, since the user should
check the return value (enforced by MP_WUR). Furthermore if the user
accesses the non-initialized result, valgrind will complain for
example. Global static analysis like coverity will also detect the issue.
Therefore this improves the status quo.
* Introduce generic, private MP_EXCH macro which can be used to swap values.
* Introduce s_mp_copy_digs/s_mp_zero_digs/s_mp_zero_buf
* Some control flow simplifications, e.g, loops instead of goto
* Renamings of variables/labels for consistency
* Renamings of mul/sqr functions for more consistency, e.g., comba
instead of fast suffix
* I didn't read through some very complex functions.
They are so complex, I am too afraid and lazy to touch them.
Maybe someone resposible wants to simplify them if possible. Hint... Hint...
- mp_prime_strong_lucas_selfridge.c
- s_mp_exptmod.c
- s_mp_exptmod_fast.c
|
|
5c335f84
|
2019-10-30T17:26:27
|
|
rename mul/sqr functions for consistency, comba instead of fast suffix
|
|
3b710fbd
|
2019-11-03T11:00:33
|
|
simplify mp_complement
|
|
bcda8fc6
|
2019-10-29T22:38:49
|
|
simplifications: remove unnecessary optimization
* these double checks are not necessary
* the compiler will move the early return outside of the called
function, basically the functions is partially inlined
* however lto/amalgamation needed for the optimization
|
|
795cd201
|
2019-10-29T21:48:50
|
|
simplifications: add s_mp_zero_(digs|buf) and s_mp_copy_digs
Originally I made those as macros. However we have many
other small functions like mp_clamp, mp_exch which are also not implemented
as macros right now.
If we would use c99, I would implement them as private static inline
functions. And mp_exch would be a public static inline function.
But since we are bound to c89, we simply use normal functions.
To achieve optimal performance one should either use link time
optimization or amalgamation.
|
|
b1f9bff1
|
2019-10-29T20:21:22
|
|
simplifications: invmod
|
|
56144eed
|
2019-10-29T20:08:42
|
|
simplifications: reduce functions
|
|
448f35e2
|
2019-10-29T20:07:29
|
|
simplifications: prime functions
|
|
8ac49351
|
2019-10-29T20:06:20
|
|
simplifications: mul/sqr comba
|
|
7b6c6965
|
2019-10-29T20:05:30
|
|
simplifications: toom and karatsuba
|
|
143e0376
|
2019-10-29T20:02:32
|
|
simplifications: basic arithmetic functions
|
|
e60149de
|
2019-10-29T20:26:25
|
|
simplifications: replace mp_mod_d by macro
|