aboutsummaryrefslogtreecommitdiff
path: root/src/gen/curve.c
diff options
context:
space:
mode:
authorJ08nY2018-03-28 17:40:46 +0200
committerJ08nY2018-03-28 17:41:08 +0200
commitbfee3d1ef27c87424b8d5324926593c1d852b91e (patch)
tree3fbc4a67aab966b9e3053eb3db6cea4f032b2b88 /src/gen/curve.c
parent97149b9104569f70dc0eec47e2e0df4d8d05022d (diff)
downloadecgen-bfee3d1ef27c87424b8d5324926593c1d852b91e.tar.gz
ecgen-bfee3d1ef27c87424b8d5324926593c1d852b91e.tar.zst
ecgen-bfee3d1ef27c87424b8d5324926593c1d852b91e.zip
Diffstat (limited to 'src/gen/curve.c')
-rw-r--r--src/gen/curve.c74
1 files changed, 0 insertions, 74 deletions
diff --git a/src/gen/curve.c b/src/gen/curve.c
index da4a630..7ea2fb5 100644
--- a/src/gen/curve.c
+++ b/src/gen/curve.c
@@ -3,81 +3,7 @@
* Copyright (C) 2017-2018 J08nY
*/
#include "curve.h"
-#include "math/subgroup.h"
#include "math/twists.h"
-#include "seed.h"
-#include "util/memory.h"
-
-curve_t *curve_new(void) { return try_calloc(sizeof(curve_t)); }
-
-curve_t *curve_copy(const curve_t *src, curve_t *dest) {
- if (src->seed) dest->seed = seed_new_copy(src->seed);
- if (src->field) dest->field = gcopy(src->field);
- if (src->a) dest->a = gcopy(src->a);
- if (src->b) dest->b = gcopy(src->b);
- if (src->curve) dest->curve = gcopy(src->curve);
- if (src->order) dest->order = gcopy(src->order);
- if (src->generators) {
- dest->generators = subgroups_new_copy(src->generators, src->ngens);
- dest->ngens = src->ngens;
- }
- return dest;
-}
-
-curve_t *curve_new_copy(const curve_t *src) {
- curve_t *result = curve_new();
- return curve_copy(src, result);
-}
-
-curve_t *curve_clone(const curve_t *src, curve_t *dest) {
- if (src->seed) dest->seed = seed_new_clone(src->seed);
- if (src->field) dest->field = gclone(src->field);
- if (src->a) dest->a = gclone(src->a);
- if (src->b) dest->b = gclone(src->b);
- if (src->curve) dest->curve = gclone(src->curve);
- if (src->order) dest->order = gclone(src->order);
- if (src->generators) {
- dest->generators = subgroups_new_clone(src->generators, src->ngens);
- dest->ngens = src->ngens;
- }
- return dest;
-}
-
-curve_t *curve_new_clone(const curve_t *src) {
- curve_t *result = curve_new();
- return curve_clone(src, result);
-}
-
-void curve_free(curve_t **curve) {
- if (*curve) {
- seed_free(&(*curve)->seed);
- subgroups_free_deep(&(*curve)->generators, (*curve)->ngens);
-
- if ((*curve)->curve) {
- // TODO, this is possibly dangerous...
- obj_free((*curve)->curve);
- if (isclone((*curve)->curve)) {
- gunclone((*curve)->curve);
- }
- }
-
- if ((*curve)->field && isclone((*curve)->field)) {
- gunclone((*curve)->field);
- }
- if ((*curve)->a && isclone((*curve)->a)) {
- gunclone((*curve)->a);
- }
- if ((*curve)->b && isclone((*curve)->b)) {
- gunclone((*curve)->b);
- }
- if ((*curve)->order && isclone((*curve)->order)) {
- gunclone((*curve)->order);
- }
-
- try_free(*curve);
- *curve = NULL;
- }
-}
GENERATOR(curve_gen_any) {
pari_sp ltop = avma;