factoring out of low-level vector indexing to make available to ZAM

This commit is contained in:
Vern Paxson 2021-05-30 17:51:54 -07:00
parent 0742d2da29
commit 65be1b5d76
2 changed files with 42 additions and 16 deletions

View file

@ -973,6 +973,15 @@ extern VectorValPtr index_slice(VectorVal* vect, int first, int last);
// (exactly) two values.
extern StringValPtr index_string(const String* s, const ListVal* lv);
// Returns a vector indexed by a boolean vector.
extern VectorValPtr vector_bool_select(VectorTypePtr vt, const VectorVal* v1,
const VectorVal* v2);
// Returns a vector indexed by a numeric vector (which specifies the
// indices to select).
extern VectorValPtr vector_int_select(VectorTypePtr vt, const VectorVal* v1,
const VectorVal* v2);
class IndexExprWhen final : public IndexExpr {
public:
static inline std::vector<ValPtr> results = {};