diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-06-27 00:55:57 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-06-27 00:55:57 +0000 |
commit | 7ea8afa20439c579c4a1ccb251a78770ef873787 (patch) | |
tree | 59d4455f6e3f078aa093d3b95c394050b96d43dd /include | |
parent | 648aa4261c5d2ac2c69dd08bf7a727bf6929c185 (diff) | |
download | klee-7ea8afa20439c579c4a1ccb251a78770ef873787.tar.gz |
Start move to using APFloat (support long double).
- Incomplete, still have to move some conversion operations. - Also, there isn't support yet for copying long double values to native memory. - Still, should be a monotonic improvement and we are no longer faking long double support. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@74363 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/klee/Expr.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/klee/Expr.h b/include/klee/Expr.h index e3a57123..6e55cdd3 100644 --- a/include/klee/Expr.h +++ b/include/klee/Expr.h @@ -310,6 +310,12 @@ public: unsigned getNumKids() const { return 0; } ref<Expr> getKid(unsigned i) const { return 0; } + /// getAPValue - Return the arbitrary precision value directly. + /// + /// Clients should generally not use the APInt value directly and instead use + /// native ConstantExpr APIs. + const llvm::APInt &getAPValue() const { return value; } + /// getZExtValue - Return the constant value for a limited number of bits. /// /// This routine should be used in situations where the width of the constant @@ -410,6 +416,9 @@ public: ref<ConstantExpr> Shl(const ref<ConstantExpr> &RHS); ref<ConstantExpr> LShr(const ref<ConstantExpr> &RHS); ref<ConstantExpr> AShr(const ref<ConstantExpr> &RHS); + + // Comparisons return a constant expression of width 1. + ref<ConstantExpr> Eq(const ref<ConstantExpr> &RHS); ref<ConstantExpr> Ne(const ref<ConstantExpr> &RHS); ref<ConstantExpr> Ult(const ref<ConstantExpr> &RHS); |