3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-23 04:38:53 +00:00

Extending public API with internal objects

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
Leonardo de Moura 2012-10-18 04:47:46 -07:00
parent 9cb29777e2
commit 2a4e6d03f3
21 changed files with 1621 additions and 1042 deletions

View file

@ -8,6 +8,7 @@ using System.Runtime.InteropServices;
namespace Microsoft.Z3
{
using Z3_monomial = System.IntPtr;
using Z3_config = System.IntPtr;
using Z3_context = System.IntPtr;
using Z3_ast = System.IntPtr;
@ -34,6 +35,8 @@ namespace Microsoft.Z3
using Z3_func_entry = System.IntPtr;
using Z3_fixedpoint = System.IntPtr;
using Z3_param_descrs = System.IntPtr;
using Z3_polynomial_manager = System.IntPtr;
using Z3_polynomial = System.IntPtr;
public class Native
{
@ -1492,6 +1495,24 @@ namespace Microsoft.Z3
[DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public extern static Z3_ast Z3_get_context_assignment(Z3_context a0);
[DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public extern static Z3_polynomial_manager Z3_mk_polynomial_manager(Z3_context a0);
[DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public extern static void Z3_del_polynomial_manager(Z3_context a0, Z3_polynomial_manager a1);
[DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public extern static Z3_polynomial Z3_mk_zero_polynomial(Z3_context a0, Z3_polynomial_manager a1);
[DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public extern static void Z3_polynomial_inc_ref(Z3_context a0, Z3_polynomial_manager a1, Z3_polynomial a2);
[DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public extern static void Z3_polynomial_dec_ref(Z3_context a0, Z3_polynomial_manager a1, Z3_polynomial a2);
[DllImport(Z3_DLL_NAME, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
public extern static IntPtr Z3_polynomial_to_string(Z3_context a0, Z3_polynomial_manager a1, Z3_polynomial a2);
}
public static void Z3_set_error_handler(Z3_context a0, Z3_error_handler a1) {
@ -5215,6 +5236,51 @@ namespace Microsoft.Z3
return r;
}
public static Z3_polynomial_manager Z3_mk_polynomial_manager(Z3_context a0) {
Z3_polynomial_manager r = LIB.Z3_mk_polynomial_manager(a0);
Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
if (err != Z3_error_code.Z3_OK)
throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
return r;
}
public static void Z3_del_polynomial_manager(Z3_context a0, Z3_polynomial_manager a1) {
LIB.Z3_del_polynomial_manager(a0, a1);
Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
if (err != Z3_error_code.Z3_OK)
throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
}
public static Z3_polynomial Z3_mk_zero_polynomial(Z3_context a0, Z3_polynomial_manager a1) {
Z3_polynomial r = LIB.Z3_mk_zero_polynomial(a0, a1);
Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
if (err != Z3_error_code.Z3_OK)
throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
return r;
}
public static void Z3_polynomial_inc_ref(Z3_context a0, Z3_polynomial_manager a1, Z3_polynomial a2) {
LIB.Z3_polynomial_inc_ref(a0, a1, a2);
Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
if (err != Z3_error_code.Z3_OK)
throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
}
public static void Z3_polynomial_dec_ref(Z3_context a0, Z3_polynomial_manager a1, Z3_polynomial a2) {
LIB.Z3_polynomial_dec_ref(a0, a1, a2);
Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
if (err != Z3_error_code.Z3_OK)
throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
}
public static string Z3_polynomial_to_string(Z3_context a0, Z3_polynomial_manager a1, Z3_polynomial a2) {
IntPtr r = LIB.Z3_polynomial_to_string(a0, a1, a2);
Z3_error_code err = (Z3_error_code)LIB.Z3_get_error_code(a0);
if (err != Z3_error_code.Z3_OK)
throw new Z3Exception(Marshal.PtrToStringAnsi(LIB.Z3_get_error_msg_ex(a0, (uint)err)));
return Marshal.PtrToStringAnsi(r);
}
}
}