Package com.microsoft.z3
Class FPNum
- java.lang.Object
-
- com.microsoft.z3.Z3Object
-
- com.microsoft.z3.AST
-
- com.microsoft.z3.Expr<FPSort>
-
- com.microsoft.z3.FPExpr
-
- com.microsoft.z3.FPNum
-
- All Implemented Interfaces:
Comparable<AST>
public class FPNum extends FPExpr
FloatingPoint Numerals
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getExponent(boolean biased)
Return the exponent value of a floating-point numeral as a string Remarks: NaN is an invalid argument.BitVecExpr
getExponentBV(boolean biased)
The exponent of a floating-point numeral as a bit-vector expression Remarks: NaN is an invalid argument.long
getExponentInt64(boolean biased)
Return the exponent value of a floating-point numeral as a signed 64-bit integer Remarks: NaN is an invalid argument.boolean
getSign()
Retrieves the sign of a floating-point literal Remarks: returns true if the numeral is negativeBitVecExpr
getSignBV()
The sign of a floating-point numeral as a bit-vector expression Remarks: NaN's do not have a bit-vector sign, so they are invalid arguments.String
getSignificand()
The significand value of a floating-point numeral as a string Remarks: The significand s is always 0 < s < 2.0; the resulting string is long enough to represent the real significand precisely.BitVecExpr
getSignificandBV()
The significand of a floating-point numeral as a bit-vector expression Remarks: NaN is an invalid argument.long
getSignificandUInt64()
The significand value of a floating-point numeral as a UInt64 Remarks: This function extracts the significand bits, without the hidden bit or normalization.boolean
isInf()
Indicates whether the numeral is a +oo or -oo.boolean
isNaN()
Indicates whether the numeral is a NaN.boolean
isNegative()
Indicates whether the numeral is negative.boolean
isNormal()
Indicates whether the numeral is normal.boolean
isPositive()
Indicates whether the numeral is positive.boolean
isSubnormal()
Indicates whether the numeral is subnormal.boolean
isZero()
Indicates whether the numeral is +zero or -zero.String
toString()
Returns a string representation of the numeral.-
Methods inherited from class com.microsoft.z3.Expr
distillSort, getArgs, getBoolValue, getFuncDecl, getIndex, getNumArgs, getSort, getString, isAdd, isAlgebraicNumber, isAnd, isArithmeticNumeral, isArray, isArrayMap, isAsArray, isBool, isBV, isBVAdd, isBVAND, isBVBitOne, isBVBitZero, isBVCarry, isBVComp, isBVConcat, isBVExtract, isBVMul, isBVNAND, isBVNOR, isBVNOT, isBVNumeral, isBVOR, isBVReduceAND, isBVReduceOR, isBVRepeat, isBVRotateLeft, isBVRotateLeftExtended, isBVRotateRight, isBVRotateRightExtended, isBVSDiv, isBVSGE, isBVSGT, isBVShiftLeft, isBVShiftRightArithmetic, isBVShiftRightLogical, isBVSignExtension, isBVSLE, isBVSLT, isBVSMod, isBVSRem, isBVSub, isBVToInt, isBVUDiv, isBVUGE, isBVUGT, isBVULE, isBVULT, isBVUMinus, isBVURem, isBVXNOR, isBVXOR, isBVXOR3, isBVZeroExtension, isConcat, isConst, isConstantArray, isDefaultArray, isDistinct, isDiv, isEmptyRelation, isEq, isFalse, isFiniteDomain, isFiniteDomainLT, isGE, isGT, isIDiv, isIff, isImplies, isInt, isIntNum, isIntToBV, isIntToReal, isIsEmptyRelation, isITE, isLabel, isLabelLit, isLE, isLT, isModulus, isMul, isNot, isNumeral, isOEQ, isOr, isProofAndElimination, isProofApplyDef, isProofAsserted, isProofCommutativity, isProofDefAxiom, isProofDefIntro, isProofDER, isProofDistributivity, isProofElimUnusedVars, isProofGoal, isProofHypothesis, isProofIFFFalse, isProofIFFOEQ, isProofIFFTrue, isProofLemma, isProofModusPonens, isProofModusPonensOEQ, isProofMonotonicity, isProofNNFNeg, isProofNNFPos, isProofOrElimination, isProofPullQuant, isProofPushQuant, isProofQuantInst, isProofQuantIntro, isProofReflexivity, isProofRewrite, isProofRewriteStar, isProofSkolemize, isProofSymmetry, isProofTheoryLemma, isProofTransitivity, isProofTransitivityStar, isProofTrue, isProofUnitResolution, isRatNum, isReal, isRealIsInt, isRealToInt, isRelation, isRelationalJoin, isRelationClone, isRelationComplement, isRelationFilter, isRelationNegationFilter, isRelationProject, isRelationRename, isRelationSelect, isRelationStore, isRelationUnion, isRelationWiden, isRemainder, isSelect, isSetComplement, isSetDifference, isSetIntersect, isSetSubset, isSetUnion, isStore, isString, isSub, isTrue, isUMinus, isWellSorted, isXor, simplify, simplify, substitute, substitute, substituteVars, translate, update
-
Methods inherited from class com.microsoft.z3.AST
compareTo, equals, getASTKind, getId, getSExpr, hashCode, isApp, isExpr, isFuncDecl, isQuantifier, isSort, isVar
-
Methods inherited from class com.microsoft.z3.Z3Object
arrayLength, arrayToNative
-
-
-
-
Constructor Detail
-
FPNum
public FPNum(Context ctx, long obj)
-
-
Method Detail
-
getSign
public boolean getSign()
Retrieves the sign of a floating-point literal Remarks: returns true if the numeral is negative- Throws:
Z3Exception
-
getSignBV
public BitVecExpr getSignBV()
The sign of a floating-point numeral as a bit-vector expression Remarks: NaN's do not have a bit-vector sign, so they are invalid arguments.- Throws:
Z3Exception
-
getSignificand
public String getSignificand()
The significand value of a floating-point numeral as a string Remarks: The significand s is always 0 < s < 2.0; the resulting string is long enough to represent the real significand precisely.- Throws:
Z3Exception
-
getSignificandUInt64
public long getSignificandUInt64()
The significand value of a floating-point numeral as a UInt64 Remarks: This function extracts the significand bits, without the hidden bit or normalization. Throws an exception if the significand does not fit into a UInt64.- Throws:
Z3Exception
-
getSignificandBV
public BitVecExpr getSignificandBV()
The significand of a floating-point numeral as a bit-vector expression Remarks: NaN is an invalid argument.- Throws:
Z3Exception
-
getExponent
public String getExponent(boolean biased)
Return the exponent value of a floating-point numeral as a string Remarks: NaN is an invalid argument.- Throws:
Z3Exception
-
getExponentInt64
public long getExponentInt64(boolean biased)
Return the exponent value of a floating-point numeral as a signed 64-bit integer Remarks: NaN is an invalid argument.- Throws:
Z3Exception
-
getExponentBV
public BitVecExpr getExponentBV(boolean biased)
The exponent of a floating-point numeral as a bit-vector expression Remarks: NaN is an invalid argument.- Throws:
Z3Exception
-
isNaN
public boolean isNaN()
Indicates whether the numeral is a NaN.- Returns:
- a boolean
- Throws:
Z3Exception
- on error
-
isInf
public boolean isInf()
Indicates whether the numeral is a +oo or -oo.- Returns:
- a boolean
- Throws:
Z3Exception
- on error
-
isZero
public boolean isZero()
Indicates whether the numeral is +zero or -zero.- Returns:
- a boolean
- Throws:
Z3Exception
- on error
-
isNormal
public boolean isNormal()
Indicates whether the numeral is normal.- Returns:
- a boolean
- Throws:
Z3Exception
- on error
-
isSubnormal
public boolean isSubnormal()
Indicates whether the numeral is subnormal.- Returns:
- a boolean
- Throws:
Z3Exception
- on error
-
isPositive
public boolean isPositive()
Indicates whether the numeral is positive.- Returns:
- a boolean
- Throws:
Z3Exception
- on error
-
isNegative
public boolean isNegative()
Indicates whether the numeral is negative.- Returns:
- a boolean
- Throws:
Z3Exception
- on error
-
-