3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-27 02:45:51 +00:00

Add html pretty printing mode for RCF package

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
Leonardo de Moura 2013-01-27 10:19:54 -08:00
parent 8e2298c327
commit 77f58269ed
8 changed files with 156 additions and 94 deletions

View file

@ -29,8 +29,10 @@ def E(ctx=None):
return RCFNum(Z3_rcf_mk_e(ctx.ref()), ctx)
def MkInfinitesimal(name="eps", ctx=None):
# Todo: remove parameter name.
# For now, we keep it for backward compatibility.
ctx = z3._get_ctx(ctx)
return RCFNum(Z3_rcf_mk_infinitesimal(ctx.ref(), name), ctx)
return RCFNum(Z3_rcf_mk_infinitesimal(ctx.ref()), ctx)
def MkRoots(p, ctx=None):
ctx = z3._get_ctx(ctx)
@ -49,6 +51,7 @@ def MkRoots(p, ctx=None):
return r
class RCFNum:
html = False
def __init__(self, num, ctx=None):
# TODO: add support for converting AST numeral values into RCFNum
if isinstance(num, RCFNumObj):
@ -65,10 +68,10 @@ class RCFNum:
return self.ctx.ref()
def __repr__(self):
return Z3_rcf_num_to_string(self.ctx_ref(), self.num, False)
return Z3_rcf_num_to_string(self.ctx_ref(), self.num, False, RCFNum.html)
def compact_str(self):
return Z3_rcf_num_to_string(self.ctx_ref(), self.num, True)
return Z3_rcf_num_to_string(self.ctx_ref(), self.num, True, RCFNum.html)
def __add__(self, other):
v = _to_rcfnum(other, self.ctx)