2022-08-30 15:42:35 +08:00

30 lines
521 B
C

#ifndef _averages_h_INCLUDED
#define _averages_h_INCLUDED
#include "smooth.h"
#include <stdbool.h>
typedef struct averages averages;
struct averages
{
bool initialized;
smooth level, size, fast_glue, slow_glue, trail;
};
struct kissat;
void kissat_init_averages (struct kissat *, averages *);
#define AVERAGES (solver->averages[solver->stable])
#define EMA(NAME) (AVERAGES.NAME)
#define AVERAGE(NAME) (EMA(NAME).value)
#define UPDATE(NAME,VALUE) \
kissat_update_smooth (solver, &EMA(NAME), VALUE)
#endif