diff options
| author | J08nY | 2018-03-28 18:04:06 +0200 |
|---|---|---|
| committer | J08nY | 2018-03-28 18:04:06 +0200 |
| commit | 2f4a68259dec833c77a9598f9c1a5da547e9324d (patch) | |
| tree | 0e5bb14cfe3fe42ab87f216c3e488862e90e5937 /src/math/subgroup.c | |
| parent | bfee3d1ef27c87424b8d5324926593c1d852b91e (diff) | |
| download | ecgen-2f4a68259dec833c77a9598f9c1a5da547e9324d.tar.gz ecgen-2f4a68259dec833c77a9598f9c1a5da547e9324d.tar.zst ecgen-2f4a68259dec833c77a9598f9c1a5da547e9324d.zip | |
Diffstat (limited to 'src/math/subgroup.c')
| -rw-r--r-- | src/math/subgroup.c | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/src/math/subgroup.c b/src/math/subgroup.c index f0f2e19..eb8ff27 100644 --- a/src/math/subgroup.c +++ b/src/math/subgroup.c @@ -3,101 +3,6 @@ * Copyright (C) 2017-2018 J08nY */ #include "subgroup.h" -#include "obj/point.h" -#include "util/memory.h" - -subgroup_t *subgroup_new(void) { return try_calloc(sizeof(subgroup_t)); } - -subgroup_t *subgroup_copy(const subgroup_t *src, subgroup_t *dst) { - if (src->generator) dst->generator = point_new_copy(src->generator); - if (src->points) { - dst->points = points_new_copy(src->points, src->npoints); - dst->npoints = src->npoints; - } - return dst; -} - -subgroup_t *subgroup_new_copy(const subgroup_t *src) { - subgroup_t *result = subgroup_new(); - return subgroup_copy(src, result); -} - -subgroup_t *subgroup_clone(const subgroup_t *src, subgroup_t *dst) { - if (src->generator) dst->generator = point_new_clone(src->generator); - if (src->points) { - dst->points = points_new_clone(src->points, src->npoints); - dst->npoints = src->npoints; - } - return dst; -} - -subgroup_t *subgroup_new_clone(const subgroup_t *src) { - subgroup_t *result = subgroup_new(); - return subgroup_clone(src, result); -} - -void subgroup_free(subgroup_t **subgroup) { - if (*subgroup) { - if ((*subgroup)->generator) { - point_free(&(*subgroup)->generator); - } - try_free(*subgroup); - *subgroup = NULL; - } -} - -void subgroup_free_deep(subgroup_t **subgroup) { - if (*subgroup) { - points_free_deep(&(*subgroup)->points, (*subgroup)->npoints); - subgroup_free(subgroup); - } -} - -subgroup_t **subgroups_new(size_t num) { - return try_calloc(num * sizeof(subgroup_t *)); -} - -subgroup_t **subgroups_copy(subgroup_t **const src, subgroup_t **dest, - size_t num) { - for (size_t i = 0; i < num; ++i) { - dest[i] = subgroup_new_copy(src[i]); - } - return dest; -} - -subgroup_t **subgroups_new_copy(subgroup_t **const src, size_t num) { - subgroup_t **result = subgroups_new(num); - return subgroups_copy(src, result, num); -} - -subgroup_t **subgroups_clone(subgroup_t **const src, subgroup_t **dest, - size_t num) { - for (size_t i = 0; i < num; ++i) { - dest[i] = subgroup_new_clone(src[i]); - } - return dest; -} - -subgroup_t **subgroups_new_clone(subgroup_t **const src, size_t num) { - subgroup_t **result = subgroups_new(num); - return subgroups_clone(src, result, num); -} - -void subgroups_free(subgroup_t ***subgroups) { - if (*subgroups) { - try_free(*subgroups); - *subgroups = NULL; - } -} - -void subgroups_free_deep(subgroup_t ***subgroups, size_t num) { - if (*subgroups) { - for (size_t i = 0; i < num; ++i) { - subgroup_free(&(*subgroups)[i]); - } - subgroups_free(subgroups); - } -} /** * @brief All prime divisors of a given integer with multiplicity. |
