#include "global.h"#include "kitten.h"#include "random.h"#include "stack.h"#include <assert.h>#include <inttypes.h>#include <limits.h>#include <stdarg.h>#include <stdbool.h>#include <stdint.h>#include <stdio.h>#include <stdlib.h>#include <string.h>
Go to the source code of this file.
Classes | |
| struct | kink |
| struct | klause |
| struct | statistics |
| struct | kimits |
| struct | cadical_kitten |
Macros | |
| #define | CALLOC(T, P, N) |
| #define | DEALLOC(P, N) |
| #define | ENLARGE_STACK(S) |
| #define | INC(NAME) |
| #define | ADD(NAME, DELTA) |
| #define | KITTEN_TICKS (cadical_kitten->statistics.cadical_kitten_ticks) |
| #define | INVALID UINT_MAX |
| #define | MAX_VARS ((1u << 31) - 1) |
| #define | CORE_FLAG (1u) |
| #define | LEARNED_FLAG (2u) |
| #define | KATCHES(KIT) |
| #define | all_klauses(C) |
| #define | all_original_klauses(C) |
| #define | all_learned_klauses(C) |
| #define | all_kits(KIT) |
| #define | BEGIN_KLAUSE(C) |
| #define | END_KLAUSE(C) |
| #define | all_literals_in_klause(KIT, C) |
| #define | all_antecedents(REF, C) |
| #define | LOG(...) |
| #define | ROG(...) |
| #define | LOGLITS(...) |
| #define | RESIZE1(T, P) |
| #define | RESIZE2(T, P) |
| #define | INVALID_API_USAGE(...) |
| #define | REQUIRE_INITIALIZED() |
| #define | REQUIRE_STATUS(EXPECTED) |
| #define | UPDATE_STATUS(STATUS) |
Typedefs | |
| typedef struct kar | kar |
| typedef struct kink | kink |
| typedef struct klause | klause |
| typedef struct statistics | statistics |
| typedef struct kimits | kimits |
Variables | |
| ABC_NAMESPACE_IMPL_START typedef signed char | value |
| #define ADD | ( | NAME, | |
| DELTA ) |
Definition at line 69 of file cadical_kitten.c.
| #define all_antecedents | ( | REF, | |
| C ) |
Definition at line 266 of file cadical_kitten.c.
| #define all_kits | ( | KIT | ) |
Definition at line 251 of file cadical_kitten.c.
| #define all_klauses | ( | C | ) |
Definition at line 234 of file cadical_kitten.c.
| #define all_learned_klauses | ( | C | ) |
Definition at line 245 of file cadical_kitten.c.
| #define all_literals_in_klause | ( | KIT, | |
| C ) |
Definition at line 260 of file cadical_kitten.c.
| #define all_original_klauses | ( | C | ) |
Definition at line 239 of file cadical_kitten.c.
| #define BEGIN_KLAUSE | ( | C | ) |
Definition at line 256 of file cadical_kitten.c.
| #define CALLOC | ( | T, | |
| P, | |||
| N ) |
Definition at line 38 of file cadical_kitten.c.
| #define CORE_FLAG (1u) |
Definition at line 81 of file cadical_kitten.c.
| #define DEALLOC | ( | P, | |
| N ) |
Definition at line 42 of file cadical_kitten.c.
| #define END_KLAUSE | ( | C | ) |
Definition at line 258 of file cadical_kitten.c.
| #define ENLARGE_STACK | ( | S | ) |
Definition at line 46 of file cadical_kitten.c.
| #define INC | ( | NAME | ) |
Definition at line 62 of file cadical_kitten.c.
| #define INVALID UINT_MAX |
Definition at line 78 of file cadical_kitten.c.
| #define INVALID_API_USAGE | ( | ... | ) |
Definition at line 579 of file cadical_kitten.c.
| #define KATCHES | ( | KIT | ) |
Definition at line 232 of file cadical_kitten.c.
| #define KITTEN_TICKS (cadical_kitten->statistics.cadical_kitten_ticks) |
Definition at line 76 of file cadical_kitten.c.
| #define LEARNED_FLAG (2u) |
Definition at line 82 of file cadical_kitten.c.
| #define LOG | ( | ... | ) |
Definition at line 368 of file cadical_kitten.c.
| #define LOGLITS | ( | ... | ) |
Definition at line 374 of file cadical_kitten.c.
| #define MAX_VARS ((1u << 31) - 1) |
Definition at line 79 of file cadical_kitten.c.
| #define REQUIRE_INITIALIZED | ( | ) |
Definition at line 581 of file cadical_kitten.c.
| #define REQUIRE_STATUS | ( | EXPECTED | ) |
Definition at line 587 of file cadical_kitten.c.
| #define RESIZE1 | ( | T, | |
| P ) |
Definition at line 495 of file cadical_kitten.c.
| #define RESIZE2 | ( | T, | |
| P ) |
Definition at line 507 of file cadical_kitten.c.
| #define ROG | ( | ... | ) |
Definition at line 371 of file cadical_kitten.c.
| #define UPDATE_STATUS | ( | STATUS | ) |
Definition at line 596 of file cadical_kitten.c.
Definition at line 86 of file cadical_kitten.c.
| typedef struct kimits kimits |
Definition at line 129 of file cadical_kitten.c.
| typedef struct kink kink |
Definition at line 87 of file cadical_kitten.c.
| typedef struct klause klause |
Definition at line 88 of file cadical_kitten.c.
| typedef struct statistics statistics |
Definition at line 112 of file cadical_kitten.c.
| void cadical_completely_backtrack_to_root_level | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 1149 of file cadical_kitten.c.

| void cadical_kitten_add_prime_implicant | ( | cadical_kitten * | cadical_kitten, |
| void * | state, | ||
| int | side, | ||
| void(* | add_implicant )(void *, int, size_t, const unsigned *) ) |
Definition at line 2350 of file cadical_kitten.c.
| void cadical_kitten_assume | ( | cadical_kitten * | cadical_kitten, |
| unsigned | elit ) |
Definition at line 1732 of file cadical_kitten.c.

| void cadical_kitten_assume_signed | ( | cadical_kitten * | cadical_kitten, |
| int | elit ) |
Definition at line 1741 of file cadical_kitten.c.


| void cadical_kitten_binary | ( | cadical_kitten * | cadical_kitten, |
| unsigned | a, | ||
| unsigned | b ) |
Definition at line 1848 of file cadical_kitten.c.

| void cadical_kitten_clause | ( | cadical_kitten * | cadical_kitten, |
| size_t | size, | ||
| unsigned * | elits ) |
Definition at line 1834 of file cadical_kitten.c.


| void cadical_kitten_clause_with_id_and_exception | ( | cadical_kitten * | cadical_kitten, |
| unsigned | id, | ||
| size_t | size, | ||
| const unsigned * | elits, | ||
| unsigned | except ) |
Definition at line 1746 of file cadical_kitten.c.

| void cadical_kitten_clear | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 899 of file cadical_kitten.c.


| unsigned cadical_kitten_compute_clausal_core | ( | cadical_kitten * | cadical_kitten, |
| uint64_t * | learned_ptr ) |
Definition at line 1907 of file cadical_kitten.c.

| int cadical_kitten_compute_prime_implicant | ( | cadical_kitten * | cadical_kitten, |
| void * | state, | ||
| bool(* | ignore )(void *, unsigned) ) |
Definition at line 2376 of file cadical_kitten.c.
| uint64_t cadical_kitten_current_ticks | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 686 of file cadical_kitten.c.

| bool cadical_kitten_failed | ( | cadical_kitten * | cadical_kitten, |
| unsigned | elit ) |
Definition at line 2275 of file cadical_kitten.c.
| signed char cadical_kitten_fixed | ( | cadical_kitten * | cadical_kitten, |
| unsigned | elit ) |
Definition at line 2232 of file cadical_kitten.c.

| signed char cadical_kitten_fixed_signed | ( | cadical_kitten * | cadical_kitten, |
| int | elit ) |
Definition at line 2250 of file cadical_kitten.c.


| int cadical_kitten_flip_and_implicant_for_signed_literal | ( | cadical_kitten * | cadical_kitten, |
| int | elit ) |
Definition at line 2595 of file cadical_kitten.c.


| bool cadical_kitten_flip_literal | ( | cadical_kitten * | cadical_kitten, |
| unsigned | elit ) |
Definition at line 2255 of file cadical_kitten.c.


| void cadical_kitten_flip_phases | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 659 of file cadical_kitten.c.
| bool cadical_kitten_flip_signed_literal | ( | cadical_kitten * | cadical_kitten, |
| int | elit ) |
Definition at line 2269 of file cadical_kitten.c.


| cadical_kitten * cadical_kitten_init | ( | void | ) |
Definition at line 606 of file cadical_kitten.c.

| void cadical_kitten_no_terminator | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 707 of file cadical_kitten.c.
| void cadical_kitten_no_ticks_limit | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 680 of file cadical_kitten.c.
| void cadical_kitten_randomize_phases | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 627 of file cadical_kitten.c.


| void cadical_kitten_release | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 938 of file cadical_kitten.c.


| void cadical_kitten_set_terminator | ( | cadical_kitten * | cadical_kitten, |
| void * | data, | ||
| int(* | terminator )(void *) ) |
Definition at line 714 of file cadical_kitten.c.

| void cadical_kitten_set_ticks_limit | ( | cadical_kitten * | cadical_kitten, |
| uint64_t | delta ) |
Definition at line 692 of file cadical_kitten.c.

| void cadical_kitten_shrink_to_clausal_core | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 2133 of file cadical_kitten.c.


| void cadical_kitten_shuffle_clauses | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 764 of file cadical_kitten.c.

| signed char cadical_kitten_signed_value | ( | cadical_kitten * | cadical_kitten, |
| int | selit ) |
Definition at line 2207 of file cadical_kitten.c.

| int cadical_kitten_solve | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 1853 of file cadical_kitten.c.


| int cadical_kitten_status | ( | cadical_kitten * | cadical_kitten | ) |
| void cadical_kitten_trace_core | ( | cadical_kitten * | cadical_kitten, |
| void * | state, | ||
| void(* | trace )(void *, unsigned, unsigned, bool, size_t, const unsigned *, size_t, const unsigned *) ) |
Definition at line 2085 of file cadical_kitten.c.

| void cadical_kitten_track_antecedents | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 617 of file cadical_kitten.c.

| void cadical_kitten_traverse_core_clauses | ( | cadical_kitten * | cadical_kitten, |
| void * | state, | ||
| void(* | traverse )(void *, bool, size_t, const unsigned *) ) |
Definition at line 2017 of file cadical_kitten.c.

| void cadical_kitten_traverse_core_clauses_with_id | ( | cadical_kitten * | cadical_kitten, |
| void * | state, | ||
| void(* | traverse )(void *state, unsigned, bool learned, size_t, const unsigned *) ) |
Definition at line 2050 of file cadical_kitten.c.

| void cadical_kitten_traverse_core_ids | ( | cadical_kitten * | cadical_kitten, |
| void * | state, | ||
| void(* | traverse )(void *, unsigned) ) |
Definition at line 1991 of file cadical_kitten.c.

| void cadical_kitten_unit | ( | cadical_kitten * | cadical_kitten, |
| unsigned | lit ) |
| signed char cadical_kitten_value | ( | cadical_kitten * | cadical_kitten, |
| unsigned | elit ) |
Definition at line 2220 of file cadical_kitten.c.
| unsigned cadical_new_learned_klause | ( | cadical_kitten * | cadical_kitten | ) |
Definition at line 877 of file cadical_kitten.c.
| void citten_clause_with_id | ( | cadical_kitten * | cadical_kitten, |
| unsigned | id, | ||
| size_t | size, | ||
| int * | elits ) |
Definition at line 1839 of file cadical_kitten.c.


| void citten_clause_with_id_and_equivalence | ( | cadical_kitten * | cadical_kitten, |
| unsigned | id, | ||
| size_t | size, | ||
| const int * | elits, | ||
| unsigned | lit, | ||
| unsigned | other ) |
Definition at line 1801 of file cadical_kitten.c.
| void citten_clause_with_id_and_exception | ( | cadical_kitten * | cadical_kitten, |
| unsigned | id, | ||
| size_t | size, | ||
| const int * | elits, | ||
| unsigned | except ) |
Definition at line 1774 of file cadical_kitten.c.

| typedef STACK | ( | unsigned | ) |
Definition at line 89 of file cadical_kitten.c.
| ABC_NAMESPACE_IMPL_START typedef signed char value |
Definition at line 19 of file cadical_kitten.c.