OmniSciDB  c1a53651b2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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 41 of file CountDistinctDescriptor.h.

Member Function Documentation

size_t CountDistinctDescriptor::bitmapPaddedSizeBytes ( ) const

Definition at line 57 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().

57  {
58  const auto effective_size = bitmapSizeBytes();
59  const auto padded_size =
61  ? align_to_int64(effective_size)
62  : effective_size;
63  return padded_size * sub_bitmap_count;
64  }
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 49 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().

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

+ 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: