diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2016-10-26 21:13:00 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2016-10-26 21:13:00 (GMT) |
commit | da2e3d212171bbe64c1af39114fd067308656990 (patch) | |
tree | 9601f7ed15fa1394762124630c12a792bc073ec2 /funtools/doc/evread.c | |
parent | 76b109ad6d97d19ab835596dc70149ef379f3733 (diff) | |
download | blt-da2e3d212171bbe64c1af39114fd067308656990.zip blt-da2e3d212171bbe64c1af39114fd067308656990.tar.gz blt-da2e3d212171bbe64c1af39114fd067308656990.tar.bz2 |
rm funtools for update
Diffstat (limited to 'funtools/doc/evread.c')
-rw-r--r-- | funtools/doc/evread.c | 304 |
1 files changed, 0 insertions, 304 deletions
diff --git a/funtools/doc/evread.c b/funtools/doc/evread.c deleted file mode 100644 index aad5a13..0000000 --- a/funtools/doc/evread.c +++ /dev/null @@ -1,304 +0,0 @@ -/* - * - * evread.c -- example program for reading rows in different ways - * - */ - -#include <funtools.h> - -#define MAXROW 10000 - -extern char *optarg; -extern int optind; - -/* single event (used in array of structs) */ -typedef struct evstruct{ - short region; - double x, y; - int pi, pha; - double time; - double dx, dy; -} *Ev, EvRec; - -/* arrays of columns (used in struct of arrays) */ -typedef struct aevstruct{ - short region[MAXROW]; - double x[MAXROW], y[MAXROW]; - int pi[MAXROW], pha[MAXROW]; - double time[MAXROW]; - double dx[MAXROW], dy[MAXROW]; -} *AEv, AEvRec; - -/* pointers to arrays of columns (used in struct of arrays) */ -typedef struct pevstruct{ - short *region; - double *x, *y; - int *pi, *pha; - double *time; - double *dx, *dy; -} *PEv, PEvRec; - -#ifdef ANSI_FUNC -int -main (int argc, char **argv) -#else -main(argc, argv) - int argc; - char **argv; -#endif -{ - int i; - int c; - int got; - int put; - int args; - int doev=0; - int doualloc=0; - char *mode="r"; - char *iname; - char *oname=NULL; - char *params=NULL; - Fun fun=NULL; - Fun ofun=NULL; - void *buf=NULL; - Ev ev, ebuf=NULL; - AEv aev, abuf=NULL; - PEv pev, pbuf=NULL; - - /* process switch arguments */ - while ((c = getopt(argc, argv, "aepuw:")) != -1){ - switch(c){ - case 'a': - doev = 1; - params = "org=soa"; - break; - case 'e': - doev = 0; - params = "org=aos"; - break; - case 'f': - doev = 3; - params = "org=aos"; - break; - case 'p': - doev = 2; - params = "org=soa"; - break; - case 'u': - doualloc = 1; - break; - case 'w': - oname = optarg; - mode = "rw"; - break; - } - } - - /* check for required arguments */ - args = argc - optind; - if( args == 0 ) - iname = "test.ev[EVENTS]"; - else - iname = argv[optind]; - - /* open input file */ - if( !(fun = FunOpen(iname, "r", NULL)) ){ - gerror(stderr, "could not FunOpen %s\n", iname); - exit(1); - } - - /* open output file, if necessary */ - if( oname ){ - if( !(ofun = FunOpen(oname, "w", fun)) ){ - gerror(stderr, "could not FunOpen outout %s\n", oname); - exit(1); - } - } - - /* specify columns we want */ - switch(doev){ - /* array of structs */ - case 0: - got = FunColumnSelect(fun, sizeof(EvRec), params, - "$region", "I", mode, FUN_OFFSET(Ev, region), - "x", "D:10:10", mode, FUN_OFFSET(Ev, x), - "y", "D:10:10", mode, FUN_OFFSET(Ev, y), - "dx", "D:10:10", mode, FUN_OFFSET(Ev, dx), - "dy", "D:10:10", mode, FUN_OFFSET(Ev, dy), - "pi", "J", mode, FUN_OFFSET(Ev, pi), - "pha", "J", mode, FUN_OFFSET(Ev, pha), - "time", "1D", mode, FUN_OFFSET(Ev, time), - NULL); - if( doualloc ){ - ebuf = calloc(MAXROW, sizeof(EvRec)); - buf = ebuf; - } - break; - /* struct of arrays */ - case 1: - got = FunColumnSelect(fun, sizeof(AEvRec), params, - "$region", "I", mode, FUN_OFFSET(AEv, region), - "x", "D:10:10", mode, FUN_OFFSET(AEv, x), - "y", "D:10:10", mode, FUN_OFFSET(AEv, y), - "dx", "D:10:10", mode, FUN_OFFSET(AEv, dx), - "dy", "D:10:10", mode, FUN_OFFSET(AEv, dy), - "pi", "J", mode, FUN_OFFSET(AEv, pi), - "pha", "J", mode, FUN_OFFSET(AEv, pha), - "time", "1D", mode, FUN_OFFSET(AEv, time), - NULL); - if( doualloc ){ - abuf = calloc(1, sizeof(AEvRec)); - buf = abuf; - } - break; - /* struct of pointers */ - case 2: - got = FunColumnSelect(fun, sizeof(PEvRec), params, - "$region", "@I", mode, FUN_OFFSET(PEv, region), - "x", "@D:10:10", mode, FUN_OFFSET(PEv, x), - "y", "@D:10:10", mode, FUN_OFFSET(PEv, y), - "dx", "@D:10:10", mode, FUN_OFFSET(PEv, dx), - "dy", "@D:10:10", mode, FUN_OFFSET(PEv, dy), - "pi", "@J", mode, FUN_OFFSET(PEv, pi), - "pha", "@J", mode, FUN_OFFSET(PEv, pha), - "time", "@1D", mode, FUN_OFFSET(PEv, time), - NULL); - if( doualloc ){ - pbuf = calloc(1, sizeof(PEvRec)); - pbuf->region = calloc(MAXROW, sizeof(short)); - pbuf->x = calloc(MAXROW, sizeof(double)); - pbuf->y = calloc(MAXROW, sizeof(double)); - pbuf->pi = calloc(MAXROW, sizeof(int)); - pbuf->pha = calloc(MAXROW, sizeof(int)); - pbuf->time = calloc(MAXROW, sizeof(double)); - pbuf->dx = calloc(MAXROW, sizeof(double)); - pbuf->dy = calloc(MAXROW, sizeof(double)); - buf = pbuf; - } - break; - /* array of structs containing pointers */ - case 3: - got = FunColumnSelect(fun, sizeof(PEvRec), params, - "$region", "@I", mode, FUN_OFFSET(PEv, region), - "x", "@D:10:10", mode, FUN_OFFSET(PEv, x), - "y", "@D:10:10", mode, FUN_OFFSET(PEv, y), - "dx", "@D:10:10", mode, FUN_OFFSET(PEv, dx), - "dy", "@D:10:10", mode, FUN_OFFSET(PEv, dy), - "pi", "@J", mode, FUN_OFFSET(PEv, pi), - "pha", "@J", mode, FUN_OFFSET(PEv, pha), - "time", "@1D", mode, FUN_OFFSET(PEv, time), - NULL); - if( doualloc ){ - pbuf = calloc(1, sizeof(PEvRec)); - pbuf->region = calloc(1, sizeof(short)); - pbuf->x = calloc(1, sizeof(double)); - pbuf->y = calloc(1, sizeof(double)); - pbuf->pi = calloc(1, sizeof(int)); - pbuf->pha = calloc(1, sizeof(int)); - pbuf->time = calloc(1, sizeof(double)); - pbuf->dx = calloc(1, sizeof(double)); - pbuf->dy = calloc(1, sizeof(double)); - buf = pbuf; - } - break; - default: - gerror(stderr, "unknown params value: %d\n", doev); - break; - } - - /* get rows */ - while( (buf = (void *)FunTableRowGet(fun, buf, MAXROW, NULL, &got)) ){ - /* output if necessary */ - if( ofun ){ - if( (put=FunTableRowPut(ofun, buf, got, 0, NULL)) != got ){ - gerror(stderr, "expected to write %d rows; only wrote %d\n", - got, put); - } - } - /* and display */ - switch(doev){ - case 0: - for(i=0; i<got; i++){ - ev = (Ev)buf+i; - fprintf(stdout, "%d\t%.2f\t%.2f\t%d\t%d\t%.4f\t%.4f\t%21.8f\n", - (int)ev->region, - ev->x, ev->y, - ev->pi, ev->pha, - ev->dx, ev->dy, - ev->time); - fflush(stdout); - } - break; - case 1: - aev = (AEv)buf; - for(i=0; i<got; i++){ - fprintf(stdout, "%d\t%.2f\t%.2f\t%d\t%d\t%.4f\t%.4f\t%21.8f\n", - (int)aev->region[i], - aev->x[i], aev->y[i], - aev->pi[i], aev->pha[i], - aev->dx[i], aev->dy[i], - aev->time[i]); - fflush(stdout); - } - break; - case 2: - pev = (PEv)buf; - for(i=0; i<got; i++){ - fprintf(stdout, "%d\t%.2f\t%.2f\t%d\t%d\t%.4f\t%.4f\t%21.8f\n", - (int)pev->region[i], - pev->x[i], pev->y[i], - pev->pi[i], pev->pha[i], - pev->dx[i], pev->dy[i], - pev->time[i]); - fflush(stdout); - } - break; - case 3: - for(i=0; i<got; i++){ - pev = (PEv)buf+i; - fprintf(stdout, "%d\t%.2f\t%.2f\t%d\t%d\t%.4f\t%.4f\t%21.8f\n", - (int)pev->region[0], - pev->x[0], pev->y[0], - pev->pi[0], pev->pha[0], - pev->dx[0], pev->dy[0], - pev->time[0]); - fflush(stdout); - } - break; - default: - gerror(stderr, "unknown params value: %d\n", doev); - break; - } - /* if funtools did allocation, free it now */ - if( !doualloc ){ - if( buf ) xfree(buf); - buf = NULL; - } - } - - /* clean up */ - if( doualloc ){ - switch(doev){ - case 0: - if( ebuf ) xfree(ebuf); - break; - case 1: - if( abuf ) xfree(abuf); - break; - case 2: - if( pbuf->region ) xfree(pbuf->region); - if( pbuf->x ) xfree(pbuf->x); - if( pbuf->y ) xfree(pbuf->y); - if( pbuf->pi ) xfree(pbuf->pi); - if( pbuf->pha ) xfree(pbuf->pha); - if( pbuf->time ) xfree(pbuf->time); - if( pbuf->dx ) xfree(pbuf->dx); - if( pbuf->dy ) xfree(pbuf->dy); - if( pbuf ) xfree(pbuf); - break; - } - } - if( ofun ) FunClose(ofun); - FunClose(fun); - return(0); -} |