Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::rt Namespace Reference

Namespaces

namespace  detail

Classes

struct  RtWorkCounts
 A snapshot (or a difference of two snapshots) of the counted operations. More...
class  RtWorkCounter
 Measures the counted work done between construction and delta(). More...

Functions

void count_fft () noexcept
 Record one FFT execution.
void count_trig (std::uint64_t n=1) noexcept
 Record n transcendental evaluations.
void count_bins (std::uint64_t n) noexcept
 Record n units of per-bin accumulation work.
RtWorkCounts work_counts () noexcept
 Current process-wide totals.
template<typename T>
std::complex< T > polar (T magnitude, T phase) noexcept
 Counted std::polar. Bit-identical result.
template<typename T>
T sin (T x) noexcept
 Counted std::sin. Bit-identical result.
template<typename T>
T cos (T x) noexcept
 Counted std::cos. Bit-identical result.
template<typename T>
T exp (T x) noexcept
 Counted std::exp. Bit-identical result.
template<typename T>
T arg (const std::complex< T > &z) noexcept
 Counted std::arg (an atan2). Bit-identical result.

Variables

constexpr bool kWorkCountersEnabled = 0 != 0
 True when this build counts operations.

Function Documentation

◆ arg()

template<typename T>
T pulp::signal::rt::arg ( const std::complex< T > & z)
inlinenoexcept

Counted std::arg (an atan2). Bit-identical result.

◆ cos()

template<typename T>
T pulp::signal::rt::cos ( T x)
inlinenoexcept

Counted std::cos. Bit-identical result.

◆ count_bins()

void pulp::signal::rt::count_bins ( std::uint64_t n)
inlinenoexcept

Record n units of per-bin accumulation work.

◆ count_fft()

void pulp::signal::rt::count_fft ( )
inlinenoexcept

Record one FFT execution.

◆ count_trig()

void pulp::signal::rt::count_trig ( std::uint64_t n = 1)
inlinenoexcept

Record n transcendental evaluations.

◆ exp()

template<typename T>
T pulp::signal::rt::exp ( T x)
inlinenoexcept

Counted std::exp. Bit-identical result.

◆ polar()

template<typename T>
std::complex< T > pulp::signal::rt::polar ( T magnitude,
T phase )
inlinenoexcept

Counted std::polar. Bit-identical result.

◆ sin()

template<typename T>
T pulp::signal::rt::sin ( T x)
inlinenoexcept

Counted std::sin. Bit-identical result.

◆ work_counts()

RtWorkCounts pulp::signal::rt::work_counts ( )
inlinenoexcept

Current process-wide totals.

Take one before and one after the work of interest and subtract.

Variable Documentation

◆ kWorkCountersEnabled

bool pulp::signal::rt::kWorkCountersEnabled = 0 != 0
inlineconstexpr

True when this build counts operations.

A gate that reads counts must check this first: with counting compiled out every delta is zero, which would read as "no work" rather than "not measured".