OmniSciDB  c07336695a
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

◆ bitmapPaddedSizeBytes()

size_t CountDistinctDescriptor::bitmapPaddedSizeBytes ( ) const
inline

Definition at line 59 of file CountDistinctDescriptor.h.

References align_to_int64(), and GPU.

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:

◆ bitmapSizeBytes()

size_t CountDistinctDescriptor::bitmapSizeBytes ( ) const
inline

Definition at line 51 of file CountDistinctDescriptor.h.

References Bitmap, bitmap_bits_to_bytes(), CHECK, and GPU.

Referenced by 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:187
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ approximate

◆ bitmap_sz_bits

◆ device_type

◆ impl_type_

◆ min_val

◆ sub_bitmap_count


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