From 878bd3fb19c5f876c6852ca5274186850b3c189f Mon Sep 17 00:00:00 2001 From: J08nY Date: Sun, 17 Dec 2017 20:16:16 +0100 Subject: Add seadata to Travis. --- .travis.yml | 7 ++++++- src/exhaustive/brainpool.c | 7 ++++++- src/gen/seed.c | 4 +--- src/util/bits.c | 2 +- test/src/exhaustive/test_brainpool.c | 2 +- test/src/test/default.c | 2 +- 6 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 55210a0..7df44e2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,7 +24,12 @@ before_install: - wget mirrors.kernel.org/ubuntu/pool/universe/p/pari/libpari-dev_2.9.3-1_amd64.deb - wget mirrors.kernel.org/ubuntu/pool/universe/p/pari/pari-gp_2.9.3-1_amd64.deb - wget mirrors.kernel.org/ubuntu/pool/main/r/readline/libreadline7_7.0-0ubuntu2_amd64.deb - - sudo dpkg --force-all -i libreadline7_7.0-0ubuntu2_amd64.deb libpari-gmp-tls5_2.9.3-1_amd64.deb libpari-dev_2.9.3-1_amd64.deb pari-gp_2.9.3-1_amd64.deb + - wget mirrors.kernel.org/ubuntu/pool/main/n/ncurses/libtinfo5_6.0%2B20160625-1ubuntu1_amd64.deb + - wget http://pari.math.u-bordeaux.fr/pub/pari/packages/seadata.tgz + - sudo dpkg --force-all -i libtinfo5_6.0+20160625-1ubuntu1_amd64.deb libreadline7_7.0-0ubuntu2_amd64.deb libpari-gmp-tls5_2.9.3-1_amd64.deb libpari-dev_2.9.3-1_amd64.deb pari-gp_2.9.3-1_amd64.deb + - DATADIR=$(echo "default(datadir)" | gp -q | cut -d\" -f2) + - echo $DATADIR + - sudo tar --strip-components=1 -C ${DATADIR} -xzvf seadata.tgz data/ script: # Test, clean, build for release - TEST=1 make unittest diff --git a/src/exhaustive/brainpool.c b/src/exhaustive/brainpool.c index c45d0d5..fdabd6f 100644 --- a/src/exhaustive/brainpool.c +++ b/src/exhaustive/brainpool.c @@ -109,7 +109,11 @@ GENERATOR(brainpool_gen_field) { GEN c = bits_to_i(p_bits); bits_free(&p_bits); GEN p = c; + pari_sp bbtop = avma; do { + if (p != c) {//yes, check ptr identity here + avma = bbtop; + } p = nextprime(addii(p, gen_1)); } while (mod4(p) != 3); @@ -127,7 +131,7 @@ GENERATOR(brainpool_gen_field) { continue; } - curve->field = p; + curve->field = gcopy(p); gerepileall(btop, 1, &curve->field); break; } while (true); @@ -156,6 +160,7 @@ GENERATOR(brainpool_gen_equation) { avma = btop; continue; } + GEN z; z = Fp_sqrtn(Fp_muls(am, -3, curve->field), stoi(4), curve->field, NULL); diff --git a/src/gen/seed.c b/src/gen/seed.c index 7c1b61e..ad56b18 100644 --- a/src/gen/seed.c +++ b/src/gen/seed.c @@ -36,9 +36,7 @@ seed_t *seed_new_clone(const seed_t *src) { void seed_free(seed_t **seed) { if (*seed) { - if ((*seed)->seed) { - bits_free(&(*seed)->seed); - } + bits_free(&(*seed)->seed); if ((*seed)->hash20) { try_free((*seed)->hash20); } diff --git a/src/util/bits.c b/src/util/bits.c index 5e6a95e..a0a3795 100644 --- a/src/util/bits.c +++ b/src/util/bits.c @@ -151,7 +151,7 @@ GEN bits_to_i(const bits_t *bits) { if (GET_BIT(bits->bits, i) != 0) result = addii(result, int2n(bits->bitlen - i - 1)); } - return gerepileupto(ltop, result); + return gerepilecopy(ltop, result); } char *bits_to_hex(const bits_t *bits) { diff --git a/test/src/exhaustive/test_brainpool.c b/test/src/exhaustive/test_brainpool.c index d5fefe2..80c11e3 100644 --- a/test/src/exhaustive/test_brainpool.c +++ b/test/src/exhaustive/test_brainpool.c @@ -75,7 +75,7 @@ Test(brainpool, test_brainpool_field) { int ret = brainpool_gen_field(&curve, NULL, OFFSET_FIELD); cr_assert_eq(ret, 1, ); cr_assert_not_null(curve.field, ); - cr_assert(isprime(curve.field), ); + cr_assert(isprime(gcopy(curve.field)), ); cr_assert_eq(mod4(curve.field), 3, ); } diff --git a/test/src/test/default.c b/test/src/test/default.c index 27f9525..5a30e79 100644 --- a/test/src/test/default.c +++ b/test/src/test/default.c @@ -9,7 +9,7 @@ void default_setup(void) { memset(cfg, 0, sizeof(config_t)); - pari_init(200000000, 1000000); // 200MB memory, 1M primes + pari_init(200000000, 4000000); // 200MB memory, 4M primes // set_mem_funcs(cr_malloc, cr_simple_calloc, cr_realloc, cr_free); } -- cgit v1.2.3-70-g09d2