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

#include <distortion.hpp>

Static Public Attributes

static constexpr double kNewtonTolerance = 1e-9
 Convergence threshold normalized to the current produced by one volt through the modeled resistance.
static constexpr int kMaxNewtonIterations = 8
 Hard cap on inner-loop iterations per sample.
static constexpr int kMaxNewtonIterationsPerSample = 2 * kMaxNewtonIterations
 TR-BDF2 has two implicit stages, each with the cap above.
static constexpr double kAdaaEpsilon = 1e-5
 ADAA fallback guard on |v[n] āˆ’ v[nāˆ’1]|.

Member Data Documentation

◆ kAdaaEpsilon

double pulp::signal::ClipperSolverConfig::kAdaaEpsilon = 1e-5
staticconstexpr

ADAA fallback guard on |v[n] āˆ’ v[nāˆ’1]|.

Below this the difference quotient loses precision and the plain evaluation is used. [design parameter] default 1e-5, range 1e-7 .. 1e-3.

◆ kMaxNewtonIterations

int pulp::signal::ClipperSolverConfig::kMaxNewtonIterations = 8
staticconstexpr

Hard cap on inner-loop iterations per sample.

An unbounded loop in process() is not RT-safe; hitting the cap clamps to the last iterate, which is a bounded worst-case degrade rather than a failure. [design parameter] default 8, range 4 .. 16.

◆ kMaxNewtonIterationsPerSample

int pulp::signal::ClipperSolverConfig::kMaxNewtonIterationsPerSample = 2 * kMaxNewtonIterations
staticconstexpr

TR-BDF2 has two implicit stages, each with the cap above.

This is the total per-sample ceiling exposed to RT-contract tests.

◆ kNewtonTolerance

double pulp::signal::ClipperSolverConfig::kNewtonTolerance = 1e-9
staticconstexpr

Convergence threshold normalized to the current produced by one volt through the modeled resistance.

Each solve uses kNewtonTolerance / R, making this approximately a node-voltage tolerance instead of an absolute ampere threshold that mutes quiet input. [design parameter] default 1e-9, range 1e-11 .. 1e-6.


The documentation for this struct was generated from the following file:
  • /home/runner/work/pulp/pulp/core/signal/include/pulp/signal/distortion.hpp