RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp} Namespace Reference

Classes

struct  BitStreamRoundtripTypes
struct  BitStreamRoundtripTypes< BitstreamFlavorLSB >
struct  BitStreamRoundtripTypes< BitstreamFlavorMSB >
struct  BitStreamRoundtripTypes< BitstreamFlavorMSB16 >
struct  BitStreamRoundtripTypes< BitstreamFlavorMSB32 >
struct  BitVectorLengthsGenerator
struct  C

Typedefs

using NoCoalescing = C<false, uint8_t>
template<typename T>
using CoalesceTo = C<true, T>

Functions

template<bool ShouldCoalesce, typename UnderlyingOutputIterator>
requires (!ShouldCoalesce)
auto getMaybeCoalescingOutputIterator (UnderlyingOutputIterator e)
template<bool ShouldCoalesce, typename UnderlyingOutputIterator>
requires (ShouldCoalesce)
auto getMaybeCoalescingOutputIterator (UnderlyingOutputIterator e)
template<typename T, typename C>
void BM (benchmark::State &state)
void CustomArguments (benchmark::internal::Benchmark *b)
 GEN_T (BitstreamFlavorLSB)
 GEN_T (BitstreamFlavorMSB)
 GEN_T (BitstreamFlavorMSB16)
 GEN_T (BitstreamFlavorMSB32)

Typedef Documentation

◆ CoalesceTo

template<typename T>
using rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::CoalesceTo = C<true, T>

Definition at line 123 of file BitVacuumerBenchmark.cpp.

◆ NoCoalescing

using rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::NoCoalescing = C<false, uint8_t>

Definition at line 122 of file BitVacuumerBenchmark.cpp.

Function Documentation

◆ BM()

template<typename T, typename C>
void rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::BM ( benchmark::State & state)

Definition at line 137 of file BitVacuumerBenchmark.cpp.

References assert(), rawspeed::Array1DRef< T >::begin(), BM(), rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::BitVectorLengthsGenerator::getInput(), getMaybeCoalescingOutputIterator(), rawspeed::implicit_cast(), rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::BitVectorLengthsGenerator::numBitsToProduce, rawspeed::PartitioningOutputIterator(), and rawspeed::roundUpDivisionSafe().

Referenced by BM().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CustomArguments()

void rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::CustomArguments ( benchmark::internal::Benchmark * b)

Definition at line 186 of file BitVacuumerBenchmark.cpp.

References benchmarkDryRun(), and CustomArguments().

Referenced by CustomArguments().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GEN_T() [1/4]

rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::GEN_T ( BitstreamFlavorLSB )

◆ GEN_T() [2/4]

rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::GEN_T ( BitstreamFlavorMSB )

◆ GEN_T() [3/4]

rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::GEN_T ( BitstreamFlavorMSB16 )

◆ GEN_T() [4/4]

rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::GEN_T ( BitstreamFlavorMSB32 )

◆ getMaybeCoalescingOutputIterator() [1/2]

template<bool ShouldCoalesce, typename UnderlyingOutputIterator>
requires (ShouldCoalesce)
auto rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::getMaybeCoalescingOutputIterator ( UnderlyingOutputIterator e)

Definition at line 133 of file BitVacuumerBenchmark.cpp.

References rawspeed::CoalescingOutputIterator(), and getMaybeCoalescingOutputIterator().

Here is the call graph for this function:

◆ getMaybeCoalescingOutputIterator() [2/2]

template<bool ShouldCoalesce, typename UnderlyingOutputIterator>
requires (!ShouldCoalesce)
auto rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::getMaybeCoalescingOutputIterator ( UnderlyingOutputIterator e)

Definition at line 127 of file BitVacuumerBenchmark.cpp.

References getMaybeCoalescingOutputIterator().

Referenced by BM(), and getMaybeCoalescingOutputIterator().

Here is the call graph for this function:
Here is the caller graph for this function: