#ifndef _require_h_INCLUDED #define _require_h_INCLUDED #define kissat_require(COND,...) \ do { \ if ((COND)) \ break; \ kissat_fatal_message_start (); \ fprintf (stderr, "calling '%s': ", __func__); \ fprintf (stderr, __VA_ARGS__); \ fputc ('\n', stderr); \ fflush (stderr); \ kissat_abort (); \ } while (0) #define kissat_require_initialized(SOLVER) \ kissat_require (SOLVER, "uninitialized") #define kissat_require_valid_external_internal(LIT) \ do { \ kissat_require ((LIT) != INT_MIN, \ "invalid literal '%d' (INT_MIN)", (LIT)); \ const int TMP_IDX = ABS (LIT); \ kissat_require (TMP_IDX <= EXTERNAL_MAX_VAR, \ "invalid literal '%d' (variable larger than %d)", \ (LIT), EXTERNAL_MAX_VAR); \ assert (VALID_EXTERNAL_LITERAL (LIT)); \ } while (0) #endif