summaryrefslogtreecommitdiff
path: root/src/theory/theory_id.cpp
blob: 260bec418175954856c6d2898355ab84aedde926 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "theory/theory_id.h"

namespace CVC4 {
namespace theory {

TheoryId& operator++(TheoryId& id)
{
  return id = static_cast<TheoryId>(static_cast<int>(id) + 1);
}

std::ostream& operator<<(std::ostream& out, TheoryId theoryId)
{
  switch (theoryId)
  {
    case THEORY_BUILTIN: out << "THEORY_BUILTIN"; break;
    case THEORY_BOOL: out << "THEORY_BOOL"; break;
    case THEORY_UF: out << "THEORY_UF"; break;
    case THEORY_ARITH: out << "THEORY_ARITH"; break;
    case THEORY_BV: out << "THEORY_BV"; break;
    case THEORY_FP: out << "THEORY_FP"; break;
    case THEORY_ARRAYS: out << "THEORY_ARRAYS"; break;
    case THEORY_DATATYPES: out << "THEORY_DATATYPES"; break;
    case THEORY_SEP: out << "THEORY_SEP"; break;
    case THEORY_SETS: out << "THEORY_SETS"; break;
    case THEORY_STRINGS: out << "THEORY_STRINGS"; break;
    case THEORY_QUANTIFIERS: out << "THEORY_QUANTIFIERS"; break;

    default: out << "UNKNOWN_THEORY"; break;
  }
  return out;
}

std::string getStatsPrefix(TheoryId theoryId)
{
  switch (theoryId)
  {
    case THEORY_BUILTIN: return "theory::builtin"; break;
    case THEORY_BOOL: return "theory::bool"; break;
    case THEORY_UF: return "theory::uf"; break;
    case THEORY_ARITH: return "theory::arith"; break;
    case THEORY_BV: return "theory::bv"; break;
    case THEORY_FP: return "theory::fp"; break;
    case THEORY_ARRAYS: return "theory::arrays"; break;
    case THEORY_DATATYPES: return "theory::datatypes"; break;
    case THEORY_SEP: return "theory::sep"; break;
    case THEORY_SETS: return "theory::sets"; break;
    case THEORY_STRINGS: return "theory::strings"; break;
    case THEORY_QUANTIFIERS: return "theory::quantifiers"; break;

    default: break;
  }
  return "unknown";
}

}  // namespace theory
}  // namespace CVC4
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback