summaryrefslogtreecommitdiffstats
path: root/funtools/doc/evread.c
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2016-10-26 21:13:00 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2016-10-26 21:13:00 (GMT)
commitda2e3d212171bbe64c1af39114fd067308656990 (patch)
tree9601f7ed15fa1394762124630c12a792bc073ec2 /funtools/doc/evread.c
parent76b109ad6d97d19ab835596dc70149ef379f3733 (diff)
downloadblt-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.c304
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);
-}