| 739 | } |
| 740 | |
| 741 | uint64_t Subarray::cell_num() const { |
| 742 | const auto& array_schema = array_->array_schema_latest(); |
| 743 | unsigned dim_num = array_schema.dim_num(); |
| 744 | uint64_t ret = 1; |
| 745 | for (unsigned d = 0; d < dim_num; ++d) { |
| 746 | auto dim{array_schema.dimension_ptr(d)}; |
| 747 | uint64_t num = 0; |
| 748 | auto& range_subset = range_subset_[d]; |
| 749 | for (uint64_t index = 0; index < range_subset.num_ranges(); ++index) |
| 750 | num += dim->domain_range(range_subset[index]); |
| 751 | ret = utils::math::safe_mul(ret, num); |
| 752 | } |
| 753 | |
| 754 | return ret; |
| 755 | } |
| 756 | |
| 757 | uint64_t Subarray::cell_num(uint64_t range_idx) const { |
| 758 | uint64_t cell_num = 1, range_cell_num; |
no test coverage detected