Z3
Z3_decl_kind.java
Go to the documentation of this file.
1 
5 package com.microsoft.z3.enumerations;
6 
7 import java.util.HashMap;
8 import java.util.Map;
9 
13 public enum Z3_decl_kind {
14  Z3_OP_TRUE (256),
15  Z3_OP_FALSE (257),
16  Z3_OP_EQ (258),
18  Z3_OP_ITE (260),
19  Z3_OP_AND (261),
20  Z3_OP_OR (262),
21  Z3_OP_IFF (263),
22  Z3_OP_XOR (264),
23  Z3_OP_NOT (265),
25  Z3_OP_OEQ (267),
26  Z3_OP_INTERP (268),
27  Z3_OP_ANUM (512),
28  Z3_OP_AGNUM (513),
29  Z3_OP_LE (514),
30  Z3_OP_GE (515),
31  Z3_OP_LT (516),
32  Z3_OP_GT (517),
33  Z3_OP_ADD (518),
34  Z3_OP_SUB (519),
35  Z3_OP_UMINUS (520),
36  Z3_OP_MUL (521),
37  Z3_OP_DIV (522),
38  Z3_OP_IDIV (523),
39  Z3_OP_REM (524),
40  Z3_OP_MOD (525),
42  Z3_OP_TO_INT (527),
43  Z3_OP_IS_INT (528),
44  Z3_OP_POWER (529),
45  Z3_OP_STORE (768),
46  Z3_OP_SELECT (769),
57  Z3_OP_BNUM (1024),
58  Z3_OP_BIT1 (1025),
59  Z3_OP_BIT0 (1026),
60  Z3_OP_BNEG (1027),
61  Z3_OP_BADD (1028),
62  Z3_OP_BSUB (1029),
63  Z3_OP_BMUL (1030),
64  Z3_OP_BSDIV (1031),
65  Z3_OP_BUDIV (1032),
66  Z3_OP_BSREM (1033),
67  Z3_OP_BUREM (1034),
68  Z3_OP_BSMOD (1035),
69  Z3_OP_BSDIV0 (1036),
70  Z3_OP_BUDIV0 (1037),
71  Z3_OP_BSREM0 (1038),
72  Z3_OP_BUREM0 (1039),
73  Z3_OP_BSMOD0 (1040),
74  Z3_OP_ULEQ (1041),
75  Z3_OP_SLEQ (1042),
76  Z3_OP_UGEQ (1043),
77  Z3_OP_SGEQ (1044),
78  Z3_OP_ULT (1045),
79  Z3_OP_SLT (1046),
80  Z3_OP_UGT (1047),
81  Z3_OP_SGT (1048),
82  Z3_OP_BAND (1049),
83  Z3_OP_BOR (1050),
84  Z3_OP_BNOT (1051),
85  Z3_OP_BXOR (1052),
86  Z3_OP_BNAND (1053),
87  Z3_OP_BNOR (1054),
88  Z3_OP_BXNOR (1055),
89  Z3_OP_CONCAT (1056),
92  Z3_OP_EXTRACT (1059),
93  Z3_OP_REPEAT (1060),
94  Z3_OP_BREDOR (1061),
95  Z3_OP_BREDAND (1062),
96  Z3_OP_BCOMP (1063),
97  Z3_OP_BSHL (1064),
98  Z3_OP_BLSHR (1065),
99  Z3_OP_BASHR (1066),
105  Z3_OP_INT2BV (1072),
106  Z3_OP_BV2INT (1073),
107  Z3_OP_CARRY (1074),
108  Z3_OP_XOR3 (1075),
137  Z3_OP_PR_DER (1300),
171  Z3_OP_FD_LT (1550),
180  Z3_OP_SEQ_AT (1559),
198  Z3_OP_LABEL (1792),
206  Z3_OP_PB_LE (2306),
207  Z3_OP_PB_GE (2307),
208  Z3_OP_PB_EQ (2308),
232  Z3_OP_FPA_EQ (2332),
233  Z3_OP_FPA_LT (2333),
234  Z3_OP_FPA_GT (2334),
235  Z3_OP_FPA_LE (2335),
236  Z3_OP_FPA_GE (2336),
244  Z3_OP_FPA_FP (2344),
255 
256  private final int intValue;
257 
258  Z3_decl_kind(int v) {
259  this.intValue = v;
260  }
261 
262  // Cannot initialize map in constructor, so need to do it lazily.
263  // Easiest thread-safe way is the initialization-on-demand holder pattern.
264  private static class Z3_decl_kind_MappingHolder {
265  private static final Map<Integer, Z3_decl_kind> intMapping = new HashMap<>();
266  static {
267  for (Z3_decl_kind k : Z3_decl_kind.values())
268  intMapping.put(k.toInt(), k);
269  }
270  }
271 
272  public static final Z3_decl_kind fromInt(int v) {
273  Z3_decl_kind k = Z3_decl_kind_MappingHolder.intMapping.get(v);
274  if (k != null) return k;
275  throw new IllegalArgumentException("Illegal value " + v + " for Z3_decl_kind");
276  }
277 
278  public final int toInt() { return this.intValue; }
279 }
280 
static final Z3_decl_kind fromInt(int v)