mirror of
https://github.com/Z3Prover/z3
synced 2025-04-10 03:07:07 +00:00
73 lines
1.9 KiB
C
73 lines
1.9 KiB
C
/*++
|
|
Copyright (c) 2012 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
z3_poly.h
|
|
|
|
Abstract:
|
|
|
|
Z3 multivariate polynomial API.
|
|
|
|
Author:
|
|
|
|
Leonardo de Moura (leonardo) 2012-10-18
|
|
|
|
Notes:
|
|
|
|
--*/
|
|
#ifndef _Z3_POLY_H_
|
|
#define _Z3_POLY_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif // __cplusplus
|
|
|
|
/**
|
|
\brief Create a new polynomial manager.
|
|
|
|
def_API('Z3_mk_polynomial_manager', POLYNOMIAL_MANAGER, (_in(CONTEXT),))
|
|
*/
|
|
Z3_polynomial_manager Z3_API Z3_mk_polynomial_manager(__in Z3_context c);
|
|
|
|
/**
|
|
\brief Delete the given polynomial manager.
|
|
|
|
def_API('Z3_del_polynomial_manager', VOID, (_in(CONTEXT), _in(POLYNOMIAL_MANAGER)))
|
|
*/
|
|
void Z3_API Z3_del_polynomial_manager(__in Z3_context c, __in Z3_polynomial_manager m);
|
|
|
|
/**
|
|
\brief Return the zero polynomial.
|
|
|
|
def_API('Z3_mk_zero_polynomial', POLYNOMIAL, (_in(CONTEXT), _in(POLYNOMIAL_MANAGER)))
|
|
*/
|
|
Z3_polynomial Z3_API Z3_mk_zero_polynomial(__in Z3_context c, __in Z3_polynomial_manager m);
|
|
|
|
/**
|
|
\brief Increment p's reference counter
|
|
|
|
def_API('Z3_polynomial_inc_ref', VOID, (_in(CONTEXT), _in(POLYNOMIAL_MANAGER), _in(POLYNOMIAL)))
|
|
*/
|
|
void Z3_API Z3_polynomial_inc_ref(__in Z3_context c, __in Z3_polynomial_manager m, __in Z3_polynomial p);
|
|
|
|
/**
|
|
\brief Decrement p's reference counter.
|
|
|
|
def_API('Z3_polynomial_dec_ref', VOID, (_in(CONTEXT), _in(POLYNOMIAL_MANAGER), _in(POLYNOMIAL)))
|
|
*/
|
|
void Z3_API Z3_polynomial_dec_ref(__in Z3_context c, __in Z3_polynomial_manager m, __in Z3_polynomial p);
|
|
|
|
/**
|
|
\brief Convert the given polynomial into a string.
|
|
|
|
def_API('Z3_polynomial_to_string', STRING, (_in(CONTEXT), _in(POLYNOMIAL_MANAGER), _in(POLYNOMIAL)))
|
|
*/
|
|
Z3_string Z3_API Z3_polynomial_to_string(__in Z3_context c, __in Z3_polynomial_manager m, __in Z3_polynomial p);
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif // __cplusplus
|
|
|
|
#endif
|