/*
  Copyright (C) 2022 Hartmut Monien
  This file is part of Arb.
  Arb is free software: you can redistribute it and/or modify it under
  the terms of the GNU Lesser General Public License (LGPL) as published
  by the Free Software Foundation; either version 2.1 of the License, or
  (at your option) any later version.  See .
*/
#include 
#include 
#include "dirichlet.h"
void
dirichlet_char_fprint(FILE *file,
		      const dirichlet_group_t G,
		      const dirichlet_char_t x)
{
  slong k;
  if (G->num)
    flint_fprintf(file, "[%wu", x->log[0]);
  else
    flint_printf("[");
  for (k = 1; k < G->num; k++)
    flint_fprintf(file, ", %wu", x->log[k]);
  flint_fprintf(file, "]");
}
char*
dirichlet_char_get_str(const dirichlet_group_t G,
		       const dirichlet_char_t x)
{
   char * buffer = NULL;
   size_t buffer_size = 0;
   FILE * out = open_memstream(&buffer, &buffer_size);
   dirichlet_char_fprint(out, G, x);
   fclose(out);
   return buffer;
}