7#ifndef OAKFIELD_STIMULUS_DIGAMMA_SQUARE_H
8#define OAKFIELD_STIMULUS_DIGAMMA_SQUARE_H
77#if defined(SIM_HAVE_VDSP)
Shared spatial coordinate helpers for stimulus operators.
SimResult sim_add_digamma_square_operator(struct SimContext *context, size_t field_index, const SimStimulusDigammaSquareConfig *config, size_t *out_index)
Register a digamma-square operator while overriding the target field.
SimDigammaSquareWaveformShape
Waveform shape for digamma square stimulus.
Definition digamma_square.h:27
@ SIM_DIGAMMA_SQUARE_WAVEFORM_DEFAULT
Definition digamma_square.h:28
@ SIM_DIGAMMA_SQUARE_WAVEFORM_TRIANGLE
Definition digamma_square.h:29
@ SIM_DIGAMMA_SQUARE_WAVEFORM_SAWTOOTH
Definition digamma_square.h:30
SimResult sim_stimulus_digamma_square_config(struct SimContext *context, size_t operator_index, SimStimulusDigammaSquareConfig *out_config)
Copy the current digamma-square configuration from a registered operator.
SimResult sim_stimulus_digamma_square_update(struct SimContext *context, size_t operator_index, const SimStimulusDigammaSquareConfig *config)
Replace or renormalize a registered digamma-square stimulus configuration.
SimResult sim_add_stimulus_digamma_square_operator(struct SimContext *context, const SimStimulusDigammaSquareConfig *config, size_t *out_index)
Register a digamma square stimulus operator.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
Field mixing/coupling operators (linear, multiply, crossfade, AM/FM/PM, etc.).
SimMixerMode
Mixing strategies supported by the mixer operator family.
Definition mixer.h:25
SimClockMode
Clock selection for time-sensitive operators.
Definition operator.h:244
Declarative complex-first operator splitting (substep expansion at plan time).
Analytic special functions, finite ladder helpers, and q-analogs.
SimDigammaBackend
Backend choice for digamma/trigamma evaluation.
Definition special_functions.h:64
Explicit in-memory representation for a complex double scalar (re, im)
Definition field.h:175
Simulation runtime state.
Definition sim_context.h:70
State for digamma square stimulus.
Definition digamma_square.h:67
SimStimulusDigammaSquareConfig config
Definition digamma_square.h:68
SimComplexDouble * buffer_complex
Definition digamma_square.h:75
SimClockMode clock_mode
Definition digamma_square.h:69
double * buffer
Definition digamma_square.h:73
size_t buffer_complex_capacity
Definition digamma_square.h:76
double locked_time
Definition digamma_square.h:70
char symbolic[192]
Definition digamma_square.h:84
size_t last_step_index
Definition digamma_square.h:71
size_t buffer_capacity
Definition digamma_square.h:74
bool clock_initialized
Definition digamma_square.h:72
Shared coordinate mapping configuration used by stimulus operators.
Definition coords.h:53
Shared configuration for digamma square stimulus variants.
Definition digamma_square.h:36
double a
Definition digamma_square.h:50
bool scale_by_dt
Definition digamma_square.h:54
double time_offset
Definition digamma_square.h:46
bool use_warp
Definition digamma_square.h:56
SimDigammaBackend backend
Definition digamma_square.h:60
double tolerance
Definition digamma_square.h:52
double omega
Definition digamma_square.h:43
double warp_bias
Definition digamma_square.h:58
bool use_wavevector
Definition digamma_square.h:55
SimDigammaSquareWaveformShape shape
Definition digamma_square.h:61
size_t field_index
Definition digamma_square.h:37
SimMixerMode warp_mode
Definition digamma_square.h:59
double amplitude
Definition digamma_square.h:39
double phase
Definition digamma_square.h:44
double velocity
Definition digamma_square.h:48
size_t warp_field_index
Definition digamma_square.h:38
double rotation
Definition digamma_square.h:51
double ky
Definition digamma_square.h:42
double kx
Definition digamma_square.h:41
double wavenumber
Definition digamma_square.h:40
double nominal_dt
Definition digamma_square.h:47
bool fixed_clock
Definition digamma_square.h:53
double warp_mix
Definition digamma_square.h:57
SimStimulusCoordConfig coord
Definition digamma_square.h:45
double harmonics
Definition digamma_square.h:49