diff options
| author | J08nY | 2025-03-20 16:22:28 +0100 |
|---|---|---|
| committer | J08nY | 2025-03-20 16:22:47 +0100 |
| commit | efa899bab078ef57d55ffbde9343d1320a9b08a0 (patch) | |
| tree | 0938d637fc389175c346e7e41057f71eb43638d6 /src/util | |
| parent | ce6f2ddbb6c1cd718f3e093e71eddb7ab4a69f07 (diff) | |
| download | ecgen-efa899bab078ef57d55ffbde9343d1320a9b08a0.tar.gz ecgen-efa899bab078ef57d55ffbde9343d1320a9b08a0.tar.zst ecgen-efa899bab078ef57d55ffbde9343d1320a9b08a0.zip | |
Fix discriminant iteration in CM with composite order.
The prime impl is still broken. The family gen is as well.
Diffstat (limited to '')
| -rw-r--r-- | src/util/bits.c | 8 | ||||
| -rw-r--r-- | src/util/random.c | 5 | ||||
| -rw-r--r-- | src/util/str.c | 3 |
3 files changed, 9 insertions, 7 deletions
diff --git a/src/util/bits.c b/src/util/bits.c index 0d60c26..b73a55d 100644 --- a/src/util/bits.c +++ b/src/util/bits.c @@ -174,16 +174,18 @@ char *bits_to_hex(const bits_t *bits) { // else // 0 0 | a b | c d | e // ^-----^ (8-offset zero bits, offset bits from first byte) - // ^-----^ (8-offset bits from first byte, offset bits from second byte) + // ^-----^ (8-offset bits from first byte, offset bits from second + // byte) // .... - // ^-----^ (8-offset bits from second to last byte, offset bits from last byte) + // ^-----^ (8-offset bits from second to last byte, offset bits + // from last byte) for (size_t i = 0; i < BYTE_LEN(bits->bitlen); ++i) { size_t pos = (i * 2) + (bits->sign ? 1 : 0); unsigned char value; if (offset) { value = bits->bits[i] >> (8 - offset); if (i != 0) { - value |= (bits->bits[i-1] & ~(1 << (8 - offset))) << offset; + value |= (bits->bits[i - 1] & ~(1 << (8 - offset))) << offset; } } else { value = bits->bits[i]; diff --git a/src/util/random.c b/src/util/random.c index b88bb50..844e0f6 100644 --- a/src/util/random.c +++ b/src/util/random.c @@ -5,8 +5,8 @@ #define _POSIX_C_SOURCE 200809L #include "random.h" -#include <time.h> #include <stdint.h> +#include <time.h> void random_reseed(void) { pari_ulong seed = 0; @@ -15,7 +15,8 @@ void random_reseed(void) { if (rand) { size_t read = 0; while (read < sizeof(pari_ulong)) { - read += fread(((uint8_t*) &seed) + read, 1, sizeof(pari_ulong) - read, rand); + read += fread(((uint8_t *)&seed) + read, 1, + sizeof(pari_ulong) - read, rand); } fclose(rand); diff --git a/src/util/str.c b/src/util/str.c index ff075f2..ade97a9 100644 --- a/src/util/str.c +++ b/src/util/str.c @@ -68,7 +68,6 @@ char *str_concat(char **strings, size_t len) { size_t str_cnt(const char *str, const char c) { size_t result = 0; - for (; str[result]; str[result] == c ? result++ : *str++) - ; + for (; str[result]; str[result] == c ? result++ : *str++); return result; } |
