Z3
FiniteDomainSort.cs
Go to the documentation of this file.
1/*++
2Copyright (c) 2012 Microsoft Corporation
3
4Module Name:
5
6 FiniteDomainSort.cs
7
8Abstract:
9
10 Z3 Managed API: Finite Domain Sorts
11
12Author:
13
14 Christoph Wintersteiger (cwinter) 2012-11-23
15
16Notes:
17
18--*/
19
20using System.Diagnostics;
21using System;
22
23namespace Microsoft.Z3
24{
28 public class FiniteDomainSort : Sort
29 {
33 public ulong Size
34 {
35 get
36 {
37 ulong res = 0;
38 Native.Z3_get_finite_domain_sort_size(Context.nCtx, NativeObject, ref res);
39 return res;
40 }
41 }
42
43 #region Internal
44 internal FiniteDomainSort(Context ctx, IntPtr obj)
45 : base(ctx, obj)
46 {
47 Debug.Assert(ctx != null);
48 }
49 internal FiniteDomainSort(Context ctx, Symbol name, ulong size)
50 : base(ctx, Native.Z3_mk_finite_domain_sort(ctx.nCtx, name.NativeObject, size))
51 {
52 Debug.Assert(ctx != null);
53 Debug.Assert(name != null);
54
55 }
56 #endregion
57 }
58}
The main interaction with Z3 happens via the Context.
Definition: Context.cs:32
ulong Size
The size of the finite domain sort.
The Sort class implements type information for ASTs.
Definition: Sort.cs:29
Z3_sort Z3_API Z3_mk_finite_domain_sort(Z3_context c, Z3_symbol name, uint64_t size)
Create a named finite domain sort.