GCC Code Coverage Report
Directory: . Exec Total Coverage
File: src/theory/bv/slicer.h Lines: 0 1 0.0 %
Date: 2021-03-22 Branches: 0 0 0.0 %

Line Exec Source
1
/*********************                                                        */
2
/*! \file slicer.h
3
 ** \verbatim
4
 ** Top contributors (to current version):
5
 **   Liana Hadarean, Mathias Preiner, Andrew Reynolds
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 Bitvector theory.
13
 **
14
 ** Bitvector theory.
15
 **/
16
17
#include "cvc4_private.h"
18
19
#ifndef CVC4__THEORY__BV__SLICER_BV_H
20
#define CVC4__THEORY__BV__SLICER_BV_H
21
22
#include <string>
23
#include <vector>
24
#include "util/index.h"
25
26
namespace CVC4 {
27
namespace theory {
28
namespace bv {
29
30
/**
31
 * Base
32
 *
33
 */
34
class Base {
35
  Index d_size;
36
  std::vector<uint32_t> d_repr;
37
public:
38
  Base(Index size);
39
  void sliceAt(Index index);
40
  bool isCutPoint(Index index) const;
41
  std::string debugPrint() const;
42
  bool operator==(const Base& other) const {
43
    if (other.d_size != d_size) return false;
44
    for (unsigned i = 0; i < d_repr.size(); ++i) {
45
      if (d_repr[i] != other.d_repr[i])
46
        return false;
47
    }
48
    return true;
49
  }
50
};
51
52
}/* CVC4::theory::bv namespace */
53
}/* CVC4::theory namespace */
54
}/* CVC4 namespace */
55
56
#endif /* CVC4__THEORY__BV__SLICER_BV_H */