tommath_private.h


Log

Author Commit Date CI Message
Daniel Mendler bcec605a 2019-05-22T15:34:49 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)
Daniel Mendler c7a7bd47 2019-05-23T16:37:34 MP_PREC is an internal macro, it should be defined in tommath_private.h
Daniel Mendler 3289c959 2019-05-20T10:41:06 introduce various mp_set_sint/mp_set_uint functions with precise types
Daniel Mendler 18f6e464 2019-05-23T16:00:31 add MP_STATIC_ASSERT
Francois Perrad 330b980d 2019-05-18T11:55:27 literal char
Francois Perrad 8d73e158 2019-05-18T12:37:54 literal suffix
Francois Perrad a4f9818b 2019-05-18T12:36:45 more cast
Daniel Mendler bd8f7e55 2019-05-20T06:57:20 introduce MP_PRIVATE to hide symbols (opt-in for now)
Daniel Mendler 0dfa9da5 2019-05-19T12:53:49 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.
Daniel Mendler 6631d426 2019-05-19T10:05:15 remove __cplusplus stuff from tommath_private.h tommath_private.h is an internal header which won't be included by a C++ source file.
Daniel Mendler 0b840b78 2019-05-17T20:53:24 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.
Daniel Mendler a8239c24 2019-05-13T11:32:42 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.
Daniel Mendler 56e7a401 2019-05-13T02:46:11 deprecate mp_jacobi
Daniel Mendler 75e85a73 2019-05-13T11:18:34 move mp_prime_random_ex to bn_deprecated.c
Daniel Mendler 668cda01 2019-05-13T19:18:09 remove unnecessary duplication of multiplication
Daniel Mendler 334c32e0 2019-05-13T18:08:03 fix signature
Daniel Mendler 0b73dab6 2019-05-13T15:04:30 MP_FREE_DIGITS: add missing cast
Daniel Mendler 4534056c 2019-05-13T00:22:18 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
Francois Perrad 38116079 2019-05-13T17:51:07 literal suffix
Francois Perrad 3c5afa91 2019-05-13T17:34:12 add missing parameter name in prototype
Francois Perrad fa2d86af 2019-05-13T03:27:02 explicit operator precedence
Francois Perrad 07aaa4c3 2019-05-13T03:48:20 explicit condition
Francois Perrad 783e3cdf 2019-05-13T03:47:24 format block macros
Daniel Mendler 2a2e2716 2019-05-12T11:33:17 move jenkins prng to bn_s_mp_rand_jenkins.c
Daniel Mendler c8cc3657 2019-05-11T09:09:12 mov s_mp_rand_source_platform to separate file
Daniel Mendler 7365442a 2019-05-10T23:59:46 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
Daniel Mendler 61d9e528 2019-05-11T10:22:20 hardening: add MP_ZERO_BUFFER, MP_ZERO_DIGITS * (!) Always zero buffer before freeing if MP_NO_ZERO_ON_FREE is not defined * Add MP_NO_ZERO_ON_FREE to disable hardening * Add MP_ZERO_BUFFER, MP_ZERO_DIGITS, MP_FREE_BUFFFER, MP_FREE_DIGITS * Never use MP_FREE directly, use MP_FREE_DIGITS or MP_FREE_BUFFER * Add MP_USE_MEMSET to use memset instead of loop * Disable astyle backups which are annonying in the times of git
Daniel Mendler adf9605d 2019-05-09T03:28:49 add warn_unused_result, found one missing check!
Francois Perrad cc703a84 2019-05-11T12:09:59 add missing parameter name in prototype
Francois Perrad 7d4e8363 2019-05-08T19:43:21 refactor with new private macro MP_MAXFAST
Francois Perrad 556219aa 2019-05-09T22:07:13 refactor with new private macro MP_SIZEOF_BITS CHAR_BIT is no longer directly used
Daniel Mendler 0669e92e 2019-05-08T20:18:53 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.
Daniel Mendler 250751be 2019-05-07T09:32:59 tommath.h: do not expose stdlib.h
Daniel Mendler 818d8fb7 2019-05-03T17:39:10 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.
Daniel Mendler 90eccd57 2019-04-25T15:36:35 prefix private macros by PRIVATE_
Daniel Mendler 632601f4 2019-04-13T17:34:11 MP_WARRAY is an internal macro
Daniel Mendler e45f75fd 2019-04-13T08:46:57 deprecate DIGIT_BIT, use MP_DIGIT_BIT
Daniel Mendler a8c76138 2019-04-12T21:15:56 deprecate macros in tommath.h * move MP_DEPRECATED to tommath.h since we need it later * add MP_DEPRECATED_PRAGMA
Daniel Mendler fbfcb661 2019-04-12T14:56:29 apply rename
Daniel Mendler 7469e852 2019-03-07T04:02:32 add rename script
Daniel Mendler 87292ed1 2019-04-09T12:19:40 move mp_balance_mul to tommath_private.h
Daniel Mendler df8fcb0e 2019-04-09T11:18:23 add MP_DEPRECATED macro
Daniel Mendler e09a5c99 2019-04-09T11:10:57 remove s_mp_mul which is only used once
Daniel Mendler c4fb2241 2019-04-09T11:08:26 rename macros in tommath_private to use MP_* prefix
Francois Perrad 42193f89 2019-04-09T20:26:08 explicit operator precedence
Daniel Mendler ff561404 2019-04-07T15:29:11 shorter headers
Daniel Mendler 70a30ae7 2019-04-07T02:29:28 remove footers
Steffen Jaeckel a3651cbd 2019-04-04T12:43:08 apply modifications to XCALLOC according to #192
Steffen Jaeckel d01b5318 2019-04-04T12:25:34 Revert "Merge pull request #188 from libtom/unused_xcalloc" This reverts commit 27417b85c72ee1417050e65507aab11ccf42e03a, reversing changes made to d449bd44c02e1308af7b4ae30310799d26d38496.
Daniel Mendler db9a47d5 2019-04-04T11:01:08 allocation functions: pass size to XREALLOC and XFREE This is similar to the signatures of the custom allocation functions provided by GMP. The allocation sizes are useful if the allocator has no easy way to access the allocation size.
Daniel Mendler 77143c33 2019-04-04T12:57:22 remove mp_set_long specialization
Daniel Mendler 28e61778 2019-03-22T15:26:59 remove OPT_CAST The explicit cast does not hurt in C. Furthermore the explicit cast is needed if tommath is compiled as C with strict warning settings.
nijtmans 54d673f1 2019-03-28T17:00:50 XCALLOC is not used anywhere anymore, so it can be removed
Francois Perrad 9d63882d 2019-03-26T18:42:18 explicit condition
Francois Perrad 6d633703 2019-03-26T18:51:35 explicit operator precedence
Daniel Mendler 32099fde 2019-03-23T02:38:01 avoid ctype toupper - libc toupper is locale dependent - removes the dependency on ctype.h
nijtmans 6dc8ae5b 2019-03-26T11:30:21 efficiency improvement in get/set routines
Francois Perrad de19b264 2018-12-28T09:01:01 introduce new private macros
Steffen Jaeckel 18355de6 2018-12-29T17:56:20 Update file headers [skip ci]
Francois Perrad bd4167e8 2018-05-03T03:44:47 const mp_s_rmap
czurnieden 9034e712 2018-05-02T21:43:17 Do not use installed headers for building
Steffen Jaeckel f51249b6 2018-02-02T12:07:21 clean-up file headers
Francois Perrad f1d6c887 2017-10-15T19:58:35 refactor cast
Francois Perrad bdbed000 2017-10-15T19:57:12 literal suffix
Steffen Jaeckel 0a7ecc3b 2017-10-09T14:34:20 add the inverse of mp_s_rmap
nijtmans f674018a 2017-09-20T16:59:43 constify remaining functions
Francois Perrad f89cda03 2017-08-30T19:15:27 format with astyle (step 5)
Francois Perrad 82a2d385 2017-08-30T05:56:38 refactor indentation of preprocessor directives
Francois Perrad 378be117 2017-08-28T21:40:10 add missing space after comma
Steffen Jaeckel 6f212942 2017-08-28T16:27:26 replace SVN tags
Steffen Jaeckel 2dad1298 2017-04-01T00:35:03 only define MIN/MAX if they are not defined yet This closes #72
Francois Perrad 10cfb955 2015-11-12T22:43:38 use same parameter name between prototype declaration and function definition
Francois Perrad a0b8ce68 2015-11-13T17:47:30 use unsigned literal
Francois Perrad e6cfefc1 2015-11-19T21:53:32 more private stuff
Francois Perrad f771e317 2015-11-19T21:34:58 move standard includes
Steffen Jaeckel 4e3f1344 2015-11-12T01:49:07 provide tommath_private.h tommath.h contains declarations for the public part of the library. tommath_private.h contains the functions which are private to ltm and should not be exposed to the public.