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

Line Exec Source
1
/******************************************************************************
2
 * Top contributors (to current version):
3
 *   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
 * The BvIntroPow2 preprocessing pass.
14
 *
15
 * Traverses the formula and applies the IsPowerOfTwo rewrite rule. This
16
 * preprocessing pass is particularly useful on QF_BV/pspace benchmarks and
17
 * can be enabled via option `--bv-intro-pow2`.
18
 */
19
20
#include "cvc5_private.h"
21
22
#ifndef CVC5__PREPROCESSING__PASSES__BV_INTRO_POW2_H
23
#define CVC5__PREPROCESSING__PASSES__BV_INTRO_POW2_H
24
25
#include "preprocessing/preprocessing_pass.h"
26
27
namespace cvc5 {
28
namespace preprocessing {
29
namespace passes {
30
31
19700
class BvIntroPow2 : public PreprocessingPass
32
{
33
 public:
34
  BvIntroPow2(PreprocessingPassContext* preprocContext);
35
36
 protected:
37
  PreprocessingPassResult applyInternal(
38
      AssertionPipeline* assertionsToPreprocess) override;
39
};
40
41
}  // namespace passes
42
}  // namespace preprocessing
43
}  // namespace cvc5
44
45
#endif /* CVC5__PREPROCESSING__PASSES__BV_INTRO_POW2_H */