core/aggregate.h

Go to the documentation of this file.
00001 
00007 #ifndef _AGGREGATE_H
00008 #define _AGGREGATE_H
00009 
00010 #include "platform.h"
00011 #include "find.h"
00012 
00013 typedef enum {AGGR_NOP, AGGR_MIN, AGGR_MAX, AGGR_AVG, AGGR_STD, AGGR_MBE, AGGR_MEAN, AGGR_VAR, AGGR_KUR, AGGR_GAMMA, AGGR_COUNT, AGGR_SUM, AGGR_PROD} AGGREGATOR; 
00014 typedef enum {AP_NONE, AP_REAL, AP_IMAG, AP_MAG, AP_ANG, AP_ARG} AGGRPART; 
00016 #define AF_ABS 0x01 
00018 typedef struct s_aggregate {
00019     AGGREGATOR op; 
00020     struct s_findpgm *group; 
00021     PROPERTY *pinfo; 
00022     AGGRPART part; 
00023     unsigned char flags; 
00024     struct s_findlist *last; 
00025     struct s_aggregate *next; 
00026 } AGGREGATION; 
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031 
00032 AGGREGATION *aggregate_mkgroup(char *aggregator, char *group_expression);
00033 double aggregate_value(AGGREGATION *aggregate);
00034 
00035 #ifdef __cplusplus
00036 }
00037 #endif
00038 
00039 #endif
00040 

GridLAB-DTM Version 1.0
An open-source project initiated by the US Department of Energy