cuSBF
Loading...
Searching...
No Matches
include
cusbf
detail
record_math.cuh
Go to the documentation of this file.
1
#pragma once
2
3
#include <cstdint>
4
5
namespace
cusbf::detail
{
6
7
template
<
typename
Config>
8
[[
nodiscard
]]
constexpr
__host__
__device__
uint64_t
record_symbol_count
(
uint64_t
bases
)
noexcept
{
9
return
bases
/
Config::symbolWidth
;
10
}
11
12
template
<
typename
Config>
13
[[
nodiscard
]]
constexpr
__host__
__device__
uint64_t
record_kmer_count
(
uint64_t
bases
)
noexcept
{
14
const
uint64_t
symbols
=
record_symbol_count<Config>
(
bases
);
15
return
symbols
<
Config::k
? 0 :
symbols
-
Config::k
+ 1;
16
}
17
18
}
// namespace cusbf::detail
cusbf::detail
Definition
Alphabet.cuh:11
cusbf::detail::record_symbol_count
constexpr __host__ __device__ uint64_t record_symbol_count(uint64_t bases) noexcept
Definition
record_math.cuh:8
cusbf::detail::record_kmer_count
constexpr __host__ __device__ uint64_t record_kmer_count(uint64_t bases) noexcept
Definition
record_math.cuh:13
cusbf::detail::separatorPositionAlwaysEncodesInvalid
consteval bool separatorPositionAlwaysEncodesInvalid(char *input, uint64_t separatorPosition, uint64_t index)
Recursively tests whether placing the separator byte at any position in an input of valid bytes alway...
Definition
Alphabet.cuh:37
cusbf::Config::symbolWidth
static constexpr uint64_t symbolWidth
Input bytes per symbol.
Definition
config.cuh:49
cusbf::Config::k
static constexpr uint16_t k
K-mer length in symbols.
Definition
config.cuh:39
Generated by
1.9.8