2011-04-18 02:56:10 +08:00
|
|
|
/*********************************************************************
|
|
|
|
* Copyright 1993, UCAR/Unidata
|
|
|
|
* See netcdf/COPYRIGHT file for copying and redistribution conditions.
|
|
|
|
* $Header$
|
|
|
|
*********************************************************************/
|
|
|
|
|
|
|
|
#ifndef DAPODOM_H
|
|
|
|
#define DAPODOM_H 1
|
|
|
|
|
|
|
|
typedef struct Dapodometer {
|
|
|
|
int rank;
|
2012-01-30 02:56:29 +08:00
|
|
|
DCEslice slices[NC_MAX_VAR_DIMS];
|
2011-04-18 02:56:10 +08:00
|
|
|
size_t index[NC_MAX_VAR_DIMS];
|
|
|
|
} Dapodometer;
|
|
|
|
|
|
|
|
/* Odometer operators*/
|
|
|
|
extern Dapodometer* newdapodometer(DCEslice* slices, unsigned int first, unsigned int count);
|
|
|
|
|
|
|
|
extern Dapodometer* newsimpledapodometer(struct DCEsegment*,unsigned int);
|
|
|
|
|
|
|
|
extern Dapodometer* newdapodometer1(unsigned int count);
|
|
|
|
extern Dapodometer* newdapodometer2(const size_t*, const size_t*,
|
|
|
|
const ptrdiff_t*, unsigned int, unsigned int);
|
|
|
|
extern Dapodometer* newdapodometer3(int, size_t*);
|
|
|
|
|
|
|
|
extern void freedapodometer(Dapodometer*);
|
|
|
|
extern char* dapodometerprint(Dapodometer* odom);
|
|
|
|
|
|
|
|
extern int dapodometermore(Dapodometer* odom);
|
|
|
|
extern int dapodometerincr(Dapodometer* odo);
|
|
|
|
extern int dapodometerincrith(Dapodometer* odo,int);
|
|
|
|
extern size_t dapodometercount(Dapodometer* odo);
|
|
|
|
extern void dapodometerreset(Dapodometer*);
|
|
|
|
extern Dapodometer* dapodometersplit(Dapodometer* odom, int tail);
|
|
|
|
|
|
|
|
extern size_t dapodometerspace(Dapodometer* odom, unsigned int wheel);
|
|
|
|
extern size_t dapodometerpoints(Dapodometer*);
|
|
|
|
|
|
|
|
extern size_t* dapodometerindices(Dapodometer*);
|
|
|
|
extern int dapodometervarmcount(Dapodometer*, const ptrdiff_t*, const size_t*);
|
|
|
|
|
|
|
|
#endif /*DAPODOM_H*/
|