00001 #ifndef _WINC_DATAMATH
00002 #define _WINC_DATAMATH
00003
00004 #include <WXP/Data.h>
00005
00006 namespace WXP {
00007 class DataMath {
00008 public:
00009 static int units( Data &data, int fld, const char *units );
00010 static int units( Data &data, const char *units );
00011 static int uniqueId( Data &odata, Data &idata );
00012 static int removeMiss( Data &odata, Data &idata );
00013
00014 static int max( Data &odata, Data &dataa, int flda, Data &datab, int fldb );
00015 static int max( Data &odata, Data &dataa, Data &datab );
00016 static int max( Data &odata, Data &idata, int ifld );
00017 static int max( Data &odata, Data &idata );
00018
00019 static int min( Data &odata, Data &dataa, int flda, Data &datab, int fldb );
00020 static int min( Data &odata, Data &dataa, Data &datab );
00021 static int min( Data &odata, Data &idata, int ifld );
00022 static int min( Data &odata, Data &idata );
00023
00024 static int add( Data &odata, Data &dataa, int flda, Data &datab, int fldb );
00025 static int add( Data &odata, Data &dataa, Data &datab );
00026 static int add( Data &odata, Data &idata, int ifld );
00027 static int add( Data &odata, Data &idata );
00028
00029 static int diff( Data &odata, Data &dataa, int flda, Data &datab, int fldb );
00030 static int diff( Data &odata, Data &dataa, Data &datab );
00031
00032 static int replace( Data &data, int fld, float old, float val );
00033 static int replace( Data &data, float old, float val );
00034
00035 static int offset( Data &data, int fld, float offset );
00036 static int offset( Data &data, float offset );
00037
00038 static int scale( Data &data, int fld, float scale );
00039 static int scale( Data &data, float scale );
00040
00041 static int removeValid( Data &odata, Data &data, int min );
00042 static int average( Data &odata, Data &data );
00043
00044 static int cutoff( Data &odata, const char *cmd, float cutoff, float nval, Data &idata, int fld );
00045 };
00046 }
00047 #endif