recutils
Data Structures | Macros | Functions
rec-aggregate.c File Reference
#include <config.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#include <math.h>
#include <minmax.h>
#include <rec-utils.h>
#include <rec.h>

Data Structures

struct  rec_aggregate_reg_elem_s
 
struct  rec_aggregate_reg_s
 
struct  rec_aggregate_descriptor_s
 

Macros

#define MAX_FUNCTIONS   40
 
#define NUM_STD_AGGREGATES   5
 
#define REC_AGGREGATE_ACCUM_FUNC(NAME, OP, INIT_VAL)
 

Functions

rec_aggregate_reg_t rec_aggregate_reg_new (void)
 
void rec_aggregate_reg_destroy (rec_aggregate_reg_t func_reg)
 
bool rec_aggregate_reg_add (rec_aggregate_reg_t func_reg, const char *name, rec_aggregate_t function)
 
rec_aggregate_t rec_aggregate_reg_get (rec_aggregate_reg_t func_reg, const char *name)
 
void rec_aggregate_reg_add_standard (rec_aggregate_reg_t func_reg)
 
bool rec_aggregate_std_p (const char *name)
 
 REC_AGGREGATE_ACCUM_FUNC (sum, op_sum, 0)
 
 REC_AGGREGATE_ACCUM_FUNC (min, MIN, DBL_MAX)
 
 REC_AGGREGATE_ACCUM_FUNC (max, MAX, DBL_MIN)
 

Macro Definition Documentation

◆ MAX_FUNCTIONS

#define MAX_FUNCTIONS   40

◆ NUM_STD_AGGREGATES

#define NUM_STD_AGGREGATES   5

◆ REC_AGGREGATE_ACCUM_FUNC

#define REC_AGGREGATE_ACCUM_FUNC (   NAME,
  OP,
  INIT_VAL 
)

Function Documentation

◆ REC_AGGREGATE_ACCUM_FUNC() [1/3]

REC_AGGREGATE_ACCUM_FUNC ( max  ,
MAX  ,
DBL_MIN   
)

◆ REC_AGGREGATE_ACCUM_FUNC() [2/3]

REC_AGGREGATE_ACCUM_FUNC ( min  ,
MIN  ,
DBL_MAX   
)

◆ REC_AGGREGATE_ACCUM_FUNC() [3/3]

REC_AGGREGATE_ACCUM_FUNC ( sum  ,
op_sum  ,
 
)

◆ rec_aggregate_reg_add()

bool rec_aggregate_reg_add ( rec_aggregate_reg_t  func_reg,
const char *  name,
rec_aggregate_t  function 
)

◆ rec_aggregate_reg_add_standard()

void rec_aggregate_reg_add_standard ( rec_aggregate_reg_t  func_reg)

◆ rec_aggregate_reg_destroy()

void rec_aggregate_reg_destroy ( rec_aggregate_reg_t  func_reg)

◆ rec_aggregate_reg_get()

rec_aggregate_t rec_aggregate_reg_get ( rec_aggregate_reg_t  func_reg,
const char *  name 
)

◆ rec_aggregate_reg_new()

rec_aggregate_reg_t rec_aggregate_reg_new ( void  )

◆ rec_aggregate_std_p()

bool rec_aggregate_std_p ( const char *  name)