#include "calcium.h"
#include "ca_ext.h"
void
ca_ext_print(const ca_ext_t x, ca_ctx_t ctx)
{
if (x->head == CA_QQBar)
{
flint_printf("Algebraic ");
if (qqbar_is_i(CA_EXT_QQBAR(x)))
flint_printf("I");
else
{
qqbar_printn(CA_EXT_QQBAR(x), 8);
}
}
else
{
flint_printf("%s", calcium_func_name(CA_EXT_HEAD(x)));
if (CA_EXT_FUNC_NARGS(x) != 0)
{
slong i;
flint_printf("(");
for (i = 0; i < CA_EXT_FUNC_NARGS(x); i++)
{
ca_print(CA_EXT_FUNC_ARGS(x) + i, ctx);
if (i < CA_EXT_FUNC_NARGS(x) - 1)
flint_printf(", ");
}
flint_printf(")");
}
}
}