ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
ccadical.h
Go to the documentation of this file.
1#ifndef _ccadical_h_INCLUDED
2#define _ccadical_h_INCLUDED
3
4#include "global.h"
5
6/*------------------------------------------------------------------------*/
8/*------------------------------------------------------------------------*/
9
10#include <stdint.h>
11#include <stdio.h>
12
13// C wrapper for CaDiCaL's C++ API following IPASIR.
14
15typedef struct CCaDiCaL CCaDiCaL;
16
17const char *ccadical_signature (void);
20
21void ccadical_add (CCaDiCaL *, int lit);
22void ccadical_assume (CCaDiCaL *, int lit);
24int ccadical_val (CCaDiCaL *, int lit);
25int ccadical_failed (CCaDiCaL *, int lit);
26
27void ccadical_set_terminate (CCaDiCaL *, void *state,
28 int (*terminate) (void *state));
29
30void ccadical_set_learn (CCaDiCaL *, void *state, int max_length,
31 void (*learn) (void *state, int *clause));
32
33/*------------------------------------------------------------------------*/
34
35// Non-IPASIR conformant 'C' functions.
36
37void ccadical_constrain (CCaDiCaL *, int lit);
39void ccadical_set_option (CCaDiCaL *, const char *name, int val);
40void ccadical_limit (CCaDiCaL *, const char *name, int limit);
41int ccadical_get_option (CCaDiCaL *, const char *name);
43int64_t ccadical_active (CCaDiCaL *);
45int ccadical_fixed (CCaDiCaL *, int lit);
46int ccadical_trace_proof (CCaDiCaL *, FILE *, const char *);
50void ccadical_freeze (CCaDiCaL *, int lit);
51int ccadical_frozen (CCaDiCaL *, int lit);
52void ccadical_melt (CCaDiCaL *, int lit);
55int ccadical_reserve_difference (CCaDiCaL *, int number_of_vars);
56
57// Extra
58
59void ccadical_reserve(CCaDiCaL *, int min_max_var);
61
62/*------------------------------------------------------------------------*/
63
64// Support legacy names used before moving to more IPASIR conforming names.
65
66#define ccadical_reset ccadical_release
67#define ccadical_sat ccadical_solve
68#define ccadical_deref ccadical_val
69
70/*------------------------------------------------------------------------*/
72/*------------------------------------------------------------------------*/
73
74#endif
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
void ccadical_reserve(CCaDiCaL *, int min_max_var)
int ccadical_frozen(CCaDiCaL *, int lit)
void ccadical_freeze(CCaDiCaL *, int lit)
void ccadical_release(CCaDiCaL *)
void ccadical_set_terminate(CCaDiCaL *, void *state, int(*terminate)(void *state))
void ccadical_add(CCaDiCaL *, int lit)
int ccadical_solve(CCaDiCaL *)
void ccadical_print_statistics(CCaDiCaL *)
int ccadical_failed(CCaDiCaL *, int lit)
void ccadical_constrain(CCaDiCaL *, int lit)
int ccadical_vars(CCaDiCaL *)
void ccadical_set_learn(CCaDiCaL *, void *state, int max_length, void(*learn)(void *state, int *clause))
int ccadical_simplify(CCaDiCaL *)
int ccadical_is_inconsistent(CCaDiCaL *)
void ccadical_assume(CCaDiCaL *, int lit)
int ccadical_get_option(CCaDiCaL *, const char *name)
typedefABC_NAMESPACE_HEADER_START struct CCaDiCaL CCaDiCaL
Definition ccadical.h:15
int ccadical_constraint_failed(CCaDiCaL *)
int ccadical_val(CCaDiCaL *, int lit)
void ccadical_melt(CCaDiCaL *, int lit)
void ccadical_conclude(CCaDiCaL *)
int ccadical_reserve_difference(CCaDiCaL *, int number_of_vars)
int ccadical_fixed(CCaDiCaL *, int lit)
void ccadical_set_option(CCaDiCaL *, const char *name, int val)
void ccadical_limit(CCaDiCaL *, const char *name, int limit)
const char * ccadical_signature(void)
int ccadical_trace_proof(CCaDiCaL *, FILE *, const char *)
void ccadical_close_proof(CCaDiCaL *)
CCaDiCaL * ccadical_init(void)
int64_t ccadical_active(CCaDiCaL *)
int64_t ccadical_irredundant(CCaDiCaL *)
void ccadical_terminate(CCaDiCaL *)
char * name
Definition main.h:24
int lit
Definition satVec.h:130