20 using System.Diagnostics.Contracts;
23 using System.Numerics;
26 namespace Microsoft.Z3
31 [ContractVerification(
true)]
39 Contract.Requires(ctx != null);
53 throw new Z3Exception(
"Numeral is not a 64 bit unsigned");
104 public BigInteger BigInteger
108 return BigInteger.Parse(this.ToString());
116 public override string ToString()
125 [ContractVerification(
true)]
134 Contract.Ensures(Contract.Result<
IntNum>() != null);
145 Contract.Ensures(Contract.Result<
IntNum>() != null);
154 public BigInteger BigIntNumerator
159 return BigInteger.Parse(n.
ToString());
166 public BigInteger BigIntDenominator
171 return BigInteger.Parse(n.
ToString());
180 public string ToDecimalString(uint precision)
188 public override string ToString()
197 Contract.Requires(ctx != null);
206 [ContractVerification(
true)]
218 throw new Z3Exception(
"Numeral is not a 64 bit unsigned");
269 public BigInteger BigInteger
273 return BigInteger.Parse(this.ToString());
281 public override string ToString()
287 internal BitVecNum(
Context ctx, IntPtr obj) : base(ctx, obj) { Contract.Requires(ctx != null); }
294 [ContractVerification(
true)]
306 Contract.Ensures(Contract.Result<
RatNum>() != null);
320 Contract.Ensures(Contract.Result<
RatNum>() != null);
329 public string ToDecimal(uint precision)
331 Contract.Ensures(Contract.Result<
string>() != null);
340 Contract.Requires(ctx != null);