GCC Code Coverage Report
Directory: . Exec Total Coverage
File: src/theory/quantifiers/ematching/inst_strategy.cpp Lines: 11 14 78.6 %
Date: 2021-11-07 Branches: 3 10 30.0 %

Line Exec Source
1
/******************************************************************************
2
 * Top contributors (to current version):
3
 *   Andrew Reynolds, Mathias Preiner
4
 *
5
 * This file is part of the cvc5 project.
6
 *
7
 * Copyright (c) 2009-2021 by the authors listed in the file AUTHORS
8
 * in the top-level source directory and their institutional affiliations.
9
 * All rights reserved.  See the file COPYING in the top-level source
10
 * directory for licensing information.
11
 * ****************************************************************************
12
 *
13
 * Instantiation engine strategy base class.
14
 */
15
16
#include "theory/quantifiers/ematching/inst_strategy.h"
17
18
#include "smt/env.h"
19
#include "theory/quantifiers/quantifiers_state.h"
20
21
namespace cvc5 {
22
namespace theory {
23
namespace quantifiers {
24
25
23754
InstStrategy::InstStrategy(Env& env,
26
                           inst::TriggerDatabase& td,
27
                           QuantifiersState& qs,
28
                           QuantifiersInferenceManager& qim,
29
                           QuantifiersRegistry& qr,
30
23754
                           TermRegistry& tr)
31
23754
    : EnvObj(env), d_td(td), d_qstate(qs), d_qim(qim), d_qreg(qr), d_treg(tr)
32
{
33
23754
}
34
23744
InstStrategy::~InstStrategy() {}
35
26288
void InstStrategy::presolve() {}
36
std::string InstStrategy::identify() const { return std::string("Unknown"); }
37
38
133566
options::UserPatMode InstStrategy::getInstUserPatMode() const
39
{
40
267132
  if (options().quantifiers.userPatternsQuant
41
133566
      == options::UserPatMode::INTERLEAVE)
42
  {
43
    return d_qstate.getInstRounds() % 2 == 0 ? options::UserPatMode::USE
44
                                             : options::UserPatMode::RESORT;
45
  }
46
133566
  return options().quantifiers.userPatternsQuant;
47
}
48
49
}  // namespace quantifiers
50
}  // namespace theory
51
31137
}  // namespace cvc5