|
Oakfield API Documentation 1.0.0
Numerical core APIs
|
Multiplicative multifractal stimulus built from centered octave products. More...
#include "coords.h"#include "oakfield/operator_split.h"#include <stdbool.h>#include <stddef.h>#include <stdint.h>

Go to the source code of this file.
Classes | |
| struct | SimStimulusMultifractalConfig |
| Configuration for seeded multiplicative multifractal stimulus noise. More... | |
Typedefs | |
| typedef struct SimStimulusMultifractalConfig | SimStimulusMultifractalConfig |
| Configuration for seeded multiplicative multifractal stimulus noise. | |
Functions | |
| SimResult | sim_add_stimulus_multifractal_operator (struct SimContext *context, const SimStimulusMultifractalConfig *config, size_t *out_index) |
| Register a multiplicative multifractal stimulus operator. | |
| SimResult | sim_stimulus_multifractal_config (struct SimContext *context, size_t operator_index, SimStimulusMultifractalConfig *out_config) |
| Copy the current multifractal configuration from a registered operator. | |
| SimResult | sim_stimulus_multifractal_update (struct SimContext *context, size_t operator_index, const SimStimulusMultifractalConfig *config) |
| Replace or renormalize a registered multifractal stimulus configuration. | |
Multiplicative multifractal stimulus built from centered octave products.
Synthesizes multiplicative fractal noise using a seeded multi-octave cosine basis: M(x) = prod_o (1 + 0.5 * lambda^{-H o} * cos(2*pi*lambda^o*x + phi_o)) - 1.
For complex fields, the imaginary channel uses the corresponding centered multiplicative product of the sine basis.
| SimResult sim_add_stimulus_multifractal_operator | ( | struct SimContext * | context, |
| const SimStimulusMultifractalConfig * | config, | ||
| size_t * | out_index | ||
| ) |
Register a multiplicative multifractal stimulus operator.
The implementation copies and normalizes config, initializes octave phases from the configured seed, and registers the multifractal operator.
| context | Simulation context that will own the operator. | |
| config | Optional multifractal configuration; NULL selects normalized defaults. | |
| [out] | out_index | Optional destination for the registered operator index. |
| SimResult sim_stimulus_multifractal_config | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| SimStimulusMultifractalConfig * | out_config | ||
| ) |
Copy the current multifractal configuration from a registered operator.
| context | Simulation context containing the operator. | |
| operator_index | Index returned by sim_add_stimulus_multifractal_operator(). | |
| [out] | out_config | Receives the operator's normalized configuration. |
| SimResult sim_stimulus_multifractal_update | ( | struct SimContext * | context, |
| size_t | operator_index, | ||
| const SimStimulusMultifractalConfig * | config | ||
| ) |
Replace or renormalize a registered multifractal stimulus configuration.
Passing NULL for config keeps the existing configuration and reapplies normalization. A successful update refreshes octave data and invalidates the scheduler plan.
| context | Simulation context containing the operator. |
| operator_index | Index of the multifractal operator to update. |
| config | Optional replacement configuration. |