aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile6
-rw-r--r--README.md15
-rw-r--r--docs/points.md (renamed from docs/points.mkd)0
-rw-r--r--src/ecgen.c8
-rw-r--r--src/exhaustive/exhaustive.c5
-rw-r--r--src/exhaustive/exhaustive.h4
-rw-r--r--src/gen/seed.c1
-rw-r--r--src/invalid/invalid.c14
-rw-r--r--src/invalid/invalid_thread.c11
-rw-r--r--src/invalid/invalid_thread.h2
-rw-r--r--src/io/output.c8
-rw-r--r--src/misc/config.h12
-rw-r--r--src/misc/types.h4
-rw-r--r--test/Makefile5
-rw-r--r--test/src/Makefile7
-rw-r--r--test/src/exhaustive/test_ansi.c1
-rw-r--r--test/src/gen/test_gp.c175
-rw-r--r--test/src/math/test_subgroups.c1
-rw-r--r--test/src/test/memory.h2
-rw-r--r--test/src/util/test_bits.c1
20 files changed, 177 insertions, 105 deletions
diff --git a/Makefile b/Makefile
index 303e223..cbe5125 100644
--- a/Makefile
+++ b/Makefile
@@ -19,6 +19,10 @@ clean-all:
rm -rf *.gcov
rm -rf doc/*
+format:
+ +$(MAKE) -C src format
+ +$(MAKE) -C test format
+
docs:
doxygen Doxyfile
@@ -45,7 +49,7 @@ help:
.PHONY: all clean clean-all docs test unittest help
-ifeq (, $(filter all clean clean-all docs test unittest help, $(MAKECMDGOALS)))
+ifeq (, $(filter all clean clean-all format docs test unittest help, $(MAKECMDGOALS)))
# Just pass all targets to a Makefile in src
$(MAKECMDGOALS):
+$(MAKE) -C src $@
diff --git a/README.md b/README.md
index cfff5ed..7e7d8ae 100644
--- a/README.md
+++ b/README.md
@@ -137,20 +137,33 @@ Three different EC curve parameters generation methods are implemented.
### Build
+ecgen can be built using Make or CMake.
+
+#### Make
+
git clone https://github.com/J08nY/ecgen.git
cd ecgen
git submodule update --init
make
+#### CMake
+
+ git clone https://github.com/J08nY/ecgen.git
+ cd ecgen
+ git submodule update --init
+ mkdir build && cd build && cmake .. && make
+
### Requirements
- PARI/GP
-
+ - gcc / clang
ecgen uses the [PARI/GP](http://pari.math.u-bordeaux.fr/) library for elliptic
curve arithmetic and it's SEA point counting algorithm implementation. It also requires the
additional [seadata](http://pari.math.u-bordeaux.fr/packages.html) package (seadata and seadata-big recommended for large curves).
+ecgen uses some extensions supported by the gcc and clang compilers, namely `__thread`-local storage.
+
### Libraries
- `lib/parson` *©MIT*
diff --git a/docs/points.mkd b/docs/points.md
index f931bb4..f931bb4 100644
--- a/docs/points.mkd
+++ b/docs/points.md
diff --git a/src/ecgen.c b/src/ecgen.c
index 713ebbe..685d35f 100644
--- a/src/ecgen.c
+++ b/src/ecgen.c
@@ -24,12 +24,12 @@
* @copyright GPL v2.0
*/
#include <pari/pari.h>
-#include "misc/config.h"
#include "cm/cm.h"
#include "exhaustive/exhaustive.h"
#include "invalid/invalid.h"
#include "io/input.h"
#include "io/output.h"
+#include "misc/config.h"
#include "util/timeout.h"
const char *argp_program_version =
@@ -70,10 +70,10 @@ bool init(void) {
pari_ENDCATCH avma = ltop;
// open outfile
- if (!output_init(cfg)) return false;
+ if (!output_init()) return false;
// open infile
- if (!input_init(cfg)) return false;
+ if (!input_init()) return false;
return true;
}
@@ -137,7 +137,7 @@ int quit(int status) {
*/
int main(int argc, char *argv[]) {
// Parse cli args
- memset(cfg, 0, sizeof(cfg_s));
+ memset(cfg, 0, sizeof(config_t));
argp_parse(&argp, argc, argv, 0, 0, cfg);
if (!init()) {
diff --git a/src/exhaustive/exhaustive.c b/src/exhaustive/exhaustive.c
index 81ca834..5bfdffb 100644
--- a/src/exhaustive/exhaustive.c
+++ b/src/exhaustive/exhaustive.c
@@ -195,7 +195,8 @@ void exhaustive_uinit(unroll_f *unrolls) {
}
int exhaustive_gen_retry(curve_t *curve, const exhaustive_t *setup,
- offset_e start_offset, offset_e end_offset, int retry) {
+ offset_e start_offset, offset_e end_offset,
+ int retry) {
if (start_offset == end_offset) {
return 2;
}
@@ -291,7 +292,7 @@ int exhaustive_gen_retry(curve_t *curve, const exhaustive_t *setup,
}
int exhaustive_gen(curve_t *curve, const exhaustive_t *setup,
- offset_e start_offset, offset_e end_offset) {
+ offset_e start_offset, offset_e end_offset) {
return exhaustive_gen_retry(curve, setup, start_offset, end_offset, 0);
}
diff --git a/src/exhaustive/exhaustive.h b/src/exhaustive/exhaustive.h
index d212e64..720dab9 100644
--- a/src/exhaustive/exhaustive.h
+++ b/src/exhaustive/exhaustive.h
@@ -41,7 +41,7 @@ void exhaustive_uinit(unroll_f *unrolls);
* @return
*/
int exhaustive_gen_retry(curve_t *curve, const exhaustive_t *setup,
- offset_e start_offset, offset_e end_offset, int retry);
+ offset_e start_offset, offset_e end_offset, int retry);
/**
*
@@ -52,7 +52,7 @@ int exhaustive_gen_retry(curve_t *curve, const exhaustive_t *setup,
* @return
*/
int exhaustive_gen(curve_t *curve, const exhaustive_t *setup,
- offset_e start_offset, offset_e end_offset);
+ offset_e start_offset, offset_e end_offset);
/**
*
diff --git a/src/gen/seed.c b/src/gen/seed.c
index f349982..a13588e 100644
--- a/src/gen/seed.c
+++ b/src/gen/seed.c
@@ -4,7 +4,6 @@
*/
#include "seed.h"
-#include <misc/types.h>
#include "util/bits.h"
#include "util/memory.h"
diff --git a/src/invalid/invalid.c b/src/invalid/invalid.c
index e908aa4..4533020 100644
--- a/src/invalid/invalid.c
+++ b/src/invalid/invalid.c
@@ -92,8 +92,8 @@ static size_t invalid_primes(GEN order, pari_ulong **primes) {
}
static size_t invalid_curves_single(const curve_t *curve, pari_ulong *primes,
- size_t nprimes, curve_t **curves,
- exhaustive_t *setup) {
+ size_t nprimes, curve_t **curves,
+ exhaustive_t *setup) {
arg_t *invalid_argss[OFFSET_END] = {NULL};
exhaustive_t invalid_setup = {.generators = setup->generators,
.validators = setup->validators,
@@ -129,7 +129,8 @@ static size_t invalid_curves_single(const curve_t *curve, pari_ulong *primes,
if (total > 0) {
if (!exhaustive_gen_retry(invalid, setup, OFFSET_GENERATORS,
OFFSET_POINTS, 1)) {
- curve_unroll(invalid, avma, btop); // necessary to free the ellinit
+ curve_unroll(invalid, avma,
+ btop); // necessary to free the ellinit
avma = btop;
continue;
}
@@ -156,8 +157,7 @@ static size_t invalid_curves_single(const curve_t *curve, pari_ulong *primes,
* generate prime order points, this is expensive (order needs to be
* factorised, so only do it if we want the curve)
*/
- exhaustive_gen(invalid, &invalid_setup, OFFSET_POINTS,
- OFFSET_END);
+ exhaustive_gen(invalid, &invalid_setup, OFFSET_POINTS, OFFSET_END);
size_t count = 0;
for (size_t i = nprimes; i-- > 0;) {
@@ -209,8 +209,8 @@ static size_t invalid_curves_single(const curve_t *curve, pari_ulong *primes,
}
static size_t invalid_curves_threaded(const curve_t *curve, pari_ulong *primes,
- size_t nprimes, curve_t **curves,
- exhaustive_t *setup) {
+ size_t nprimes, curve_t **curves,
+ exhaustive_t *setup) {
pthread_t pthreads[cfg->threads];
thread_t threads[cfg->threads];
struct pari_thread pari_threads[cfg->threads];
diff --git a/src/invalid/invalid_thread.c b/src/invalid/invalid_thread.c
index 8967d31..255c61f 100644
--- a/src/invalid/invalid_thread.c
+++ b/src/invalid/invalid_thread.c
@@ -23,8 +23,7 @@ void *invalid_thread(void *arg) {
while (*thread->generated < thread->nprimes) {
pari_sp btop = avma;
- exhaustive_gen(invalid, thread->setup, OFFSET_B,
- OFFSET_GENERATORS);
+ exhaustive_gen(invalid, thread->setup, OFFSET_B, OFFSET_GENERATORS);
size_t ndivides = 0;
for (size_t i = thread->nprimes; i-- > 0;) {
if (dvdis(invalid->order, thread->primes[i])) {
@@ -34,8 +33,8 @@ void *invalid_thread(void *arg) {
}
if (ndivides > 0 &&
- exhaustive_gen_retry(invalid, &invalid_setup,
- OFFSET_GENERATORS, OFFSET_POINTS, 1)) {
+ exhaustive_gen_retry(invalid, &invalid_setup, OFFSET_GENERATORS,
+ OFFSET_POINTS, 1)) {
pthread_mutex_lock(thread->mutex_state);
size_t nfree = 0;
// can be up to ndivides, but also lower...
@@ -54,8 +53,8 @@ void *invalid_thread(void *arg) {
if (nfree > 0) {
arg_t prime_divisors = {primes, nprimes};
invalid_argss[OFFSET_POINTS] = &prime_divisors;
- exhaustive_gen(invalid, &invalid_setup,
- OFFSET_POINTS, OFFSET_END);
+ exhaustive_gen(invalid, &invalid_setup, OFFSET_POINTS,
+ OFFSET_END);
pthread_mutex_lock(thread->mutex_state);
size_t count = 0;
diff --git a/src/invalid/invalid_thread.h b/src/invalid/invalid_thread.h
index e93bbda..d05c29a 100644
--- a/src/invalid/invalid_thread.h
+++ b/src/invalid/invalid_thread.h
@@ -8,8 +8,8 @@
#ifndef ECGEN_INVALID_THREAD_H
#define ECGEN_INVALID_THREAD_H
-#include <exhaustive/exhaustive.h>
#include <pthread.h>
+#include "exhaustive/exhaustive.h"
#include "misc/types.h"
typedef enum { STATE_FREE, STATE_GENERATING, STATE_GENERATED } state_e;
diff --git a/src/io/output.c b/src/io/output.c
index 2b6358f..01332b2 100644
--- a/src/io/output.c
+++ b/src/io/output.c
@@ -250,9 +250,7 @@ char *output_sjson(curve_t *curve) {
return result;
}
-char *output_sjson_separator() {
- return output_malloc(",\n");
-}
+char *output_sjson_separator() { return output_malloc(",\n"); }
char *output_sjson_begin() { return output_malloc("[\n"); }
@@ -266,9 +264,7 @@ void output_f(FILE *out, curve_t *curve) {
}
}
-void output_o(curve_t *curve) {
- output_f(out, curve);
-}
+void output_o(curve_t *curve) { output_f(out, curve); }
void output_f_separator(FILE *out) {
char *s = output_s_separator();
diff --git a/src/misc/config.h b/src/misc/config.h
index 0a534ef..2ad6736 100644
--- a/src/misc/config.h
+++ b/src/misc/config.h
@@ -48,7 +48,8 @@ typedef struct {
bool random;
/** @brief Whether the curves should have prime order. */
bool prime;
- /** @brief Whether the curves should be generated as invalid, for some curve. */
+ /** @brief Whether the curves should be generated as invalid, for some
+ * curve. */
bool invalid;
/** @brief Whether the Complex Multiplication method should be used. */
bool cm;
@@ -65,7 +66,8 @@ typedef struct {
seed_e seed_algo;
/** @brief What seed to use, if any, to generate the curves. */
char *seed;
- /** @brief Whether the curves should be uniquely generated (one generator). */
+ /** @brief Whether the curves should be uniquely generated (one generator).
+ */
bool unique;
/** @brief What points to generate on the curves. */
struct points_s points;
@@ -74,11 +76,13 @@ typedef struct {
char *datadir;
/** @brief How much memory to allocate for the PARI stack. */
unsigned long memory;
- /** @brief How many threads to use, only useful for invalid generation(atm). */
+ /** @brief How many threads to use, only useful for invalid generation(atm).
+ */
unsigned long threads;
/** @brief How much memory to allocate for the PARI stack, per thread. */
unsigned long thread_memory;
- /** @brief How long of a timeout interval, if any, to give to parameter generation. */
+ /** @brief How long of a timeout interval, if any, to give to parameter
+ * generation. */
unsigned long timeout;
/** @brief What output format to use. */
diff --git a/src/misc/types.h b/src/misc/types.h
index 3cb3fd4..aecf207 100644
--- a/src/misc/types.h
+++ b/src/misc/types.h
@@ -118,7 +118,7 @@ typedef struct {
* @param state The current generation state
* @return state diff
*/
-#define GENERATOR(gen_name) \
+#define GENERATOR(gen_name) \
int gen_name(curve_t *curve, arg_t *args, offset_e state)
typedef GENERATOR((*gen_f));
@@ -130,7 +130,7 @@ typedef GENERATOR((*gen_f));
* @param to
* @return
*/
-#define UNROLL(unroll_name) \
+#define UNROLL(unroll_name) \
int unroll_name(curve_t *curve, pari_sp from, pari_sp to)
typedef UNROLL((*unroll_f));
diff --git a/test/Makefile b/test/Makefile
index 825aa4f..0823862 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -24,4 +24,7 @@ clean:
clean-all:
cd lib/criterion && rm -rf build
- +$(MAKE) -C src clean-all \ No newline at end of file
+ +$(MAKE) -C src clean-all
+
+format:
+ +$(MAKE) -C src format \ No newline at end of file
diff --git a/test/src/Makefile b/test/src/Makefile
index 33e4bdf..5005303 100644
--- a/test/src/Makefile
+++ b/test/src/Makefile
@@ -17,6 +17,7 @@ INCLUDES = -I. -I../../src -I../../lib -I../lib/criterion/include
LIBS = -lrt -lpari -lpthread -lparson -lsha1 -lcriterion
TEST_SRC = $(wildcard *.c) $(wildcard */*.c)
+TEST_HDR = $(wildcard */*.h)
TEST_OBJ = $(patsubst %.c,%.o, $(TEST_SRC))
TESTS = $(patsubst %.c,%, $(TEST_SRC))
@@ -41,4 +42,8 @@ clean:
clean-cov:
find . -type f -name '*.gcda' -exec rm {} +
find . -type f -name '*.gcno' -exec rm {} +
- find . -type f -name '*.gcov' -exec rm {} + \ No newline at end of file
+ find . -type f -name '*.gcov' -exec rm {} +
+
+format:
+ clang-format -i $(TEST_SRC)
+ clang-format -i $(TEST_HDR) \ No newline at end of file
diff --git a/test/src/exhaustive/test_ansi.c b/test/src/exhaustive/test_ansi.c
index 370cf7e..94c89eb 100644
--- a/test/src/exhaustive/test_ansi.c
+++ b/test/src/exhaustive/test_ansi.c
@@ -5,7 +5,6 @@
#include <criterion/criterion.h>
#include <criterion/parameterized.h>
-#include <misc/config.h>
#include "exhaustive/ansi.h"
#include "gen/field.h"
#include "gen/seed.h"
diff --git a/test/src/gen/test_gp.c b/test/src/gen/test_gp.c
index 8ec5e2c..9e3e1a9 100644
--- a/test/src/gen/test_gp.c
+++ b/test/src/gen/test_gp.c
@@ -3,7 +3,6 @@
* Copyright (C) 2017 J08nY
*/
#include <criterion/criterion.h>
-#include <misc/types.h>
#include "gen/gp.h"
#include "test/default.h"
#include "util/bits.h"
@@ -15,10 +14,10 @@ Test(gp, test_gp_gen_seed) {
arg_t arg = {.args = "() -> { return(Vecsmall([1,0])); }", .nargs = 1};
int ret = gp_gen(&curve, &arg, OFFSET_SEED);
- cr_assert_eq(ret, 1,);
- cr_assert_not_null(curve.seed,);
- cr_assert_not_null(curve.seed->seed,);
- cr_assert(bits_eq(curve.seed->seed, bits_from_bin("10")),);
+ cr_assert_eq(ret, 1, );
+ cr_assert_not_null(curve.seed, );
+ cr_assert_not_null(curve.seed->seed, );
+ cr_assert(bits_eq(curve.seed->seed, bits_from_bin("10")), );
}
Test(gp, test_gp_gen_field) {
@@ -26,17 +25,18 @@ Test(gp, test_gp_gen_field) {
arg_t arg = {.args = "(seed) -> { return(19); }", .nargs = 1};
int ret = gp_gen(&curve, &arg, OFFSET_FIELD);
- cr_assert_eq(ret, 1,);
- cr_assert(gequal(curve.field, stoi(19)),);
+ cr_assert_eq(ret, 1, );
+ cr_assert(gequal(curve.field, stoi(19)), );
}
Test(gp, test_gp_gen_a) {
curve_t curve = {.field = stoi(19)};
- arg_t arg = {.args = "(seed, field) -> { return(Mod(3,field)); }", .nargs = 1};
+ arg_t arg = {.args = "(seed, field) -> { return(Mod(3,field)); }",
+ .nargs = 1};
int ret = gp_gen(&curve, &arg, OFFSET_A);
- cr_assert_eq(ret, 1,);
- cr_assert(gequal(curve.a, mkintmodu(3, 19)),);
+ cr_assert_eq(ret, 1, );
+ cr_assert(gequal(curve.a, mkintmodu(3, 19)), );
}
Test(gp, test_gp_gen_b) {
@@ -44,155 +44,206 @@ Test(gp, test_gp_gen_b) {
arg_t arg = {.args = "(seed, field, a) -> { return(a * 2); }", .nargs = 1};
int ret = gp_gen(&curve, &arg, OFFSET_B);
- cr_assert_eq(ret, 1,);
- cr_assert(gequal(curve.b, mkintmodu(6, 19)),);
+ cr_assert_eq(ret, 1, );
+ cr_assert(gequal(curve.b, mkintmodu(6, 19)), );
}
Test(gp, test_gp_gen_curve) {
- curve_t curve = {.field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(6, 19)};
- arg_t arg = {.args = "(seed, field, a, b) -> { return(ellinit([a,b], field)); }", .nargs = 1};
+ curve_t curve = {
+ .field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(6, 19)};
+ arg_t arg = {
+ .args = "(seed, field, a, b) -> { return(ellinit([a,b], field)); }",
+ .nargs = 1};
int ret = gp_gen(&curve, &arg, OFFSET_CURVE);
- cr_assert_eq(ret, 1,);
- cr_assert(gequal(curve.curve, ellinit(mkvec2(curve.a, curve.b), curve.field, 0)),);
+ cr_assert_eq(ret, 1, );
+ cr_assert(gequal(curve.curve,
+ ellinit(mkvec2(curve.a, curve.b), curve.field, 0)), );
}
Test(gp, test_gp_gen_order) {
- curve_t curve = {.field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(6, 19),
- .curve = ellinit(mkvec2(stoi(3), stoi(6)), stoi(19), 0)};
- arg_t arg = {.args = "(seed, field, a, b, curve) -> { return(ellsea(curve)); }", .nargs = 1};
+ curve_t curve = {.field = stoi(19),
+ .a = mkintmodu(3, 19),
+ .b = mkintmodu(6, 19),
+ .curve = ellinit(mkvec2(stoi(3), stoi(6)), stoi(19), 0)};
+ arg_t arg = {
+ .args = "(seed, field, a, b, curve) -> { return(ellsea(curve)); }",
+ .nargs = 1};
int ret = gp_gen(&curve, &arg, OFFSET_ORDER);
- cr_assert_eq(ret, 1,);
- cr_assert(gequal(ellsea(curve.curve, 0), curve.order),);
+ cr_assert_eq(ret, 1, );
+ cr_assert(gequal(ellsea(curve.curve, 0), curve.order), );
}
Test(gp, test_gp_gen_generators) {
- curve_t curve = {.field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(6, 19),
- .curve = ellinit(mkvec2(stoi(3), stoi(6)), stoi(19), 0), .order = stoi(16)
- };
- arg_t arg = {.args = "(seed, field, a, b, curve, order) -> { return(ellgenerators(curve)); }", .nargs = 1};
+ curve_t curve = {.field = stoi(19),
+ .a = mkintmodu(3, 19),
+ .b = mkintmodu(6, 19),
+ .curve = ellinit(mkvec2(stoi(3), stoi(6)), stoi(19), 0),
+ .order = stoi(16)};
+ arg_t arg = {.args =
+ "(seed, field, a, b, curve, order) -> { "
+ "return(ellgenerators(curve)); }",
+ .nargs = 1};
int ret = gp_gen(&curve, &arg, OFFSET_GENERATORS);
- cr_assert_eq(ret, 1,);
+ cr_assert_eq(ret, 1, );
GEN ellgens = ellgenerators(curve.curve);
long len = glength(ellgens);
- cr_assert_eq(len, curve.ngens,);
+ cr_assert_eq(len, curve.ngens, );
for (long i = 1; i <= len; ++i) {
- cr_assert(gequal(gel(ellgens, i), curve.generators[i - 1]->point),);
+ cr_assert(gequal(gel(ellgens, i), curve.generators[i - 1]->point), );
}
}
Test(gp, test_gp_gen_points) {
- curve_t curve = {.field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(6, 19),
- .curve = ellinit(mkvec2(stoi(3), stoi(6)), stoi(19), 0), .order = stoi(16),
+ curve_t curve = {
+ .field = stoi(19),
+ .a = mkintmodu(3, 19),
+ .b = mkintmodu(6, 19),
+ .curve = ellinit(mkvec2(stoi(3), stoi(6)), stoi(19), 0),
+ .order = stoi(16),
};
- point_t gen = {.point = mkvec2(mkintmodu(4,19), mkintmodu(14,19))};
+ point_t gen = {.point = mkvec2(mkintmodu(4, 19), mkintmodu(14, 19))};
point_t *generators[1] = {&gen};
curve.generators = generators;
curve.ngens = 1;
- arg_t arg = {.args = "(seed, field, a, b, curve, order, gens) -> { return([ellmul(curve,gens[1],2)]); }", .nargs = 1};
+ arg_t arg = {.args =
+ "(seed, field, a, b, curve, order, gens) -> { "
+ "return([ellmul(curve,gens[1],2)]); }",
+ .nargs = 1};
int ret = gp_gen(&curve, &arg, OFFSET_POINTS);
- cr_assert_eq(ret, 1,);
- cr_assert_eq(curve.npoints, 1,);
- cr_assert(gequal(curve.points[0]->point, ellmul(curve.curve, gen.point, stoi(2))),);
+ cr_assert_eq(ret, 1, );
+ cr_assert_eq(curve.npoints, 1, );
+ cr_assert(gequal(curve.points[0]->point,
+ ellmul(curve.curve, gen.point, stoi(2))), );
}
Test(gp, test_gp_check_seed) {
seed_t seed = {.seed = bits_from_hex("ff")};
curve_t curve = {.seed = &seed};
- arg_t arg = {.args="(seed) -> { return(1);}"};
+ arg_t arg = {.args = "(seed) -> { return(1);}"};
int ret = gp_check(&curve, &arg, OFFSET_SEED);
- cr_assert_eq(ret, 1,);
+ cr_assert_eq(ret, 1, );
}
Test(gp, test_gp_check_field) {
seed_t seed = {.seed = bits_from_hex("ff")};
curve_t curve = {.seed = &seed, .field = stoi(19)};
- arg_t arg = {.args="(seed, field) -> { if(field == 19, return(1));}"};
+ arg_t arg = {.args = "(seed, field) -> { if(field == 19, return(1));}"};
int ret = gp_check(&curve, &arg, OFFSET_FIELD);
- cr_assert_eq(ret, 1,);
+ cr_assert_eq(ret, 1, );
}
Test(gp, test_gp_check_a) {
seed_t seed = {.seed = bits_from_hex("ff")};
curve_t curve = {.seed = &seed, .field = stoi(19), .a = mkintmodu(3, 19)};
- arg_t arg = {.args="(seed, field, a) -> { if(a == Mod(3,19), return(1));}"};
+ arg_t arg = {.args =
+ "(seed, field, a) -> { if(a == Mod(3,19), return(1));}"};
int ret = gp_check(&curve, &arg, OFFSET_A);
- cr_assert_eq(ret, 1,);
+ cr_assert_eq(ret, 1, );
}
Test(gp, test_gp_check_b) {
seed_t seed = {.seed = bits_from_hex("ff")};
- curve_t curve = {.seed = &seed, .field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(5, 19)};
+ curve_t curve = {.seed = &seed,
+ .field = stoi(19),
+ .a = mkintmodu(3, 19),
+ .b = mkintmodu(5, 19)};
- arg_t arg = {.args="(seed, field, a, b) -> { if(b == Mod(5,19), return(1));}"};
+ arg_t arg = {
+ .args = "(seed, field, a, b) -> { if(b == Mod(5,19), return(1));}"};
int ret = gp_check(&curve, &arg, OFFSET_B);
- cr_assert_eq(ret, 1,);
+ cr_assert_eq(ret, 1, );
}
Test(gp, test_gp_check_curve) {
seed_t seed = {.seed = bits_from_hex("ff")};
- curve_t curve = {.seed = &seed, .field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(5, 19),
- .curve = ellinit(mkvec2(stoi(3), stoi(5)), stoi(19), 0)};
+ curve_t curve = {.seed = &seed,
+ .field = stoi(19),
+ .a = mkintmodu(3, 19),
+ .b = mkintmodu(5, 19),
+ .curve = ellinit(mkvec2(stoi(3), stoi(5)), stoi(19), 0)};
- arg_t arg = {.args="(seed, field, a, b, curve) -> { if(curve == ellinit([3, 5], 19), return(1));}"};
+ arg_t arg = {.args =
+ "(seed, field, a, b, curve) -> { if(curve == ellinit([3, "
+ "5], 19), return(1));}"};
int ret = gp_check(&curve, &arg, OFFSET_CURVE);
- cr_assert_eq(ret, 1,);
+ cr_assert_eq(ret, 1, );
}
Test(gp, test_gp_check_order) {
seed_t seed = {.seed = bits_from_hex("ff")};
- curve_t curve = {.seed = &seed, .field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(5, 19),
- .curve = ellinit(mkvec2(stoi(3), stoi(5)), stoi(19), 0), .order = stoi(16)};
+ curve_t curve = {.seed = &seed,
+ .field = stoi(19),
+ .a = mkintmodu(3, 19),
+ .b = mkintmodu(5, 19),
+ .curve = ellinit(mkvec2(stoi(3), stoi(5)), stoi(19), 0),
+ .order = stoi(16)};
- arg_t arg = {.args="(seed, field, a, b, curve, order) -> { if(order == 16, return(1));}"};
+ arg_t arg = {.args =
+ "(seed, field, a, b, curve, order) -> { if(order == 16, "
+ "return(1));}"};
int ret = gp_check(&curve, &arg, OFFSET_ORDER);
- cr_assert_eq(ret, 1,);
+ cr_assert_eq(ret, 1, );
}
Test(gp, test_gp_check_generators) {
seed_t seed = {.seed = bits_from_hex("ff")};
- curve_t curve = {.seed = &seed, .field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(6, 19),
- .curve = ellinit(mkvec2(stoi(3), stoi(6)), stoi(19), 0), .order = stoi(16),
+ curve_t curve = {
+ .seed = &seed,
+ .field = stoi(19),
+ .a = mkintmodu(3, 19),
+ .b = mkintmodu(6, 19),
+ .curve = ellinit(mkvec2(stoi(3), stoi(6)), stoi(19), 0),
+ .order = stoi(16),
};
- point_t gen = {.point = mkvec2(mkintmodu(4,19), mkintmodu(14,19))};
+ point_t gen = {.point = mkvec2(mkintmodu(4, 19), mkintmodu(14, 19))};
point_t *generators[1] = {&gen};
curve.generators = generators;
curve.ngens = 1;
- arg_t arg = {.args="(seed, field, a, b, curve, order, gens) -> { if(gens == ellgenerators(curve), return(1));}"};
+ arg_t arg = {.args =
+ "(seed, field, a, b, curve, order, gens) -> { if(gens == "
+ "ellgenerators(curve), return(1));}"};
int ret = gp_check(&curve, &arg, OFFSET_GENERATORS);
- cr_assert_eq(ret, 1,);
+ cr_assert_eq(ret, 1, );
}
Test(gp, test_gp_check_points) {
seed_t seed = {.seed = bits_from_hex("ff")};
- curve_t curve = {.seed = &seed, .field = stoi(19), .a = mkintmodu(3, 19), .b = mkintmodu(6, 19),
- .curve = ellinit(mkvec2(stoi(3), stoi(6)), stoi(19), 0), .order = stoi(16),
+ curve_t curve = {
+ .seed = &seed,
+ .field = stoi(19),
+ .a = mkintmodu(3, 19),
+ .b = mkintmodu(6, 19),
+ .curve = ellinit(mkvec2(stoi(3), stoi(6)), stoi(19), 0),
+ .order = stoi(16),
};
- point_t gen = {.point = mkvec2(mkintmodu(4,19), mkintmodu(14,19))};
+ point_t gen = {.point = mkvec2(mkintmodu(4, 19), mkintmodu(14, 19))};
point_t *generators[1] = {&gen};
curve.generators = generators;
curve.ngens = 1;
curve.points = generators;
curve.npoints = 1;
- arg_t arg = {.args="(seed, field, a, b, curve, order, gens, points) -> { if(points == ellgenerators(curve), return(1));}"};
+ arg_t arg = {.args =
+ "(seed, field, a, b, curve, order, gens, points) -> { "
+ "if(points == ellgenerators(curve), return(1));}"};
int ret = gp_check(&curve, &arg, OFFSET_POINTS);
- cr_assert_eq(ret, 1,);
+ cr_assert_eq(ret, 1, );
} \ No newline at end of file
diff --git a/test/src/math/test_subgroups.c b/test/src/math/test_subgroups.c
index a4de20e..f944a4f 100644
--- a/test/src/math/test_subgroups.c
+++ b/test/src/math/test_subgroups.c
@@ -3,7 +3,6 @@
* Copyright (C) 2017 J08nY
*/
#include <criterion/criterion.h>
-#include <misc/config.h>
#include "gen/point.h"
#include "math/subgroups.h"
#include "test/default.h"
diff --git a/test/src/test/memory.h b/test/src/test/memory.h
index f155789..630aeb5 100644
--- a/test/src/test/memory.h
+++ b/test/src/test/memory.h
@@ -13,4 +13,4 @@ void *cr_memdup(const void *str, size_t len);
void *cr_simple_calloc(size_t size);
-#endif //ECGEN_TEST_MEMORY_H
+#endif // ECGEN_TEST_MEMORY_H
diff --git a/test/src/util/test_bits.c b/test/src/util/test_bits.c
index 752cd59..70060c9 100644
--- a/test/src/util/test_bits.c
+++ b/test/src/util/test_bits.c
@@ -5,7 +5,6 @@
#include <criterion/criterion.h>
#include <criterion/parameterized.h>
-#include <misc/types.h>
#include "test/default.h"
#include "test/memory.h"
#include "util/bits.h"