Merge pull request #134 from libtom/fixup/123_124

Fixup PR for #123 #124
This commit is contained in:
Steffen Jaeckel 2018-12-08 10:29:49 +01:00 committed by GitHub
commit 7b9082554f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 25 deletions

View File

@ -49,7 +49,12 @@ int mp_set_double(mp_int *a, double b)
return MP_OKAY;
}
#else
# warning "mp_set_double implementation is only available on platforms with IEEE754 floating point format"
/* pragma message() not supported by several compilers (in mostly older but still used versions) */
# ifdef _MSC_VER
# pragma message("mp_set_double implementation is only available on platforms with IEEE754 floating point format")
# else
# warning "mp_set_double implementation is only available on platforms with IEEE754 floating point format"
# endif
#endif
#endif

View File

@ -284,20 +284,20 @@ int main(void)
/* test mp_tc_div_2d */
printf("\n\nTesting: mp_tc_div_2d");
for (i = 0; i < 1000; ++i) {
int l, m;
int l, em;
l = (rand() * rand() + 1) * (rand() % 1 ? -1 : 1);
mp_set_int(&a, labs(l));
if (l < 0)
mp_neg(&a, &a);
m = rand() % 32;
em = rand() % 32;
mp_set_int(&d, labs(l >> m));
if ((l >> m) < 0)
mp_set_int(&d, labs(l >> em));
if ((l >> em) < 0)
mp_neg(&d, &d);
mp_tc_div_2d(&a, m, &b);
mp_tc_div_2d(&a, em, &b);
if (mp_cmp(&b, &d) != MP_EQ) {
printf("\nmp_tc_div_2d() bad result!");
return EXIT_FAILURE;
@ -305,22 +305,22 @@ int main(void)
}
/* test mp_tc_xor */
printf("\n\nTesting: mp_tc_or");
printf("\n\nTesting: mp_tc_xor");
for (i = 0; i < 1000; ++i) {
int l, m;
int l, em;
l = (rand() * rand() + 1) * (rand() % 1 ? -1 : 1);
mp_set_int(&a, labs(l));
if (l < 0)
mp_neg(&a, &a);
m = (rand() * rand() + 1) * (rand() % 1 ? -1 : 1);
mp_set_int(&b, labs(m));
if (m < 0)
em = (rand() * rand() + 1) * (rand() % 1 ? -1 : 1);
mp_set_int(&b, labs(em));
if (em < 0)
mp_neg(&b, &b);
mp_set_int(&d, labs(l ^ m));
if ((l ^ m) < 0)
mp_set_int(&d, labs(l ^ em));
if ((l ^ em) < 0)
mp_neg(&d, &d);
mp_tc_xor(&a, &b, &c);
@ -333,20 +333,20 @@ int main(void)
/* test mp_tc_or */
printf("\n\nTesting: mp_tc_or");
for (i = 0; i < 1000; ++i) {
int l, m;
int l, em;
l = (rand() * rand() + 1) * (rand() % 1 ? -1 : 1);
mp_set_int(&a, labs(l));
if (l < 0)
mp_neg(&a, &a);
m = (rand() * rand() + 1) * (rand() % 1 ? -1 : 1);
mp_set_int(&b, labs(m));
if (m < 0)
em = (rand() * rand() + 1) * (rand() % 1 ? -1 : 1);
mp_set_int(&b, labs(em));
if (em < 0)
mp_neg(&b, &b);
mp_set_int(&d, labs(l | m));
if ((l | m) < 0)
mp_set_int(&d, labs(l | em));
if ((l | em) < 0)
mp_neg(&d, &d);
mp_tc_or(&a, &b, &c);
@ -359,20 +359,20 @@ int main(void)
/* test mp_tc_and */
printf("\n\nTesting: mp_tc_and");
for (i = 0; i < 1000; ++i) {
int l, m;
int l, em;
l = (rand() * rand() + 1) * (rand() % 1 ? -1 : 1);
mp_set_int(&a, labs(l));
if (l < 0)
mp_neg(&a, &a);
m = (rand() * rand() + 1) * (rand() % 1 ? -1 : 1);
mp_set_int(&b, labs(m));
if (m < 0)
em = (rand() * rand() + 1) * (rand() % 1 ? -1 : 1);
mp_set_int(&b, labs(em));
if (em < 0)
mp_neg(&b, &b);
mp_set_int(&d, labs(l & m));
if ((l & m) < 0)
mp_set_int(&d, labs(l & em));
if ((l & em) < 0)
mp_neg(&d, &d);
mp_tc_and(&a, &b, &c);