diff options
| author | J08nY | 2018-06-30 16:21:12 +0200 |
|---|---|---|
| committer | J08nY | 2018-06-30 16:21:12 +0200 |
| commit | 3e4c87f12d13cd0a2d139cf8a149874634972afa (patch) | |
| tree | 2f842fbea93e9aecfc539e40c1c1dea1aba228be /src/io/output.c | |
| parent | e5066a307b62b7b64c91add8131d94aef3cfcf42 (diff) | |
| download | ecgen-3e4c87f12d13cd0a2d139cf8a149874634972afa.tar.gz ecgen-3e4c87f12d13cd0a2d139cf8a149874634972afa.tar.zst ecgen-3e4c87f12d13cd0a2d139cf8a149874634972afa.zip | |
Diffstat (limited to 'src/io/output.c')
| -rw-r--r-- | src/io/output.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/io/output.c b/src/io/output.c index 2130614..8ad4ab0 100644 --- a/src/io/output.c +++ b/src/io/output.c @@ -5,6 +5,8 @@ #include "output.h" #include <parson/parson.h> +#include <misc/config.h> +#include <misc/types.h> #include "gen/field.h" #include "util/bits.h" #include "util/memory.h" @@ -120,6 +122,39 @@ static JSON_Value *output_jjson(curve_t *curve) { } json_object_set_value(root_object, "subgroups", gens_value); } + if (cfg->metadata) { + debug_log("here"); + if (curve->meta.j_invariant != NULL) { + char *j = pari_sprintf("%Pi", curve->meta.j_invariant); + json_object_dotset_string(root_object, "meta.j", j); + pari_free(j); + } + debug_log("here"); + if (curve->meta.discriminant != NULL) { + char *disc = pari_sprintf("%Pi", curve->meta.discriminant); + json_object_dotset_string(root_object, "meta.discriminant", disc); + pari_free(disc); + } + debug_log("here"); + if (curve->meta.embedding_degree != NULL) { + char *embedding_degree = pari_sprintf("%Pi", curve->meta.embedding_degree); + json_object_dotset_string(root_object, "meta.embedding_degree", embedding_degree); + pari_free(embedding_degree); + } + debug_log("here"); + if (curve->meta.frobenius_trace != NULL) { + char *frobenius = pari_sprintf("%Pi", curve->meta.frobenius_trace); + json_object_dotset_string(root_object, "meta.frobenius", frobenius); + pari_free(frobenius); + } + debug_log("here"); + if (curve->meta.cm_discriminant != NULL) { + char *cm_discriminant = pari_sprintf("%Pi", curve->meta.cm_discriminant); + json_object_dotset_string(root_object, "meta.cm_discriminant", cm_discriminant); + pari_free(cm_discriminant); + } + debug_log("here"); + } avma = ltop; return root_value; |
