SALSA Analysis Modules
anamodtypes.h
Go to the documentation of this file.
00001 /*! \file anamodtypes.h \anchor types 
00002   \ingroup implementation
00003 
00004   This file lists the possible return types of analysis modules.
00005   See \ref typehandling about semantic issues.
00006 */
00007 #ifndef MODULE_TYPES_H
00008 #define MODULE_TYPES_H
00009 
00010 typedef void* AnaModNumericalProblem;
00011 typedef union
00012 {
00013   int i,len;
00014   double r;
00015   int *ii;
00016   double *rr;
00017   const char *c;
00018 } AnalysisItem ;
00019 typedef struct IntArray_ *IntArray;
00020 typedef struct StringArray_ *StringArray;
00021 typedef struct AnalysisItemArray_ *AnalysisItemArray;
00022 typedef struct AnalysisDataTypeArray_ *AnalysisDataTypeArray;
00023 
00024 #if defined(HAVE_NMD)
00025 
00026 #include "nmd.h"
00027 typedef NMDDataType AnalysisDataType;
00028 
00029 /*
00030 #define ANALYSISNONE NONE
00031 */
00032 #define ANALYSISINTEGER NMDInt
00033 #define ANALYSISDOUBLE NMDReal
00034 #define ANALYSISFLOAT NMDReal
00035 #define ANALYSISSTRING NMDString
00036 /*
00037 #define ANALYSISMETA META
00038 #define ANALYSISVOID VOID
00039 */
00040 #define ANALYSISINTARRAY NMDIntarray
00041 #define ANALYSISDBLARRAY NMDRealarray
00042 #define ANALYSISFLARRAY NMDRealarray
00043 
00044 #else
00045 
00046 typedef int AnalysisDataType;
00047 
00048 #define ANALYSISNONE 1
00049 #define ANALYSISSTRING 2
00050 #define ANALYSISINTEGER 3
00051 #define ANALYSISDOUBLE 4
00052 #define ANALYSISFLOAT 5
00053 #define ANALYSISMETA 6
00054 #define ANALYSISVOID 7
00055 #define ANALYSISINTARRAY 8
00056 #define ANALYSISDBLARRAY 9
00057 #define ANALYSISFLARRAY 10
00058 
00059 #endif
00060 
00061 #endif