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_ANUM (512),
27  Z3_OP_AGNUM (513),
28  Z3_OP_LE (514),
29  Z3_OP_GE (515),
30  Z3_OP_LT (516),
31  Z3_OP_GT (517),
32  Z3_OP_ADD (518),
33  Z3_OP_SUB (519),
34  Z3_OP_UMINUS (520),
35  Z3_OP_MUL (521),
36  Z3_OP_DIV (522),
37  Z3_OP_IDIV (523),
38  Z3_OP_REM (524),
39  Z3_OP_MOD (525),
41  Z3_OP_TO_INT (527),
42  Z3_OP_IS_INT (528),
43  Z3_OP_POWER (529),
44  Z3_OP_STORE (768),
45  Z3_OP_SELECT (769),
58  Z3_OP_BNUM (1024),
59  Z3_OP_BIT1 (1025),
60  Z3_OP_BIT0 (1026),
61  Z3_OP_BNEG (1027),
62  Z3_OP_BADD (1028),
63  Z3_OP_BSUB (1029),
64  Z3_OP_BMUL (1030),
65  Z3_OP_BSDIV (1031),
66  Z3_OP_BUDIV (1032),
67  Z3_OP_BSREM (1033),
68  Z3_OP_BUREM (1034),
69  Z3_OP_BSMOD (1035),
70  Z3_OP_BSDIV0 (1036),
71  Z3_OP_BUDIV0 (1037),
72  Z3_OP_BSREM0 (1038),
73  Z3_OP_BUREM0 (1039),
74  Z3_OP_BSMOD0 (1040),
75  Z3_OP_ULEQ (1041),
76  Z3_OP_SLEQ (1042),
77  Z3_OP_UGEQ (1043),
78  Z3_OP_SGEQ (1044),
79  Z3_OP_ULT (1045),
80  Z3_OP_SLT (1046),
81  Z3_OP_UGT (1047),
82  Z3_OP_SGT (1048),
83  Z3_OP_BAND (1049),
84  Z3_OP_BOR (1050),
85  Z3_OP_BNOT (1051),
86  Z3_OP_BXOR (1052),
87  Z3_OP_BNAND (1053),
88  Z3_OP_BNOR (1054),
89  Z3_OP_BXNOR (1055),
90  Z3_OP_CONCAT (1056),
93  Z3_OP_EXTRACT (1059),
94  Z3_OP_REPEAT (1060),
95  Z3_OP_BREDOR (1061),
96  Z3_OP_BREDAND (1062),
97  Z3_OP_BCOMP (1063),
98  Z3_OP_BSHL (1064),
99  Z3_OP_BLSHR (1065),
100  Z3_OP_BASHR (1066),
106  Z3_OP_INT2BV (1072),
107  Z3_OP_BV2INT (1073),
108  Z3_OP_CARRY (1074),
109  Z3_OP_XOR3 (1075),
138  Z3_OP_PR_DER (1300),
174  Z3_OP_FD_LT (1550),
183  Z3_OP_SEQ_AT (1559),
203  Z3_OP_LABEL (1792),
207  Z3_OP_DT_IS (2050),
212  Z3_OP_PB_LE (2306),
213  Z3_OP_PB_GE (2307),
214  Z3_OP_PB_EQ (2308),
226  Z3_OP_FPA_NUM (45061),
229  Z3_OP_FPA_NAN (45064),
232  Z3_OP_FPA_ADD (45067),
233  Z3_OP_FPA_SUB (45068),
234  Z3_OP_FPA_NEG (45069),
235  Z3_OP_FPA_MUL (45070),
236  Z3_OP_FPA_DIV (45071),
237  Z3_OP_FPA_REM (45072),
238  Z3_OP_FPA_ABS (45073),
239  Z3_OP_FPA_MIN (45074),
240  Z3_OP_FPA_MAX (45075),
241  Z3_OP_FPA_FMA (45076),
242  Z3_OP_FPA_SQRT (45077),
244  Z3_OP_FPA_EQ (45079),
245  Z3_OP_FPA_LT (45080),
246  Z3_OP_FPA_GT (45081),
247  Z3_OP_FPA_LE (45082),
248  Z3_OP_FPA_GE (45083),
256  Z3_OP_FPA_FP (45091),
265  Z3_OP_INTERNAL (45100),
267 
268  private final int intValue;
269 
270  Z3_decl_kind(int v) {
271  this.intValue = v;
272  }
273 
274  // Cannot initialize map in constructor, so need to do it lazily.
275  // Easiest thread-safe way is the initialization-on-demand holder pattern.
276  private static class Z3_decl_kind_MappingHolder {
277  private static final Map<Integer, Z3_decl_kind> intMapping = new HashMap<>();
278  static {
279  for (Z3_decl_kind k : Z3_decl_kind.values())
280  intMapping.put(k.toInt(), k);
281  }
282  }
283 
284  public static final Z3_decl_kind fromInt(int v) {
285  Z3_decl_kind k = Z3_decl_kind_MappingHolder.intMapping.get(v);
286  if (k != null) return k;
287  throw new IllegalArgumentException("Illegal value " + v + " for Z3_decl_kind");
288  }
289 
290  public final int toInt() { return this.intValue; }
291 }
292 
static final Z3_decl_kind fromInt(int v)