aboutsummaryrefslogtreecommitdiff
path: root/src/math/subgroups.h
diff options
context:
space:
mode:
authorJ08nY2017-06-01 01:42:33 +0200
committerJ08nY2017-06-01 01:43:04 +0200
commit63427ed3415b25bd29c5e1fe71ef9883d955bfcf (patch)
treed8698513de9899b32004b2906fe071fcca2fc023 /src/math/subgroups.h
parent637702cb14fe7133f3cffe58eaaca4186d67fc43 (diff)
downloadecgen-63427ed3415b25bd29c5e1fe71ef9883d955bfcf.tar.gz
ecgen-63427ed3415b25bd29c5e1fe71ef9883d955bfcf.tar.zst
ecgen-63427ed3415b25bd29c5e1fe71ef9883d955bfcf.zip
Diffstat (limited to 'src/math/subgroups.h')
-rw-r--r--src/math/subgroups.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/math/subgroups.h b/src/math/subgroups.h
new file mode 100644
index 0000000..bd9b29d
--- /dev/null
+++ b/src/math/subgroups.h
@@ -0,0 +1,39 @@
+/*
+ * ecgen, tool for generating Elliptic curve domain parameters
+ * Copyright (C) 2017 J08nY
+ */
+/**
+ * @file subgroups.h
+ */
+#ifndef ECGEN_SUBGROUPS_H
+#define ECGEN_SUBGROUPS_H
+
+#include <pari/pari.h>
+#include "gen/types.h"
+
+/**
+ * @brief Enumerates prime subgroup orders of a given finite group.
+ * @param order group order
+ * @param cfg
+ * @return
+ */
+GEN subgroups_prime(GEN i, const config_t *cfg);
+
+/**
+ * @brief Enumerates nonprime subgroup orders of a given finite group.
+ * @param order group order
+ * @param cfg
+ * @return
+ */
+GEN subgroups_nonprime(GEN order, const config_t *cfg);
+
+/**
+ * @brief Enumerates all subgroup orders of a given finite group.
+ * @param order group order
+ * @param cfg
+ * @return
+ */
+GEN subgroups_all(GEN order, const config_t *cfg);
+
+
+#endif //ECGEN_SUBGROUPS_H