ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
averages.h
Go to the documentation of this file.
1#ifndef _averages_h_INCLUDED
2#define _averages_h_INCLUDED
3
4#include "smooth.h"
5
6#include <stdbool.h>
7
8#include "global.h"
10
11typedef struct averages averages;
12
13struct averages {
16#ifndef KISSAT_QUIET
17 smooth level, size, trail;
18#endif
21};
22
23struct kissat;
24
25void kissat_init_averages (struct kissat *, averages *);
26
27#define AVERAGES (solver->averages[solver->stable])
28
29#define EMA(NAME) (AVERAGES.NAME)
30
31#define AVERAGE(NAME) (EMA (NAME).value)
32
33#define UPDATE_AVERAGE(NAME, VALUE) \
34 kissat_update_smooth (solver, &EMA (NAME), VALUE)
35
37
38#endif
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
void kissat_init_averages(struct kissat *, averages *)
Definition averages.c:5
smooth fast_glue
Definition averages.h:15
bool initialized
Definition averages.h:14
smooth slow_glue
Definition averages.h:15
uint64_t saved_decisions
Definition averages.h:20
smooth decision_rate
Definition averages.h:19