From e6de172371ea203f6393d745641d66c82b5b13e2 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Wed, 19 Dec 2018 12:25:33 +0100 Subject: cpp conversion: move source files in apps/ iso19111/ conversions/ projections/ transformations/ tests/ subdirectories --- src/apps/p_series.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/apps/p_series.cpp (limited to 'src/apps/p_series.cpp') diff --git a/src/apps/p_series.cpp b/src/apps/p_series.cpp new file mode 100644 index 00000000..cddea888 --- /dev/null +++ b/src/apps/p_series.cpp @@ -0,0 +1,42 @@ +/* print row coefficients of Tseries structure */ +#include "projects.h" +#include +#include +#define NF 20 /* length of final format string */ +#define CUT 60 /* check length of line */ + +/* FIXME: put the declaration in a header. Also used in gen_cheb.c */ +void p_series(Tseries *T, FILE *file, char *fmt); + +void p_series(Tseries *T, FILE *file, char *fmt) { + int i, j, n, L; + char format[NF+1]; + + *format = ' '; + strncpy(format + 1, fmt, NF - 3); + strcat(format, "%n"); + fprintf(file, "u: %d\n", T->mu+1); + for (i = 0; i <= T->mu; ++i) + if (T->cu[i].m) { + fprintf(file, "%d %d%n", i, T->cu[i].m, &L); + n = 0; + for (j = 0; j < T->cu[i].m; ++j) { + if ((L += n) > CUT) + fprintf(file, "\n %n", &L); + fprintf(file, format, T->cu[i].c[j], &n); + } + fputc('\n', file); + } + fprintf(file, "v: %d\n", T->mv+1); + for (i = 0; i <= T->mv; ++i) + if (T->cv[i].m) { + fprintf(file, "%d %d%n", i, T->cv[i].m, &L); + n = 0; + for (j = 0; j < T->cv[i].m; ++j) { + if ((L += n) > 60) + fprintf(file, "\n %n", &L); + fprintf(file, format, T->cv[i].c[j], &n); + } + fputc('\n', file); + } +} -- cgit v1.2.3