RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
BitVacuumerBenchmark.cpp File Reference
#include "adt/Bit.h"
#include "adt/Array1DRef.h"
#include "adt/Casts.h"
#include "adt/CoalescingOutputIterator.h"
#include "adt/DefaultInitAllocatorAdaptor.h"
#include "adt/Invariant.h"
#include "adt/PartitioningOutputIterator.h"
#include "bench/Common.h"
#include "bitstreams/BitVacuumerLSB.h"
#include "bitstreams/BitVacuumerMSB.h"
#include "bitstreams/BitVacuumerMSB16.h"
#include "bitstreams/BitVacuumerMSB32.h"
#include "common/Common.h"
#include <cassert>
#include <climits>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <memory>
#include <random>
#include <type_traits>
#include <vector>
#include <benchmark/benchmark.h>
#include <limits>
Include dependency graph for BitVacuumerBenchmark.cpp:

Go to the source code of this file.

Classes

struct  rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::BitStreamRoundtripTypes< T >
struct  rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::BitStreamRoundtripTypes< BitstreamFlavorLSB >
struct  rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::BitStreamRoundtripTypes< BitstreamFlavorMSB >
struct  rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::BitStreamRoundtripTypes< BitstreamFlavorMSB16 >
struct  rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::BitStreamRoundtripTypes< BitstreamFlavorMSB32 >
struct  rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::BitVectorLengthsGenerator
struct  rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}::C< b, T >

Namespaces

namespace  rawspeed
namespace  rawspeed::anonymous_namespace{BitVacuumerBenchmark.cpp}

Macros

#define GEN(A, B)
#define GEN_T(A)

Typedefs

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

Functions

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

Macro Definition Documentation

◆ GEN

#define GEN ( A,
B )
Value:
BENCHMARK_TEMPLATE2(BM, A, B)->Apply(CustomArguments)

Definition at line 209 of file BitVacuumerBenchmark.cpp.

◆ GEN_T

#define GEN_T ( A)
Value:
GEN(A, NoCoalescing); \
GEN(A, CoalesceTo<uint16_t>); \
GEN(A, CoalesceTo<uint32_t>); \
GEN(A, CoalesceTo<uint64_t>)

Definition at line 211 of file BitVacuumerBenchmark.cpp.

Function Documentation

◆ BENCHMARK_MAIN()

BENCHMARK_MAIN ( )