36 Contract.Requires(name !=
null);
38 Native.Z3_params_set_bool(
Context.nCtx, NativeObject, name.NativeObject, (value) ? 1 : 0);
46 Contract.Requires(name !=
null);
48 Native.Z3_params_set_uint(
Context.nCtx, NativeObject, name.NativeObject, value);
56 Contract.Requires(name !=
null);
58 Native.Z3_params_set_double(
Context.nCtx, NativeObject, name.NativeObject, value);
66 Contract.Requires(value !=
null);
68 Native.Z3_params_set_symbol(
Context.nCtx, NativeObject, name.NativeObject,
Context.
MkSymbol(value).NativeObject);
76 Contract.Requires(name !=
null);
77 Contract.Requires(value !=
null);
79 Native.Z3_params_set_symbol(
Context.nCtx, NativeObject, name.NativeObject, value.NativeObject);
86 public void Add(
string name,
bool value)
88 Native.Z3_params_set_bool(
Context.nCtx, NativeObject,
Context.
MkSymbol(name).NativeObject, (value) ? 1 : 0);
94 public void Add(
string name, uint value)
102 public void Add(
string name,
double value)
112 Contract.Requires(value !=
null);
114 Native.Z3_params_set_symbol(
Context.nCtx, NativeObject,
Context.
MkSymbol(name).NativeObject, value.NativeObject);
120 public void Add(
string name,
string value)
122 Contract.Requires(name !=
null);
123 Contract.Requires(value !=
null);
133 return Native.Z3_params_to_string(
Context.nCtx, NativeObject);
140 Contract.Requires(ctx !=
null);
143 internal class DecRefQueue : IDecRefQueue
145 public DecRefQueue() : base() { }
146 public DecRefQueue(uint move_limit) : base(move_limit) { }
147 internal override void IncRef(Context ctx, IntPtr obj)
149 Native.Z3_params_inc_ref(ctx.nCtx, obj);
152 internal override void DecRef(Context ctx, IntPtr obj)
154 Native.Z3_params_dec_ref(ctx.nCtx, obj);
158 internal override void IncRef(IntPtr o)
160 Context.Params_DRQ.IncAndClear(Context, o);
164 internal override void DecRef(IntPtr o)
166 Context.Params_DRQ.Add(o);
void Add(string name, uint value)
Adds a parameter setting.
Z3_params Z3_API Z3_mk_params(Z3_context c)
Create a Z3 (empty) parameter set. Starting at Z3 4.0, parameter sets are used to configure many comp...
void Add(Symbol name, bool value)
Adds a parameter setting.
void Add(string name, string value)
Adds a parameter setting.
void Add(Symbol name, string value)
Adds a parameter setting.
void Add(Symbol name, Symbol value)
Adds a parameter setting.
override string ToString()
A string representation of the parameter set.
void Add(string name, Symbol value)
Adds a parameter setting.
void Add(string name, bool value)
Adds a parameter setting.
A Params objects represents a configuration in the form of Symbol/value pairs.
void Add(Symbol name, double value)
Adds a parameter setting.
IntSymbol MkSymbol(int i)
Creates a new symbol using an integer.
The main interaction with Z3 happens via the Context.
Internal base class for interfacing with native Z3 objects. Should not be used externally.
Symbols are used to name several term and type constructors.
void Add(Symbol name, uint value)
Adds a parameter setting.
void Add(string name, double value)
Adds a parameter setting.