Log

Author Commit Date CI Message
czurnieden cecfd1f6 2019-11-27T20:55:22 changed generate_def to use the uncommited, raw file list
Steffen Jaeckel 220a4deb 2019-11-25T11:18:10 Merge pull request #463 from libtom/long_long_fixes Proposal: Remove long long support
Daniel Mendler 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
Daniel Mendler f0ab662f 2019-11-22T16:01:42 do not use long long for minimum prec calculation, improve comment
Daniel Mendler cd1bf5e2 2019-11-22T16:19:11 regen files
Steffen Jaeckel 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
Jan Nijtmans 4cbd7d59 2019-11-20T15:09:22 Don't use long long where not necessary, some platforms lack it
Steffen Jaeckel 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
czurnieden 244c698e 2019-11-24T05:37:43 corrected startvalue for sigma and cutoff in mp_div
Steffen Jaeckel 6e779e69 2019-11-22T11:31:20 Merge pull request #462 from czurnieden/repair_div_recursive Repair of sign handling in mp_div_recursive
czurnieden 5f3063fb 2019-11-22T03:14:59 correction of typo in test.c
czurnieden 642032dd 2019-11-22T02:56:48 wrong sign in mp_div_recursive
Steffen Jaeckel 86d7d718 2019-11-14T14:22:06 Merge pull request #457 from libtom/wrong-use-of-ull-for-develop Wrong use of ull for develop
Jan Nijtmans 68048351 2019-11-12T15:46:04 more spacing around PRIu64, needed for C++ compatibility
Jan Nijtmans 9f2cd043 2019-11-12T15:30:34 more unnecessary type-casts, correct type-case for malloc
Jan Nijtmans e9d54e98 2019-11-12T14:44:39 remove unnecessary type-casts
Jan Nijtmans a91eb5a0 2019-11-12T14:29:02 fix build (hopefully)
Jan Nijtmans 9cfb6c32 2019-11-06T11:52:42 use type-cast in stead of UINT64_C
Jan Nijtmans 02aa95c2 2019-11-06T11:29:17 Fix wrong use of uLL suffix
Jan Nijtmans bb1e56e7 2019-11-12T16:20:07 Fix compilation of demo/test.c using C++
Jan Nijtmans 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
Steffen Jaeckel 83b74bac 2019-11-14T11:08:33 Merge pull request #446 from libtom/suffix-renamings2 Alternative 2: Suffix renamings (_n suffix)
Daniel Mendler 41eca342 2019-11-06T00:13:39 regen
Daniel Mendler f6a7bedb 2019-10-29T20:52:29 suffix _u32 -> _n of mp_(expt|log|root) functions, use int for now
Steffen Jaeckel 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
Daniel Mendler c47d5e87 2019-11-12T01:11:12 s_mp_rand_platform: add comment regarding MP_HAS requiring dead code elim
Steffen Jaeckel 59d62c9b 2019-11-11T21:53:00 Merge pull request #454 from libtom/better-use-of-isneg Better use of isneg
nijtmans 1cc289d2 2019-11-09T20:23:03 better use of mp_isneg() and mp_iszero()
Steffen Jaeckel 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
Daniel Mendler 2e88b571 2019-11-06T16:56:34 optimize mp_mul_d
Daniel Mendler 6ec36e0b 2019-11-06T16:54:07 optimize mp_div_d
Daniel Mendler 53becf65 2019-11-06T16:50:31 regen files
Daniel Mendler 6777baaf 2019-11-06T16:59:51 add macro MP_IS_2EXPT
Daniel Mendler 4f00e75b 2019-11-06T16:51:51 make mp_div_3 private
Daniel Mendler 0fa802f2 2019-11-06T16:49:59 make mp_sqr private (optimization of mp_mul)
Steffen Jaeckel 4077293f 2019-11-07T21:12:56 Merge pull request #451 from libtom/simplify-mod simplify mod functions
Daniel Mendler 61ebe7c0 2019-11-07T01:00:13 simplify mod functions
Steffen Jaeckel cc77fadb 2019-11-05T23:11:36 Merge pull request #444 from minad/lto add COMPILE_LTO to test link time optimization
Steffen Jaeckel 67e18168 2019-11-05T23:10:40 Merge pull request #445 from libtom/fix-def-gen fix generate_def, rename some internal files
Daniel Mendler 91d88ce3 2019-11-05T20:35:19 fix generate_def, rename some internal files
Daniel Mendler 3b98e826 2019-11-05T21:01:54 disable lto test for clang for now it works on debian but not on the outdated travis ubuntu
Daniel Mendler 53a689d0 2019-11-05T20:29:59 travis: install llvm-7
Daniel Mendler 74d828d5 2019-11-05T20:25:39 don't use ranlib, `ar s` is equivalent
Daniel Mendler 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.
Steffen Jaeckel 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
nijtmans bbb17808 2019-10-30T14:19:50 mp_radix off-by-one error and other related code-cleanup
Steffen Jaeckel 7e47ae65 2019-11-05T20:09:43 Merge pull request #443 from libtom/rename-maxfast rename MP_MAXFAST to MP_MAX_COMBA
Daniel Mendler 93f8e760 2019-11-05T18:04:05 rename MP_MAXFAST to MP_MAX_COMBA
Steffen Jaeckel b4c42576 2019-11-05T19:40:30 Merge pull request #436 from fperrad/20191029_lint some linting
Francois Perrad 40342807 2019-11-01T20:08:41 explicit operator precedence
Francois Perrad 146becbd 2019-10-31T19:26:55 literal suffix
Steffen Jaeckel 3035e22f 2019-11-05T17:55:04 Merge pull request #434 from libtom/simplifications Simplifications
Steffen Jaeckel 80176de3 2019-11-05T17:53:08 re-enable checks for memcpy&memset [skip ci]
Daniel Mendler 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
Daniel Mendler 5c335f84 2019-10-30T17:26:27 rename mul/sqr functions for consistency, comba instead of fast suffix
Daniel Mendler 3b710fbd 2019-11-03T11:00:33 simplify mp_complement
Daniel Mendler 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
Daniel Mendler 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.
Daniel Mendler b1f9bff1 2019-10-29T20:21:22 simplifications: invmod
Daniel Mendler 56144eed 2019-10-29T20:08:42 simplifications: reduce functions
Daniel Mendler 448f35e2 2019-10-29T20:07:29 simplifications: prime functions
Daniel Mendler 8ac49351 2019-10-29T20:06:20 simplifications: mul/sqr comba
Daniel Mendler 7b6c6965 2019-10-29T20:05:30 simplifications: toom and karatsuba
Daniel Mendler 143e0376 2019-10-29T20:02:32 simplifications: basic arithmetic functions
Daniel Mendler e60149de 2019-10-29T20:26:25 simplifications: replace mp_mod_d by macro
Steffen Jaeckel 2d3262af 2019-11-04T14:06:19 Merge pull request #442 from libtom/bug-min-prec MP_MIN_PREC too small, test with MP_PREC=MP_MIN_PREC
Daniel Mendler 2bbdbd06 2019-11-03T16:55:35 MP_MIN_PREC>=3 is needed for s_mp_div_school test with MP_PREC=MP_MIN_PREC
Steffen Jaeckel 820f4bb0 2019-10-29T21:27:01 Merge pull request #435 from libtom/simple-simplifications first batch of simplifications
Daniel Mendler 3cdcec43 2019-10-29T18:41:25 first batch of simplifications
Daniel Mendler b9977adf 2019-10-29T08:44:51 use uint8_t instead of unsigned char
Steffen Jaeckel 98753c67 2019-10-29T17:20:40 Merge pull request #432 from libtom/no-deprecated-pragma introduce MP_NO_DEPRECATED_PRAGMA
Steffen Jaeckel af376edc 2019-10-29T16:37:56 no more MP_WUR in timing.c
Steffen Jaeckel 8456782c 2019-10-29T15:40:47 don't allow disabling of WUR checks
Steffen Jaeckel 57fbf5a8 2019-10-29T13:14:31 also build support/ branches in CI (cherry picked from commit 783ffb82dd5ddddce3d3bbd88661bcda44162458)
Steffen Jaeckel e95dd24e 2019-10-27T21:34:23 introduce MP_NO_DEPRECATED_PRAGMA
Steffen Jaeckel 57ccd9f0 2019-10-29T15:38:31 Merge pull request #431 from libtom/rework-tests clean-up test.c
Steffen Jaeckel 4500d066 2019-10-29T14:41:33 also no MP_WUR in mtest_opponent()
Steffen Jaeckel b250ec44 2019-10-29T13:24:34 clean-up test.c * no more `MP_WUR` in test.c * clean-up console output
Steffen Jaeckel 8bf82f94 2019-10-29T08:44:03 Merge pull request #425 from libtom/replace-gen-by-cat replace gen.pl by cat, rename mpi.c to mp_all.c
Steffen Jaeckel d800071e 2019-10-28T16:36:40 ignore&clean tommath_amalgam.c [skip ci]
Steffen Jaeckel a598e61b 2019-10-28T15:42:23 rename to tommath_amalgam.c
Steffen Jaeckel 02f4ee11 2019-10-28T15:23:34 compare logs before and after single-object profiling
Steffen Jaeckel 04ee1e75 2019-10-28T15:07:58 improve demo/timing a bit * less verbose output on console * allow changing name for logs * pre-heat caches before starting the timing
Steffen Jaeckel 8e3a4404 2019-10-28T13:41:30 use pre_gen/mp_all.c for profiled_single + clean-up defines
Steffen Jaeckel 43804ed7 2019-10-28T13:39:08 remove logs and generated PNG's this fixes #423
Daniel Mendler 1ece193a 2019-10-27T22:48:53 replace gen.pl by cat, rename mpi.c to mp_all.c
Steffen Jaeckel da8b9787 2019-10-28T15:29:30 Merge pull request #426 from libtom/rework-read-radix mp_read_radix and mp_fread should behave the same
Daniel Mendler a5d5b101 2019-10-27T23:51:38 mp_read_radix and mp_fread should behave the same
Steffen Jaeckel 50abc11a 2019-10-27T22:10:25 Merge pull request #422 from libtom/remove-ltm-rng remove ltm_rng (deprecated function)
Daniel Mendler 85699be1 2019-10-27T21:58:43 remove ltm_rng (deprecated function)
Steffen Jaeckel bde40c44 2019-10-27T22:06:11 Merge pull request #421 from libtom/doc-fix manual: don't mention obsolete MP_DIV_SMALL
Daniel Mendler 2122b511 2019-10-27T19:48:13 manual: don't mention obsolete MP_DIV_SMALL
Steffen Jaeckel baabf563 2019-10-27T21:22:53 Merge pull request #405 from libtom/add-sub-opt stdbool/stdint refactoring, various optimizations/simplifications
Steffen Jaeckel e2f8df33 2019-10-27T21:19:37 fix doc [skip ci] + ignore bak files generated by latexindent + silence latexindent
Daniel Mendler 7afecabd 2019-10-24T17:33:38 regen files
Daniel Mendler f662e1f7 2019-10-27T19:02:49 fix c89 issues
Daniel Mendler 43769139 2019-10-27T18:41:05 remove inttypes.h includes in c89 mode
Daniel Mendler d27dff92 2019-10-27T18:39:14 update manual: replace mp_bool/MP_YES/MP_NO references by bool/true/false
Daniel Mendler 8ecf7eae 2019-10-27T09:19:32 better comment in tommath_c89.h
Daniel Mendler 17d59c2c 2019-10-27T09:06:05 replace PRIx64 by MP_PRIx64 for c89 mode