NMD
nmd_impl.h
Go to the documentation of this file.
00001 #ifndef NMD_IMPL_H
00002 #define NMD_IMPL_H 1
00003 
00004 #include "nmd.h"
00005 
00006 #if !defined(NMD_HAVE_PETSC)
00007 #define CHKMEMQ
00008 #endif
00009 
00010 struct NMD_metadata_item_ {
00011   int cookie;
00012   char *name; NMDDataType t; NMDTruth set;
00013   int i;
00014   double r;
00015   struct NMD_intarray_struct *ii;
00016   struct NMD_realarray_struct *rr;
00017   char *cc;
00018 };
00019 
00020 struct NMD_metadata_category_ {
00021   int cookie;
00022   char *name;
00023   int alloc,ncmp;
00024   NMD_metadata_item* cmps;
00025 };
00026 
00027 struct NMD_metadata_ {
00028   int cookie;
00029   int alloc,ncat;
00030   NMD_metadata_category* cats;
00031 };
00032 
00033 /*
00034  * this object should be the union of the above, in the sense
00035  * that it can be cast to/from all of them;
00036  * it is not actually used
00037  */
00038 struct NMD_object_ {
00039   int cookie;
00040 };
00041 
00042 struct NMD_intarray_struct {
00043   int length,unique;
00044   int *data;
00045 };
00046 
00047 struct NMD_realarray_struct {
00048   int length,unique;
00049   NMDRealtype *data;
00050 };
00051 
00052 #endif
00053