Z3
Version.cs
Go to the documentation of this file.
1 /*++
2 Copyright (c) 2012 Microsoft Corporation
3 
4 Module Name:
5 
6  Version.cs
7 
8 Abstract:
9 
10  Z3 Managed API: Version information
11 
12 Author:
13 
14  Christoph Wintersteiger (cwinter) 2012-03-16
15 
16 Notes:
17 
18 --*/
19 
20 using System;
22 
23 namespace Microsoft.Z3
24 {
29  [ContractVerification(true)]
30  public static class Version
31  {
32  static Version() { }
33 
37  public static uint Major
38  {
39  get
40  {
41  uint major = 0, minor = 0, build = 0, revision = 0;
42  Native.Z3_get_version(ref major, ref minor, ref build, ref revision);
43  return major;
44  }
45  }
46 
50  public static uint Minor
51  {
52  get
53  {
54  uint major = 0, minor = 0, build = 0, revision = 0;
55  Native.Z3_get_version(ref major, ref minor, ref build, ref revision);
56  return minor;
57  }
58  }
59 
63  public static uint Build
64  {
65  get
66  {
67  uint major = 0, minor = 0, build = 0, revision = 0;
68  Native.Z3_get_version(ref major, ref minor, ref build, ref revision);
69  return build;
70  }
71  }
72 
76  public static uint Revision
77  {
78  get
79  {
80  uint major = 0, minor = 0, build = 0, revision = 0;
81  Native.Z3_get_version(ref major, ref minor, ref build, ref revision);
82  return revision;
83  }
84  }
85 
89  public static string FullVersion
90  {
91  get
92  {
93  return Native.Z3_get_full_version();
94  }
95  }
96 
100  new public static string ToString()
101  {
102  Contract.Ensures(Contract.Result<string>() != null);
103 
104  uint major = 0, minor = 0, build = 0, revision = 0;
105  Native.Z3_get_version(ref major, ref minor, ref build, ref revision);
106  return major.ToString() + "." + minor.ToString() + "." + build.ToString() + "." + revision.ToString();
107  }
108  }
109 }