mirror of
https://github.com/Z3Prover/z3
synced 2025-04-25 01:55:32 +00:00
Implement RCF external C API
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
f1d47f35b2
commit
9fbbdb56e4
6 changed files with 155 additions and 31 deletions
|
@ -2464,10 +2464,18 @@ namespace realclosure {
|
|||
set(a, neg(a.m_value));
|
||||
}
|
||||
|
||||
void neg(numeral const & a, numeral & b) {
|
||||
set(b, neg(a.m_value));
|
||||
}
|
||||
|
||||
void inv(numeral & a) {
|
||||
set(a, inv(a.m_value));
|
||||
}
|
||||
|
||||
void inv(numeral const & a, numeral & b) {
|
||||
set(b, inv(a.m_value));
|
||||
}
|
||||
|
||||
void add(numeral const & a, numeral const & b, numeral & c) {
|
||||
set(c, add(a.m_value, b.m_value));
|
||||
}
|
||||
|
@ -2879,11 +2887,21 @@ namespace realclosure {
|
|||
m_imp->neg(a);
|
||||
}
|
||||
|
||||
void manager::neg(numeral const & a, numeral & b) {
|
||||
save_interval_ctx ctx(this);
|
||||
m_imp->neg(a, b);
|
||||
}
|
||||
|
||||
void manager::inv(numeral & a) {
|
||||
save_interval_ctx ctx(this);
|
||||
m_imp->inv(a);
|
||||
}
|
||||
|
||||
void manager::inv(numeral const & a, numeral & b) {
|
||||
save_interval_ctx ctx(this);
|
||||
m_imp->inv(a, b);
|
||||
}
|
||||
|
||||
void manager::div(numeral const & a, numeral const & b, numeral & c) {
|
||||
save_interval_ctx ctx(this);
|
||||
m_imp->div(a, b, c);
|
||||
|
|
|
@ -181,11 +181,21 @@ namespace realclosure {
|
|||
\brief a <- -a
|
||||
*/
|
||||
void neg(numeral & a);
|
||||
|
||||
/**
|
||||
\brief b <- -a
|
||||
*/
|
||||
void neg(numeral const & a, numeral & b);
|
||||
|
||||
/**
|
||||
\brief a <- 1/a if a != 0
|
||||
*/
|
||||
void inv(numeral & a);
|
||||
|
||||
/**
|
||||
\brief b <- 1/a if a != 0
|
||||
*/
|
||||
void inv(numeral const & a, numeral & b);
|
||||
|
||||
/**
|
||||
\brief c <- a/b if b != 0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue