imake plotting work with arbitrary scale - ploot - simple plotting tools Err bitreich.org 70
hgit clone git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot URL:git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot bitreich.org 70
1Log /scm/ploot/log.gph bitreich.org 70
1Files /scm/ploot/files.gph bitreich.org 70
1Refs /scm/ploot/refs.gph bitreich.org 70
1Tags /scm/ploot/tag bitreich.org 70
1README /scm/ploot/file/README.md.gph bitreich.org 70
1LICENSE /scm/ploot/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit d97badd46c19a6903a589c41b8b87d044f48f8dc /scm/ploot/commit/d97badd46c19a6903a589c41b8b87d044f48f8dc.gph bitreich.org 70
1parent c9c242228362e465b83fc106675981fd45419228 /scm/ploot/commit/c9c242228362e465b83fc106675981fd45419228.gph bitreich.org 70
hAuthor: Josuah Demangeon <mail@josuah.net> URL:mailto:mail@josuah.net bitreich.org 70
iDate: Wed, 2 May 2018 05:46:29 +0200 Err bitreich.org 70
i Err bitreich.org 70
imake plotting work with arbitrary scale Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M ffplot.c | 2 +- Err bitreich.org 70
i M main.c | 30 +++++++++++++++++++++--------- Err bitreich.org 70
i Err bitreich.org 70
i2 files changed, 22 insertions(+), 10 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/ffplot.c b/ffplot.c /scm/ploot/file/ffplot.c.gph bitreich.org 70
i@@ -159,7 +159,7 @@ graph(Canvas *can, Vlist *v, Err bitreich.org 70
i int x, y, n, xlast, ylast, first; Err bitreich.org 70
i Err bitreich.org 70
i first = 1; Err bitreich.org 70
i- for (tp = v->t, vp = v->v, n = v->n; n-- > 0; n--, vp++, tp++) { Err bitreich.org 70
i+ for (tp = v->t, vp = v->v, n = v->n; n > 0; n--, vp++, tp++) { Err bitreich.org 70
i x = v2x(*vp, vmin, vmax); Err bitreich.org 70
i y = t2y(*tp, tmin, tmax); Err bitreich.org 70
i Err bitreich.org 70
1diff --git a/main.c b/main.c /scm/ploot/file/main.c.gph bitreich.org 70
i@@ -66,6 +66,17 @@ read_labels(Vlist *v, char **argv, char *buf) Err bitreich.org 70
i fputs("more columns than arguments\n", stderr), exit(1); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i+double Err bitreich.org 70
i+eatof(char *str) Err bitreich.org 70
i+{ Err bitreich.org 70
i+ char *s; Err bitreich.org 70
i+ Err bitreich.org 70
i+ for (s = str; *s != '\0'; s++) Err bitreich.org 70
i+ if (!isdigit(*s) && *s != '.') Err bitreich.org 70
i+ fputs("invalid floatrformat", stderr), exit(0); Err bitreich.org 70
i+ return atof(str); Err bitreich.org 70
i+} Err bitreich.org 70
i+ Err bitreich.org 70
i long Err bitreich.org 70
i eatol(char *str) Err bitreich.org 70
i { Err bitreich.org 70
i@@ -78,22 +89,25 @@ eatol(char *str) Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i void Err bitreich.org 70
i-add_value(Vlist *v, int *bufsiz, int nval, char *field) Err bitreich.org 70
i+add_val(Vlist *v, int *bufsiz, int nval, double field, time_t epoch) Err bitreich.org 70
i { Err bitreich.org 70
i if (nval >= *bufsiz) { Err bitreich.org 70
i *bufsiz = *bufsiz * 2 + 1; Err bitreich.org 70
i- if ((v->v = realloc(v->v, *bufsiz)) == NULL) Err bitreich.org 70
i+ if ((v->v = realloc(v->v, *bufsiz * sizeof(*v->v))) == NULL) Err bitreich.org 70
i+ perror("reallocating values buffer"), exit(1); Err bitreich.org 70
i+ if ((v->t = realloc(v->t, *bufsiz * sizeof(*v->t))) == NULL) Err bitreich.org 70
i perror("reallocating values buffer"), exit(1); Err bitreich.org 70
i } Err bitreich.org 70
i- v->v[nval] = eatol(field); Err bitreich.org 70
i- v->n = nval; Err bitreich.org 70
i+ v->v[nval] = field; Err bitreich.org 70
i+ v->t[nval] = epoch; Err bitreich.org 70
i+ v->n = nval + 1; Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i /* Err bitreich.org 70
i * Add to each column the value on the current row. Err bitreich.org 70
i */ Err bitreich.org 70
i void Err bitreich.org 70
i-add_each_value(Vlist *v, int *bufsiz, int ncol, int nval, char *line) Err bitreich.org 70
i+add_row(Vlist *v, int *bufsiz, int ncol, int nval, char *line) Err bitreich.org 70
i { Err bitreich.org 70
i time_t epoch; Err bitreich.org 70
i int n; Err bitreich.org 70
i@@ -103,11 +117,10 @@ add_each_value(Vlist *v, int *bufsiz, int ncol, int nval, char *line) Err bitreich.org 70
i fprintf(stderr, "%d: missing epoch\n", nval), exit(0); Err bitreich.org 70
i Err bitreich.org 70
i epoch = eatol(field); Err bitreich.org 70
i- Err bitreich.org 70
i for (n = 0; (field = strsep(&line, ",")) != NULL; n++, v++) { Err bitreich.org 70
i if (n > ncol) Err bitreich.org 70
i fprintf(stderr, "%d: too many fields\n", nval), exit(0); Err bitreich.org 70
i- add_value(v, bufsiz, nval, field); Err bitreich.org 70
i+ add_val(v, bufsiz, nval, eatof(field), epoch); Err bitreich.org 70
i } Err bitreich.org 70
i if (n < ncol) Err bitreich.org 70
i fprintf(stderr, "%d: too few fields\n", nval), exit(0); Err bitreich.org 70
i@@ -128,9 +141,8 @@ read_values(Vlist *v, int ncol) Err bitreich.org 70
i bufsiz = 0; Err bitreich.org 70
i for (nval = 0; fgets(line, sizeof(line), stdin); nval++) { Err bitreich.org 70
i estriplf(line); Err bitreich.org 70
i- add_each_value(v, &bufsiz, ncol, nval, line); Err bitreich.org 70
i+ add_row(v, &bufsiz, ncol, nval, line); Err bitreich.org 70
i } Err bitreich.org 70
i- fprintf(stderr, "nval: %d, bufsiz: %d\n", nval, bufsiz), fflush(stderr); Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i static void Err bitreich.org 70
.
Response:
text/plain