Skip to content

Commit 886b2bf

Browse files
authored
Merge pull request #586 from libtom/fix-582
Fix #582
2 parents a1f1c5f + 1624627 commit 886b2bf

11 files changed

+38
-20
lines changed

libtommath_VS2008.vcproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -912,6 +912,10 @@
912912
RelativePath="s_mp_rand_platform.c"
913913
>
914914
</File>
915+
<File
916+
RelativePath="s_mp_rand_source.c"
917+
>
918+
</File>
915919
<File
916920
RelativePath="s_mp_sqr.c"
917921
>

makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ s_mp_div_recursive.o s_mp_div_school.o s_mp_div_small.o s_mp_exptmod.o s_mp_expt
4848
s_mp_fp_log_d.o s_mp_get_bit.o s_mp_invmod.o s_mp_invmod_odd.o s_mp_log_2expt.o \
4949
s_mp_montgomery_reduce_comba.o s_mp_mul.o s_mp_mul_balance.o s_mp_mul_comba.o s_mp_mul_high.o \
5050
s_mp_mul_high_comba.o s_mp_mul_karatsuba.o s_mp_mul_toom.o s_mp_prime_is_divisible.o s_mp_prime_tab.o \
51-
s_mp_radix_map.o s_mp_radix_size_overestimate.o s_mp_rand_platform.o s_mp_sqr.o s_mp_sqr_comba.o \
52-
s_mp_sqr_karatsuba.o s_mp_sqr_toom.o s_mp_sub.o s_mp_warray.o s_mp_warray_get.o s_mp_warray_put.o \
53-
s_mp_zero_buf.o s_mp_zero_digs.o
51+
s_mp_radix_map.o s_mp_radix_size_overestimate.o s_mp_rand_platform.o s_mp_rand_source.o s_mp_sqr.o \
52+
s_mp_sqr_comba.o s_mp_sqr_karatsuba.o s_mp_sqr_toom.o s_mp_sub.o s_mp_warray.o s_mp_warray_get.o \
53+
s_mp_warray_put.o s_mp_zero_buf.o s_mp_zero_digs.o
5454

5555
#END_INS
5656

makefile.mingw

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ s_mp_div_recursive.o s_mp_div_school.o s_mp_div_small.o s_mp_exptmod.o s_mp_expt
5050
s_mp_fp_log_d.o s_mp_get_bit.o s_mp_invmod.o s_mp_invmod_odd.o s_mp_log_2expt.o \
5151
s_mp_montgomery_reduce_comba.o s_mp_mul.o s_mp_mul_balance.o s_mp_mul_comba.o s_mp_mul_high.o \
5252
s_mp_mul_high_comba.o s_mp_mul_karatsuba.o s_mp_mul_toom.o s_mp_prime_is_divisible.o s_mp_prime_tab.o \
53-
s_mp_radix_map.o s_mp_radix_size_overestimate.o s_mp_rand_platform.o s_mp_sqr.o s_mp_sqr_comba.o \
54-
s_mp_sqr_karatsuba.o s_mp_sqr_toom.o s_mp_sub.o s_mp_warray.o s_mp_warray_get.o s_mp_warray_put.o \
55-
s_mp_zero_buf.o s_mp_zero_digs.o
53+
s_mp_radix_map.o s_mp_radix_size_overestimate.o s_mp_rand_platform.o s_mp_rand_source.o s_mp_sqr.o \
54+
s_mp_sqr_comba.o s_mp_sqr_karatsuba.o s_mp_sqr_toom.o s_mp_sub.o s_mp_warray.o s_mp_warray_get.o \
55+
s_mp_warray_put.o s_mp_zero_buf.o s_mp_zero_digs.o
5656

5757
HEADERS_PUB=tommath.h
5858
HEADERS=tommath_private.h tommath_class.h tommath_superclass.h tommath_cutoffs.h $(HEADERS_PUB)

makefile.msvc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ s_mp_div_recursive.obj s_mp_div_school.obj s_mp_div_small.obj s_mp_exptmod.obj s
4646
s_mp_fp_log_d.obj s_mp_get_bit.obj s_mp_invmod.obj s_mp_invmod_odd.obj s_mp_log_2expt.obj \
4747
s_mp_montgomery_reduce_comba.obj s_mp_mul.obj s_mp_mul_balance.obj s_mp_mul_comba.obj s_mp_mul_high.obj \
4848
s_mp_mul_high_comba.obj s_mp_mul_karatsuba.obj s_mp_mul_toom.obj s_mp_prime_is_divisible.obj s_mp_prime_tab.obj \
49-
s_mp_radix_map.obj s_mp_radix_size_overestimate.obj s_mp_rand_platform.obj s_mp_sqr.obj s_mp_sqr_comba.obj \
50-
s_mp_sqr_karatsuba.obj s_mp_sqr_toom.obj s_mp_sub.obj s_mp_warray.obj s_mp_warray_get.obj s_mp_warray_put.obj \
51-
s_mp_zero_buf.obj s_mp_zero_digs.obj
49+
s_mp_radix_map.obj s_mp_radix_size_overestimate.obj s_mp_rand_platform.obj s_mp_rand_source.obj s_mp_sqr.obj \
50+
s_mp_sqr_comba.obj s_mp_sqr_karatsuba.obj s_mp_sqr_toom.obj s_mp_sub.obj s_mp_warray.obj s_mp_warray_get.obj \
51+
s_mp_warray_put.obj s_mp_zero_buf.obj s_mp_zero_digs.obj
5252

5353
HEADERS_PUB=tommath.h
5454
HEADERS=tommath_private.h tommath_class.h tommath_superclass.h tommath_cutoffs.h $(HEADERS_PUB)

makefile.shared

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ s_mp_div_recursive.o s_mp_div_school.o s_mp_div_small.o s_mp_exptmod.o s_mp_expt
4545
s_mp_fp_log_d.o s_mp_get_bit.o s_mp_invmod.o s_mp_invmod_odd.o s_mp_log_2expt.o \
4646
s_mp_montgomery_reduce_comba.o s_mp_mul.o s_mp_mul_balance.o s_mp_mul_comba.o s_mp_mul_high.o \
4747
s_mp_mul_high_comba.o s_mp_mul_karatsuba.o s_mp_mul_toom.o s_mp_prime_is_divisible.o s_mp_prime_tab.o \
48-
s_mp_radix_map.o s_mp_radix_size_overestimate.o s_mp_rand_platform.o s_mp_sqr.o s_mp_sqr_comba.o \
49-
s_mp_sqr_karatsuba.o s_mp_sqr_toom.o s_mp_sub.o s_mp_warray.o s_mp_warray_get.o s_mp_warray_put.o \
50-
s_mp_zero_buf.o s_mp_zero_digs.o
48+
s_mp_radix_map.o s_mp_radix_size_overestimate.o s_mp_rand_platform.o s_mp_rand_source.o s_mp_sqr.o \
49+
s_mp_sqr_comba.o s_mp_sqr_karatsuba.o s_mp_sqr_toom.o s_mp_sub.o s_mp_warray.o s_mp_warray_get.o \
50+
s_mp_warray_put.o s_mp_zero_buf.o s_mp_zero_digs.o
5151

5252
#END_INS
5353

makefile.unix

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ s_mp_div_recursive.o s_mp_div_school.o s_mp_div_small.o s_mp_exptmod.o s_mp_expt
5151
s_mp_fp_log_d.o s_mp_get_bit.o s_mp_invmod.o s_mp_invmod_odd.o s_mp_log_2expt.o \
5252
s_mp_montgomery_reduce_comba.o s_mp_mul.o s_mp_mul_balance.o s_mp_mul_comba.o s_mp_mul_high.o \
5353
s_mp_mul_high_comba.o s_mp_mul_karatsuba.o s_mp_mul_toom.o s_mp_prime_is_divisible.o s_mp_prime_tab.o \
54-
s_mp_radix_map.o s_mp_radix_size_overestimate.o s_mp_rand_platform.o s_mp_sqr.o s_mp_sqr_comba.o \
55-
s_mp_sqr_karatsuba.o s_mp_sqr_toom.o s_mp_sub.o s_mp_warray.o s_mp_warray_get.o s_mp_warray_put.o \
56-
s_mp_zero_buf.o s_mp_zero_digs.o
54+
s_mp_radix_map.o s_mp_radix_size_overestimate.o s_mp_rand_platform.o s_mp_rand_source.o s_mp_sqr.o \
55+
s_mp_sqr_comba.o s_mp_sqr_karatsuba.o s_mp_sqr_toom.o s_mp_sub.o s_mp_warray.o s_mp_warray_get.o \
56+
s_mp_warray_put.o s_mp_zero_buf.o s_mp_zero_digs.o
5757

5858

5959
HEADERS_PUB=tommath.h

mp_rand_source.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
#include "tommath_private.h"
2-
#ifdef MP_RAND_C
2+
#ifdef MP_RAND_SOURCE_C
33
/* LibTomMath, multiple-precision integer library -- Tom St Denis */
44
/* SPDX-License-Identifier: Unlicense */
5-
6-
mp_err(*s_mp_rand_source)(void *out, size_t size) = s_mp_rand_platform;
7-
85
void mp_rand_source(mp_err(*source)(void *out, size_t size))
96
{
10-
s_mp_rand_source = (source == NULL) ? s_mp_rand_platform : source;
7+
if (source == NULL)
8+
s_mp_rand_source = s_mp_rand_platform;
9+
else
10+
s_mp_rand_source = source;
1111
}
1212
#endif

s_mp_rand_source.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#include "tommath_private.h"
2+
#ifdef S_MP_RAND_SOURCE_C
3+
/* LibTomMath, multiple-precision integer library -- Tom St Denis */
4+
/* SPDX-License-Identifier: Unlicense */
5+
6+
mp_err(*s_mp_rand_source)(void *out, size_t size) = s_mp_rand_platform;
7+
#endif

sources.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ s_mp_prime_tab.c
152152
s_mp_radix_map.c
153153
s_mp_radix_size_overestimate.c
154154
s_mp_rand_platform.c
155+
s_mp_rand_source.c
155156
s_mp_sqr.c
156157
s_mp_sqr_comba.c
157158
s_mp_sqr_karatsuba.c

tommath_class.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@
161161
# define S_MP_RADIX_MAP_C
162162
# define S_MP_RADIX_SIZE_OVERESTIMATE_C
163163
# define S_MP_RAND_PLATFORM_C
164+
# define S_MP_RAND_SOURCE_C
164165
# define S_MP_SQR_C
165166
# define S_MP_SQR_COMBA_C
166167
# define S_MP_SQR_KARATSUBA_C
@@ -1248,6 +1249,10 @@
12481249
#if defined(S_MP_RAND_PLATFORM_C)
12491250
#endif
12501251

1252+
#if defined(S_MP_RAND_SOURCE_C)
1253+
# define S_MP_RAND_PLATFORM_C
1254+
#endif
1255+
12511256
#if defined(S_MP_SQR_C)
12521257
# define MP_CLAMP_C
12531258
# define MP_CLEAR_C

tommath_superclass.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
# define MP_RADIX_SIZE_OVERESTIMATE_C
3232
# define MP_LOG_N_C
3333
# define MP_RAND_C
34+
# define MP_RAND_SOURCE_C
3435
# define MP_REDUCE_C
3536
# define MP_REDUCE_2K_L_C
3637
# define MP_FROM_SBIN_C

0 commit comments

Comments
 (0)