MCPcopy Create free account
hub / github.com/TileDB-Inc/TileDB / check_subarray

Function check_subarray

test/support/src/helpers.cc:334–365  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

332
333template <class T>
334void check_subarray(
335 tiledb::sm::Subarray& subarray, const SubarrayRanges<T>& ranges) {
336 // Check empty subarray
337 auto subarray_range_num = subarray.range_num();
338 if (ranges.empty()) {
339 CHECK(subarray_range_num == 0);
340 return;
341 }
342 uint64_t range_num = 1;
343 for (const auto& dim_ranges : ranges)
344 range_num *= dim_ranges.size() / 2;
345 CHECK(subarray_range_num == range_num);
346
347 // Check dim num
348 auto dim_num = subarray.dim_num();
349 CHECK(dim_num == ranges.size());
350
351 // Check ranges
352 uint64_t dim_range_num = 0;
353 const type::Range* range;
354 for (unsigned i = 0; i < dim_num; ++i) {
355 CHECK_NOTHROW(subarray.get_range_num(i, &dim_range_num));
356 CHECK(dim_range_num == ranges[i].size() / 2);
357 for (uint64_t j = 0; j < dim_range_num; ++j) {
358 CHECK_NOTHROW(subarray.get_range(i, j, &range));
359 auto r = (const T*)range->data();
360
361 CHECK(r[0] == ranges[i][2 * j]);
362 CHECK(r[1] == ranges[i][2 * j + 1]);
363 }
364 }
365}
366
367template <class T>
368void check_subarray(

Callers 5

ReaderMethod · 0.85
WriterBaseMethod · 0.85
DenseReaderMethod · 0.85
SparseIndexReaderBaseMethod · 0.85

Calls 11

ndimMethod · 0.80
range_numMethod · 0.45
emptyMethod · 0.45
sizeMethod · 0.45
dim_numMethod · 0.45
get_range_numMethod · 0.45
get_rangeMethod · 0.45
dataMethod · 0.45
schemaMethod · 0.45
arrayMethod · 0.45
domainMethod · 0.45

Tested by

no test coverage detected