24 for (int32_t i=0; i<n_sub_blocks; i++)
28 block_idxs_min[i] = i;
29 block_idxs_max[i] = i;
36 for (int32_t i=0; i<n_sub_blocks; i++)
38 if (block_idxs_min[i] != block_idxs_max[i])
39 SG_ERROR(
"Blocks do overlap and it is not supported\n")
42 SG_ERROR(
"Block with smallest indices start from %d while 0 is required\n", min_idxs[0])
44 for (int32_t i=1; i<n_sub_blocks; i++)
46 if (min_idxs[i] > max_idxs[i-1])
47 SG_ERROR(
"There is an unsupported gap between %d and %d vectors\n", max_idxs[i-1], min_idxs[i])
48 else if (min_idxs[i] < max_idxs[i-1])
49 SG_ERROR(
"Blocks do overlap and it is not supported\n")
54 SG_FREE(block_idxs_min);
55 SG_FREE(block_idxs_max);
CSGObject * get_next_element()
static void qsort_index(T1 *output, T2 *index, uint32_t size)
bool check_blocks_list(CList *blocks)
CSGObject * get_first_element()
class IndexBlock used to represent contiguous indices of one group (e.g. block of related features) ...
int32_t get_num_elements()
index_t get_min_index() const
all of classes and functions are contained in the shogun namespace
index_t get_max_index() const
Class List implements a doubly connected list for low-level-objects.