remove mp_set_long specialization

This commit is contained in:
Daniel Mendler 2019-04-04 12:57:22 +02:00
parent d256648e12
commit 77143c33ea
No known key found for this signature in database
GPG Key ID: D88ADB2A2693CA43
2 changed files with 2 additions and 19 deletions

View File

@ -12,25 +12,7 @@
* SPDX-License-Identifier: Unlicense
*/
/* set a platform dependent unsigned long int */
#if (ULONG_MAX != 0xFFFFFFFFUL) || (DIGIT_BIT < 32)
MP_SET_XLONG(mp_set_long, unsigned long)
#else
int mp_set_long(mp_int *a, unsigned long b)
{
int x = 0;
int res = mp_grow(a, (CHAR_BIT * sizeof(unsigned long) + DIGIT_BIT - 1) / DIGIT_BIT);
if (res == MP_OKAY) {
mp_zero(a);
if (b) {
a->dp[x++] = (mp_digit)b;
}
a->used = x;
}
return res;
}
#endif
#endif
/* ref: $Format:%D$ */

View File

@ -85,7 +85,8 @@ int func_name (mp_int * a, type b) \
mp_zero(a); \
while (b != 0u) { \
a->dp[x++] = ((mp_digit)b & MP_MASK); \
b >>= DIGIT_BIT; \
if ((CHAR_BIT * sizeof (b)) <= DIGIT_BIT) { break; } \
b >>= ((CHAR_BIT * sizeof (b)) <= DIGIT_BIT ? 0 : DIGIT_BIT); \
} \
a->used = x; \
} \