ABC: A System for Sequential Synthesis and Verification
Loading...
Searching...
No Matches
cadical_occs.cpp
Go to the documentation of this file.
1
#include "
global.h
"
2
3
#include "
internal.hpp
"
4
5
ABC_NAMESPACE_IMPL_START
6
7
namespace
CaDiCaL
{
8
9
/*------------------------------------------------------------------------*/
10
11
// Occurrence lists.
12
13
void
Internal::init_occs
() {
14
if
(
otab
.size () < 2 *
vsize
)
15
otab
.resize (2 *
vsize
,
Occs
());
16
LOG
(
"initialized occurrence lists"
);
17
}
18
19
void
Internal::reset_occs
() {
20
CADICAL_assert
(
occurring
());
21
erase_vector
(
otab
);
22
LOG
(
"reset occurrence lists"
);
23
}
24
25
void
Internal::clear_occs
() {
26
CADICAL_assert
(
occurring
());
27
for
(
auto
&occ :
otab
)
28
occ.clear ();
29
LOG
(
"clear occurrence lists"
);
30
}
31
32
/*------------------------------------------------------------------------*/
33
34
// One-sided occurrence counter (each literal has its own counter).
35
36
void
Internal::init_noccs
() {
37
CADICAL_assert
(
ntab
.empty ());
38
if
(
ntab
.size () < 2 *
vsize
)
39
ntab
.resize (2 *
vsize
, 0);
40
LOG
(
"initialized two-sided occurrence counters"
);
41
}
42
43
void
Internal::clear_noccs
() {
44
CADICAL_assert
(!
ntab
.empty ());
45
for
(
auto
&nt :
ntab
)
46
nt = 0;
47
LOG
(
"clear two-sided occurrence counters"
);
48
}
49
50
void
Internal::reset_noccs
() {
51
CADICAL_assert
(!
max_var
|| !
ntab
.empty ());
52
erase_vector
(
ntab
);
53
LOG
(
"reset two-sided occurrence counters"
);
54
}
55
56
}
// namespace CaDiCaL
57
58
ABC_NAMESPACE_IMPL_END
ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_START
Definition
abc_namespaces.h:54
ABC_NAMESPACE_IMPL_END
#define ABC_NAMESPACE_IMPL_END
Definition
abc_namespaces.h:55
global.h
CADICAL_assert
#define CADICAL_assert(ignore)
Definition
global.h:14
LOG
#define LOG(...)
Definition
cadical_kitten.c:368
internal.hpp
CaDiCaL
Definition
arena.hpp:8
CaDiCaL::Occs
vector< Clause * > Occs
Definition
occs.hpp:18
CaDiCaL::erase_vector
void erase_vector(std::vector< T > &v)
Definition
util.hpp:90
CaDiCaL::Internal::max_var
int max_var
Definition
internal.hpp:200
CaDiCaL::Internal::reset_noccs
void reset_noccs()
Definition
cadical_occs.cpp:50
CaDiCaL::Internal::clear_noccs
void clear_noccs()
Definition
cadical_occs.cpp:43
CaDiCaL::Internal::init_occs
void init_occs()
Definition
cadical_occs.cpp:13
CaDiCaL::Internal::init_noccs
void init_noccs()
Definition
cadical_occs.cpp:36
CaDiCaL::Internal::ntab
vector< int64_t > ntab
Definition
internal.hpp:239
CaDiCaL::Internal::clear_occs
void clear_occs()
Definition
cadical_occs.cpp:25
CaDiCaL::Internal::occurring
bool occurring() const
Definition
internal.hpp:461
CaDiCaL::Internal::vsize
size_t vsize
Definition
internal.hpp:199
CaDiCaL::Internal::otab
vector< Occs > otab
Definition
internal.hpp:236
CaDiCaL::Internal::reset_occs
void reset_occs()
Definition
cadical_occs.cpp:19
src
sat
cadical
cadical_occs.cpp
Generated by Doxygen 1.13.2 © 2025 EPTansuo. All rights reserved.
鲁ICP备2021046540号