summaryrefslogtreecommitdiff
path: root/libs/ezsat/ezsat.h
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-07-30 17:17:31 +0200
committerClifford Wolf <clifford@clifford.at>2014-07-30 18:37:17 +0200
commit9b566a7efa9813b0dd343bc96fe145f9e3e68d4f (patch)
tree27c18c759118f3578cf78da902ae130c380c7ab5 /libs/ezsat/ezsat.h
parent45fd26b76e1ca72927ab0a8ce207aab0d024eba3 (diff)
Added native support for shift operations to ezSAT
Diffstat (limited to 'libs/ezsat/ezsat.h')
-rw-r--r--libs/ezsat/ezsat.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/ezsat/ezsat.h b/libs/ezsat/ezsat.h
index 83e1b23c..c5ef6b0a 100644
--- a/libs/ezsat/ezsat.h
+++ b/libs/ezsat/ezsat.h
@@ -237,7 +237,7 @@ public:
std::vector<int> vec_iff(const std::vector<int> &vec1, const std::vector<int> &vec2);
std::vector<int> vec_ite(const std::vector<int> &vec1, const std::vector<int> &vec2, const std::vector<int> &vec3);
- std::vector<int> vec_ite(int sel, const std::vector<int> &vec2, const std::vector<int> &vec3);
+ std::vector<int> vec_ite(int sel, const std::vector<int> &vec1, const std::vector<int> &vec2);
std::vector<int> vec_count(const std::vector<int> &vec, int numBits, bool clip = true);
std::vector<int> vec_add(const std::vector<int> &vec1, const std::vector<int> &vec2);
@@ -265,6 +265,10 @@ public:
std::vector<int> vec_shr(const std::vector<int> &vec1, int shift, bool signExtend = false) { return vec_shl(vec1, -shift, signExtend); }
std::vector<int> vec_srr(const std::vector<int> &vec1, int shift) { return vec_srl(vec1, -shift); }
+ std::vector<int> vec_shift(const std::vector<int> &vec1, int shift, int extend_left, int extend_right);
+ std::vector<int> vec_shift_right(const std::vector<int> &vec1, const std::vector<int> &vec2, bool vec2_signed, int extend_left, int extend_right);
+ std::vector<int> vec_shift_left(const std::vector<int> &vec1, const std::vector<int> &vec2, bool vec2_signed, int extend_left, int extend_right);
+
void vec_append(std::vector<int> &vec, const std::vector<int> &vec1) const;
void vec_append_signed(std::vector<int> &vec, const std::vector<int> &vec1, int64_t value);
void vec_append_unsigned(std::vector<int> &vec, const std::vector<int> &vec1, uint64_t value);