GCC Code Coverage Report
Directory: . Exec Total Coverage
File: src/preprocessing/passes/ite_simp.h Lines: 1 1 100.0 %
Date: 2021-03-23 Branches: 0 0 0.0 %

Line Exec Source
1
/*********************                                                        */
2
/*! \file ite_simp.h
3
 ** \verbatim
4
 ** Top contributors (to current version):
5
 **   Aina Niemetz, Mathias Preiner
6
 ** This file is part of the CVC4 project.
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.\endverbatim
11
 **
12
 ** \brief ITE simplification preprocessing pass.
13
 **/
14
15
#include "cvc4_private.h"
16
17
#ifndef CVC4__PREPROCESSING__PASSES__ITE_SIMP_H
18
#define CVC4__PREPROCESSING__PASSES__ITE_SIMP_H
19
20
#include "preprocessing/preprocessing_pass.h"
21
#include "preprocessing/util/ite_utilities.h"
22
#include "util/stats_histogram.h"
23
24
namespace CVC4 {
25
namespace preprocessing {
26
namespace passes {
27
28
17988
class ITESimp : public PreprocessingPass
29
{
30
 public:
31
   ITESimp(PreprocessingPassContext* preprocContext);
32
33
 protected:
34
   PreprocessingPassResult applyInternal(
35
       AssertionPipeline* assertionsToPreprocess) override;
36
37
 private:
38
  struct Statistics
39
  {
40
    IntStat d_arithSubstitutionsAdded;
41
    Statistics();
42
    ~Statistics();
43
  };
44
45
  bool doneSimpITE(AssertionPipeline *assertionsToPreprocesss);
46
47
  /** A collection of ite preprocessing passes. */
48
  util::ITEUtilities d_iteUtilities;
49
50
  Statistics d_statistics;
51
};
52
53
}  // namespace passes
54
}  // namespace preprocessing
55
}  // namespace CVC4
56
57
#endif