def get_queries()

in datasets/toy_binary.py [0:0]


    def get_queries(self, feats, N=None):
        col_map = {}
        for i, col in enumerate(self.domain.keys()):
            col_map[col] = i

        feat_pos = []
        cur = 0
        for f, sz in enumerate(self.domain.values()):
            feat_pos.append(list(range(cur, cur + sz)))
            cur += sz

        queries = []

        if N is None:
            ## output |feats| tuples of coordinate ranges if we want to enumerate all queries
            for feat in feats:
                queries.append([feat_pos[col_map[col]] for col in feat])

            num_queries = sum(
                [reduce(lambda x, y: x * y, [len(i) for i in q], 1) for q in queries]
            )

            return queries, num_queries

        for feat in feats:
            positions = []
            for col in feat:
                i = col_map[col]
                positions.append(feat_pos[i])
            for tup in itertools.product(*positions):
                queries.append(tup)

        num_queries = len(queries) if N == -1 else N

        return np.array(queries, np.int)[:num_queries], num_queries