#ifndef _inlineframes_h_INCLUDEDd
#define _inlineframes_h_INCLUDEDd

#include "allocate.h"
#include "internal.h"

static inline void kissat_push_frame (kissat *solver, unsigned decision) {
  assert (!solver->level || decision != UINT_MAX);
  const size_t trail = SIZE_ARRAY (solver->trail);
  frame frame;
  frame.decision = decision;
  frame.promote = false;
  frame.trail = trail;
  frame.used = 0;
  PUSH_STACK (solver->frames, frame);
}

#endif
