mirror of
https://github.com/Z3Prover/z3
synced 2025-04-26 02:25:32 +00:00
Adjusted return types of set functions to ArrayExprs in Java and .NET
Fixes #137
This commit is contained in:
parent
31eb738db5
commit
5f755a5bd8
2 changed files with 38 additions and 45 deletions
|
@ -1725,32 +1725,31 @@ public class Context extends IDisposable
|
|||
/**
|
||||
* Create an empty set.
|
||||
**/
|
||||
public Expr mkEmptySet(Sort domain)
|
||||
public ArrayExpr mkEmptySet(Sort domain)
|
||||
{
|
||||
checkContextMatch(domain);
|
||||
return Expr.create(this,
|
||||
return (ArrayExpr)Expr.create(this,
|
||||
Native.mkEmptySet(nCtx(), domain.getNativeObject()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the full set.
|
||||
**/
|
||||
public Expr mkFullSet(Sort domain)
|
||||
public ArrayExpr mkFullSet(Sort domain)
|
||||
{
|
||||
checkContextMatch(domain);
|
||||
return Expr.create(this,
|
||||
return (ArrayExpr)Expr.create(this,
|
||||
Native.mkFullSet(nCtx(), domain.getNativeObject()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an element to the set.
|
||||
**/
|
||||
public Expr mkSetAdd(Expr set, Expr element)
|
||||
public ArrayExpr mkSetAdd(ArrayExpr set, Expr element)
|
||||
{
|
||||
checkContextMatch(set);
|
||||
checkContextMatch(element);
|
||||
return Expr.create(
|
||||
this,
|
||||
return (ArrayExpr)Expr.create(this,
|
||||
Native.mkSetAdd(nCtx(), set.getNativeObject(),
|
||||
element.getNativeObject()));
|
||||
}
|
||||
|
@ -1758,12 +1757,11 @@ public class Context extends IDisposable
|
|||
/**
|
||||
* Remove an element from a set.
|
||||
**/
|
||||
public Expr mkSetDel(Expr set, Expr element)
|
||||
public ArrayExpr mkSetDel(ArrayExpr set, Expr element)
|
||||
{
|
||||
checkContextMatch(set);
|
||||
checkContextMatch(element);
|
||||
return Expr.create(
|
||||
this,
|
||||
return (ArrayExpr)Expr.create(this,
|
||||
Native.mkSetDel(nCtx(), set.getNativeObject(),
|
||||
element.getNativeObject()));
|
||||
}
|
||||
|
@ -1771,11 +1769,10 @@ public class Context extends IDisposable
|
|||
/**
|
||||
* Take the union of a list of sets.
|
||||
**/
|
||||
public Expr mkSetUnion(Expr... args)
|
||||
public ArrayExpr mkSetUnion(ArrayExpr... args)
|
||||
{
|
||||
checkContextMatch(args);
|
||||
return Expr.create(
|
||||
this,
|
||||
return (ArrayExpr)Expr.create(this,
|
||||
Native.mkSetUnion(nCtx(), (int) args.length,
|
||||
AST.arrayToNative(args)));
|
||||
}
|
||||
|
@ -1783,11 +1780,10 @@ public class Context extends IDisposable
|
|||
/**
|
||||
* Take the intersection of a list of sets.
|
||||
**/
|
||||
public Expr mkSetIntersection(Expr... args)
|
||||
public ArrayExpr mkSetIntersection(ArrayExpr... args)
|
||||
{
|
||||
checkContextMatch(args);
|
||||
return Expr.create(
|
||||
this,
|
||||
return (ArrayExpr)Expr.create(this,
|
||||
Native.mkSetIntersect(nCtx(), (int) args.length,
|
||||
AST.arrayToNative(args)));
|
||||
}
|
||||
|
@ -1795,12 +1791,11 @@ public class Context extends IDisposable
|
|||
/**
|
||||
* Take the difference between two sets.
|
||||
**/
|
||||
public Expr mkSetDifference(Expr arg1, Expr arg2)
|
||||
public ArrayExpr mkSetDifference(ArrayExpr arg1, ArrayExpr arg2)
|
||||
{
|
||||
checkContextMatch(arg1);
|
||||
checkContextMatch(arg2);
|
||||
return Expr.create(
|
||||
this,
|
||||
return (ArrayExpr)Expr.create(this,
|
||||
Native.mkSetDifference(nCtx(), arg1.getNativeObject(),
|
||||
arg2.getNativeObject()));
|
||||
}
|
||||
|
@ -1808,22 +1803,21 @@ public class Context extends IDisposable
|
|||
/**
|
||||
* Take the complement of a set.
|
||||
**/
|
||||
public Expr mkSetComplement(Expr arg)
|
||||
public ArrayExpr mkSetComplement(ArrayExpr arg)
|
||||
{
|
||||
checkContextMatch(arg);
|
||||
return Expr.create(this,
|
||||
return (ArrayExpr)Expr.create(this,
|
||||
Native.mkSetComplement(nCtx(), arg.getNativeObject()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Check for set membership.
|
||||
**/
|
||||
public BoolExpr mkSetMembership(Expr elem, Expr set)
|
||||
public BoolExpr mkSetMembership(Expr elem, ArrayExpr set)
|
||||
{
|
||||
checkContextMatch(elem);
|
||||
checkContextMatch(set);
|
||||
return (BoolExpr) Expr.create(
|
||||
this,
|
||||
return (BoolExpr) Expr.create(this,
|
||||
Native.mkSetMember(nCtx(), elem.getNativeObject(),
|
||||
set.getNativeObject()));
|
||||
}
|
||||
|
@ -1831,12 +1825,11 @@ public class Context extends IDisposable
|
|||
/**
|
||||
* Check for subsetness of sets.
|
||||
**/
|
||||
public BoolExpr mkSetSubset(Expr arg1, Expr arg2)
|
||||
public BoolExpr mkSetSubset(ArrayExpr arg1, ArrayExpr arg2)
|
||||
{
|
||||
checkContextMatch(arg1);
|
||||
checkContextMatch(arg2);
|
||||
return (BoolExpr) Expr.create(
|
||||
this,
|
||||
return (BoolExpr) Expr.create(this,
|
||||
Native.mkSetSubset(nCtx(), arg1.getNativeObject(),
|
||||
arg2.getNativeObject()));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue