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),
104  Z3_OP_INT2BV (1071),
105  Z3_OP_BV2INT (1072),
106  Z3_OP_CARRY (1073),
107  Z3_OP_XOR3 (1074),
136  Z3_OP_PR_DER (1300),
170  Z3_OP_FD_LT (1550),
179  Z3_OP_SEQ_AT (1559),
189  Z3_OP_LABEL (1792),
196  Z3_OP_PB_LE (2305),
197  Z3_OP_PB_GE (2306),
198  Z3_OP_PB_EQ (2307),
222  Z3_OP_FPA_EQ (2331),
223  Z3_OP_FPA_LT (2332),
224  Z3_OP_FPA_GT (2333),
225  Z3_OP_FPA_LE (2334),
226  Z3_OP_FPA_GE (2335),
234  Z3_OP_FPA_FP (2343),
245 
246  private final int intValue;
247 
248  Z3_decl_kind(int v) {
249  this.intValue = v;
250  }
251 
252  // Cannot initialize map in constructor, so need to do it lazily.
253  // Easiest thread-safe way is the initialization-on-demand holder pattern.
254  private static class Z3_decl_kind_MappingHolder {
255  private static final Map<Integer, Z3_decl_kind> intMapping = new HashMap<>();
256  static {
257  for (Z3_decl_kind k : Z3_decl_kind.values())
258  intMapping.put(k.toInt(), k);
259  }
260  }
261 
262  public static final Z3_decl_kind fromInt(int v) {
263  Z3_decl_kind k = Z3_decl_kind_MappingHolder.intMapping.get(v);
264  if (k != null) return k;
265  throw new IllegalArgumentException("Illegal value " + v + " for Z3_decl_kind");
266  }
267 
268  public final int toInt() { return this.intValue; }
269 }
270 
static final Z3_decl_kind fromInt(int v)