OmniSciDB  94e8789169
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CountDistinctDescriptor Struct Reference

#include <CountDistinctDescriptor.h>

Public Member Functions

size_t bitmapSizeBytes () const
size_t bitmapPaddedSizeBytes () const

Public Attributes

CountDistinctImplType impl_type_
int64_t min_val
int64_t bitmap_sz_bits
bool approximate
ExecutorDeviceType device_type
size_t sub_bitmap_count

Detailed Description

Definition at line 43 of file CountDistinctDescriptor.h.

Member Function Documentation

size_t CountDistinctDescriptor::bitmapPaddedSizeBytes ( ) const

Definition at line 59 of file CountDistinctDescriptor.h.

References align_to_int64(), bitmapSizeBytes(), device_type, GPU, and sub_bitmap_count.

Referenced by anonymous_namespace{QueryMemoryInitializer.cpp}::check_total_bitmap_memory(), count_distinct_set_union(), and partial_bitmap_union().

59  {
60  const auto effective_size = bitmapSizeBytes();
61  const auto padded_size =
63  ? align_to_int64(effective_size)
64  : effective_size;
65  return padded_size * sub_bitmap_count;
66  }
FORCE_INLINE HOST DEVICE T align_to_int64(T addr)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t CountDistinctDescriptor::bitmapSizeBytes ( ) const

Definition at line 51 of file CountDistinctDescriptor.h.

References approximate, Bitmap, bitmap_bits_to_bytes(), bitmap_sz_bits, CHECK, device_type, GPU, and impl_type_.

Referenced by bitmapPaddedSizeBytes(), count_distinct_set_size(), count_distinct_set_union(), and partial_bitmap_union().

51  {
53  const auto approx_reg_bytes =
54  (device_type == ExecutorDeviceType::GPU ? sizeof(int32_t) : 1);
55  return approximate ? (1 << bitmap_sz_bits) * approx_reg_bytes
57  }
size_t bitmap_bits_to_bytes(const size_t bitmap_sz)
CountDistinctImplType impl_type_
#define CHECK(condition)
Definition: Logger.h:197

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

The documentation for this struct was generated from the following file: