cuDDL
Loading...
Searching...
No Matches
Static Public Member Functions | Public Attributes | Friends | List of all members
cuddl::score_compatibility Struct Reference

Construction parameters of compatible score rows. More...

Static Public Member Functions

template<uint32_t K, size_t BucketCount, typename Layout = default_register_layout>
static constexpr score_compatibility current () noexcept
 Metadata for score rows produced by the current cuDDL construction path.
 

Public Attributes

uint8_t kmer_length {}
 
uint16_t bucket_count {}
 
uint16_t indexed_bucket_count {}
 
uint32_t score_encoder_identity {}
 
uint8_t exponent_bits {}
 
uint8_t mantissa_bits {}
 
uint32_t hash_identity {}
 
uint64_t hash_seed {}
 
uint8_t canonicalisation_policy {}
 
uint64_t blacklist_identity {}
 
uint8_t blacklist_version {}
 
uint16_t key_mask {}
 

Friends

bool operator== (score_compatibility const &, score_compatibility const &)=default
 

Detailed Description

Construction parameters of compatible score rows.

Definition at line 63 of file reference_database.cuh.

Member Function Documentation

◆ current()

template<uint32_t K, size_t BucketCount, typename Layout = default_register_layout>
static constexpr score_compatibility cuddl::score_compatibility::current ( )
inlinestaticconstexprnoexcept

Metadata for score rows produced by the current cuDDL construction path.

Definition at line 79 of file reference_database.cuh.

79 {
80 static_assert(K <= std::numeric_limits<uint8_t>::max());
81 static_assert(BucketCount <= std::numeric_limits<uint16_t>::max());
82 return {
83 .kmer_length = K,
84 .bucket_count = BucketCount,
85 .indexed_bucket_count = BucketCount,
86 .score_encoder_identity = 1U,
87 .exponent_bits = Layout::exponent_bits,
88 .mantissa_bits = Layout::mantissa_bits,
89 .hash_identity = 1U,
90 .hash_seed = detail::seed,
91 .canonicalisation_policy = 1U,
92 .blacklist_identity = 0U,
93 .blacklist_version = 0U,
94 // Genomic winner scores virtually never set the top bit, so folding it halves the
95 // dense index at no practical cost in selectivity.
96 .key_mask = 0x7fffU,
97 };
98 }
constexpr uint64_t seed
Domain separation constant folded into every packed k-mer before hashing.
Definition hash.cuh:18

Friends And Related Symbol Documentation

◆ operator==

bool operator== ( score_compatibility const &  ,
score_compatibility const &   
)
friend

Member Data Documentation

◆ blacklist_identity

uint64_t cuddl::score_compatibility::blacklist_identity {}

Definition at line 73 of file reference_database.cuh.

73{};

◆ blacklist_version

uint8_t cuddl::score_compatibility::blacklist_version {}

Definition at line 74 of file reference_database.cuh.

74{};

◆ bucket_count

uint16_t cuddl::score_compatibility::bucket_count {}

Definition at line 65 of file reference_database.cuh.

65{};

◆ canonicalisation_policy

uint8_t cuddl::score_compatibility::canonicalisation_policy {}

Definition at line 72 of file reference_database.cuh.

72{};

◆ exponent_bits

uint8_t cuddl::score_compatibility::exponent_bits {}

Definition at line 68 of file reference_database.cuh.

68{};

◆ hash_identity

uint32_t cuddl::score_compatibility::hash_identity {}

Definition at line 70 of file reference_database.cuh.

70{};

◆ hash_seed

uint64_t cuddl::score_compatibility::hash_seed {}

Definition at line 71 of file reference_database.cuh.

71{};

◆ indexed_bucket_count

uint16_t cuddl::score_compatibility::indexed_bucket_count {}

Definition at line 66 of file reference_database.cuh.

66{};

◆ key_mask

uint16_t cuddl::score_compatibility::key_mask {}

Definition at line 75 of file reference_database.cuh.

75{};

◆ kmer_length

uint8_t cuddl::score_compatibility::kmer_length {}

Definition at line 64 of file reference_database.cuh.

64{};

◆ mantissa_bits

uint8_t cuddl::score_compatibility::mantissa_bits {}

Definition at line 69 of file reference_database.cuh.

69{};

◆ score_encoder_identity

uint32_t cuddl::score_compatibility::score_encoder_identity {}

Definition at line 67 of file reference_database.cuh.

67{};

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