11#ifndef OAKFIELD_REMAINDER_H
12#define OAKFIELD_REMAINDER_H
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
Declarative complex-first operator splitting (substep expansion at plan time).
SimRemainderComplexMode
Complex processing mode for remainder operator.
Definition remainder.h:39
@ SIM_REMAINDER_COMPLEX_MODE_COMPONENT
Definition remainder.h:40
@ SIM_REMAINDER_COMPLEX_MODE_POLAR
Definition remainder.h:42
SimResult sim_remainder_config(struct SimContext *context, size_t operator_index, SimRemainderOperatorConfig *out_config)
Copy the current remainder configuration from a registered operator.
SimResult sim_remainder_update(struct SimContext *context, size_t operator_index, const SimRemainderOperatorConfig *config)
Replace or renormalize a registered remainder configuration.
SimResult sim_add_remainder_operator(struct SimContext *context, const SimRemainderOperatorConfig *config, size_t *out_index)
Register a remainder operator that measures f(warped) - f(reference).
SimRemainderNonlinearity
Available nonlinearities applied before differencing.
Definition remainder.h:28
@ SIM_REMAINDER_NONLINEARITY_POWER
Definition remainder.h:32
@ SIM_REMAINDER_NONLINEARITY_ABS
Definition remainder.h:30
@ SIM_REMAINDER_NONLINEARITY_LOG_ABS
Definition remainder.h:31
@ SIM_REMAINDER_NONLINEARITY_TANH
Definition remainder.h:33
@ SIM_REMAINDER_NONLINEARITY_IDENTITY
Definition remainder.h:29
Simulation runtime state.
Definition sim_context.h:70
Configuration for the remainder operator.
Definition remainder.h:49
size_t output_field
Definition remainder.h:52
size_t warped_field
Definition remainder.h:50
bool scale_by_dt
Definition remainder.h:59
double exponent
Definition remainder.h:55
SimRemainderNonlinearity nonlinearity
Definition remainder.h:57
double weight
Definition remainder.h:53
size_t reference_field
Definition remainder.h:51
SimRemainderComplexMode complex_mode
Definition remainder.h:60
double epsilon
Definition remainder.h:56
double bias
Definition remainder.h:54
bool accumulate
Definition remainder.h:58