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
18f6e4648b
add MP_STATIC_ASSERT
2019-05-23 16:00:31 +02:00
Francois Perrad
330b980d49
literal char
2019-05-21 20:23:16 +02:00
Francois Perrad
8d73e158df
literal suffix
2019-05-21 20:23:16 +02:00
Francois Perrad
a4f9818b71
more cast
2019-05-21 20:23:16 +02:00
Daniel Mendler
bd8f7e55e6
introduce MP_PRIVATE to hide symbols (opt-in for now)
2019-05-21 18:08:02 +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
6631d42664
remove __cplusplus stuff from tommath_private.h
...
tommath_private.h is an internal header which won't be included
by a C++ source file.
2019-05-21 15:58:06 +02:00
Daniel Mendler
0b840b78a3
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.
2019-05-21 15:34:04 +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
75e85a7341
move mp_prime_random_ex to bn_deprecated.c
2019-05-18 10:03:46 +02:00
Daniel Mendler
668cda01e8
remove unnecessary duplication of multiplication
2019-05-13 19:18:09 +02:00
Daniel Mendler
334c32e034
fix signature
2019-05-13 19:15:59 +02:00
Daniel Mendler
0b73dab69f
MP_FREE_DIGITS: add missing cast
2019-05-13 19:15:14 +02:00
Daniel Mendler
4534056c28
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
2019-05-13 19:15:14 +02:00
Francois Perrad
38116079e4
literal suffix
2019-05-13 17:53:10 +02:00
Francois Perrad
3c5afa9115
add missing parameter name in prototype
2019-05-13 17:52:56 +02:00
Francois Perrad
fa2d86af95
explicit operator precedence
2019-05-13 17:52:34 +02:00
Francois Perrad
07aaa4c381
explicit condition
2019-05-13 17:52:34 +02:00
Francois Perrad
783e3cdf82
format block macros
2019-05-13 17:52:34 +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
7365442ace
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
2019-05-12 13:04:45 +02:00
Daniel Mendler
61d9e528a4
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
2019-05-12 01:01:03 +02:00
Daniel Mendler
adf9605d6c
add warn_unused_result, found one missing check!
2019-05-11 19:26:58 +02:00
Francois Perrad
cc703a849b
add missing parameter name in prototype
2019-05-11 16:57:04 +02:00
Francois Perrad
7d4e8363e0
refactor with new private macro MP_MAXFAST
2019-05-11 12:05:38 +02:00
Francois Perrad
556219aa5b
refactor with new private macro MP_SIZEOF_BITS
...
CHAR_BIT is no longer directly used
2019-05-11 12:05:38 +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
Daniel Mendler
250751be46
tommath.h: do not expose stdlib.h
2019-05-07 09:32:59 +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
90eccd5768
prefix private macros by PRIVATE_
2019-04-25 15:36:35 +02:00
Daniel Mendler
632601f405
MP_WARRAY is an internal macro
2019-04-25 13:39:50 +02:00
Daniel Mendler
e45f75fddb
deprecate DIGIT_BIT, use MP_DIGIT_BIT
2019-04-25 13:39:50 +02:00
Daniel Mendler
a8c76138f9
deprecate macros in tommath.h
...
* move MP_DEPRECATED to tommath.h since we need it later
* add MP_DEPRECATED_PRAGMA
2019-04-25 13:39:50 +02:00
Daniel Mendler
fbfcb66184
apply rename
2019-04-12 14:56:29 +02:00
Daniel Mendler
7469e852f1
add rename script
2019-04-12 14:55:09 +02:00
Daniel Mendler
87292ed10a
move mp_balance_mul to tommath_private.h
2019-04-12 14:55:09 +02:00
Daniel Mendler
df8fcb0e4b
add MP_DEPRECATED macro
2019-04-12 14:55:09 +02:00
Daniel Mendler
e09a5c99bc
remove s_mp_mul which is only used once
2019-04-12 14:55:09 +02:00
Daniel Mendler
c4fb2241dc
rename macros in tommath_private to use MP_* prefix
2019-04-12 14:55:08 +02:00
Francois Perrad
42193f8914
explicit operator precedence
2019-04-09 20:26:08 +02:00
Daniel Mendler
ff56140462
shorter headers
2019-04-07 17:26:31 +02:00
Daniel Mendler
70a30ae7a7
remove footers
2019-04-07 17:26:31 +02:00
Steffen Jaeckel
a3651cbd79
apply modifications to XCALLOC according to #192
2019-04-06 23:41:24 +02:00
Steffen Jaeckel
d01b531897
Revert "Merge pull request #188 from libtom/unused_xcalloc"
...
This reverts commit 27417b85c7
, reversing
changes made to d449bd44c0
.
2019-04-06 23:41:24 +02:00
Daniel Mendler
db9a47d514
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.
2019-04-05 10:58:07 +02:00
Daniel Mendler
77143c33ea
remove mp_set_long specialization
2019-04-04 23:03:25 +02:00
Daniel Mendler
28e61778b9
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.
2019-03-29 10:38:43 +01:00