MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
Kernels.cpp File Reference
+ Include dependency graph for Kernels.cpp:

Go to the source code of this file.

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Kinesis
 
namespace  MayaFlux::Kinesis::Discrete
 

Functions

double MayaFlux::Kinesis::Discrete::breakpoint_curve (std::span< const double > window, std::span< const double > coefs) noexcept
 Piecewise linear curve through (x, y) points.
 
double MayaFlux::Kinesis::Discrete::chebyshev_series (std::span< const double > window, std::span< const double > coefs) noexcept
 Sum of coefs[k] * T_k(window[0]) over Chebyshev polynomials.
 
double MayaFlux::Kinesis::Discrete::coupled_map_lattice (std::span< const double > window, std::span< double > coefs) noexcept
 Ring of logistic maps with nearest neighbour coupling.
 
std::vector< double > MayaFlux::Kinesis::Discrete::coupled_map_lattice_state (std::span< const double > cells, double r, double epsilon)
 Builds the array coupled_map_lattice reads and writes.
 
double MayaFlux::Kinesis::Discrete::dilate (std::span< const double > window, std::span< const double > coefs) noexcept
 Maximum over the window of window[k] + coefs[k], the grayscale dilation.
 
double MayaFlux::Kinesis::Discrete::erode (std::span< const double > window, std::span< const double > coefs) noexcept
 Minimum over the window of window[k] - coefs[k], the grayscale erosion.
 
double MayaFlux::Kinesis::Discrete::fourier_series (std::span< const double > window, std::span< const double > coefs) noexcept
 Fourier series of a phase.
 
double MayaFlux::Kinesis::Discrete::goertzel (std::span< const double > window, std::span< const double > coefs) noexcept
 Weighted energy of the window at chosen frequencies.
 
double MayaFlux::Kinesis::Discrete::horner (std::span< const double > coefficients, double x) noexcept
 Horner evaluation, coefficients highest power first.
 
double MayaFlux::Kinesis::Discrete::iterated_polynomial (std::span< const double > window, std::span< const double > coefs) noexcept
 Polynomial of the previous value, coefs highest power first.
 
double MayaFlux::Kinesis::Discrete::kuramoto (std::span< const double > window, std::span< double > coefs) noexcept
 Kuramoto oscillators pulled toward their mean phase.
 
std::vector< double > MayaFlux::Kinesis::Discrete::kuramoto_state (std::span< const double > omegas, double coupling, std::span< const double > phases={})
 Builds the array kuramoto reads and writes.
 
double MayaFlux::Kinesis::Discrete::lorenz_attractor (std::span< const double > window, std::span< double > coefs) noexcept
 Lorenz system stepped once by fourth order Runge-Kutta, returning x.
 
std::vector< double > MayaFlux::Kinesis::Discrete::lorenz_state (double dt=0.005, double sigma=10.0, double rho=28.0, double beta=8.0/3.0, double x=1.0, double y=1.0, double z=1.0)
 Builds the array lorenz_attractor reads and writes.
 
double MayaFlux::Kinesis::Discrete::modular_recurrence (std::span< const double > window, std::span< const double > coefs) noexcept
 Weighted sum wrapped into [0, modulus).
 
double MayaFlux::Kinesis::Discrete::pattern_lookup (std::span< const double > window, std::span< const double > coefs) noexcept
 Table indexed by the recent shape of the window.
 
double MayaFlux::Kinesis::Discrete::phasor_bank (std::span< const double > window, std::span< double > coefs) noexcept
 Sum of N sinusoidal partials, each with its own slow amplitude swell.
 
std::vector< double > MayaFlux::Kinesis::Discrete::phasor_bank_state (std::span< const double > increments, std::span< const double > scales={}, std::span< const double > am_increments={}, std::span< const double > phases={}, std::span< const double > am_phases={})
 Builds the array phasor_bank reads and writes.
 
double MayaFlux::Kinesis::Discrete::polynomial_lags (std::span< const double > window, std::span< const double > coefs) noexcept
 Polynomial in several lags at once.
 
double MayaFlux::Kinesis::Discrete::quantile (std::span< const double > window, std::span< const double > coefs)
 Quantile of the whole window, interpolating between ranks.
 
double MayaFlux::Kinesis::Discrete::rotor_bank (std::span< const double > window, std::span< double > coefs) noexcept
 Sum of N sinusoids advanced by complex rotation instead of a sine call.
 
std::vector< double > MayaFlux::Kinesis::Discrete::rotor_bank_state (std::span< const double > increments, std::span< const double > scales={}, std::span< const double > phases={})
 Builds the array rotor_bank reads and writes.
 
double MayaFlux::Kinesis::Discrete::step_sequence (std::span< const double > window, std::span< double > coefs) noexcept
 Table of values advanced by a trigger.
 
std::vector< double > MayaFlux::Kinesis::Discrete::step_sequence_state (std::span< const double > values, double threshold=0.5)
 Builds the array step_sequence reads and writes.
 
double MayaFlux::Kinesis::Discrete::table_lookup (std::span< const double > window, std::span< const double > coefs) noexcept
 Transfer table indexed by the current value.
 
double MayaFlux::Kinesis::Discrete::table_lookup_previous (std::span< const double > window, std::span< const double > coefs) noexcept
 table_lookup indexed by window[1] instead of window[0].
 
double MayaFlux::Kinesis::Discrete::tapped_sum (std::span< const double > window, std::span< const double > coefs) noexcept
 Sum of gain * window[lag] over (lag, gain) pairs.
 
double MayaFlux::Kinesis::Discrete::weighted_sum (std::span< const double > window, std::span< const double > coefs) noexcept
 Sum of window[k] * coefs[k] over the shorter of the two.
 
double MayaFlux::Kinesis::Discrete::zscore (std::span< const double > window, std::span< const double > coefs) noexcept
 How far the newest value sits from the rest of the window, in standard deviations.