3 #define CUSTOM_WAVE_DEBUG 0
4 #include "expr_types.h"
5 #include "custom_wave_types.h"
6 #include "preset_types.h"
11 void free_custom_wave(custom_wave_t * custom_wave);
12 custom_wave_t * new_custom_wave(int id);
14 void free_per_point_eqn(per_point_eqn_t * per_point_eqn);
15 per_point_eqn_t * new_per_point_eqn(int index, param_t * param,gen_expr_t * gen_expr);
16 void reset_per_point_eqn_array(custom_wave_t * custom_wave);
17 custom_wave_t * find_custom_wave(int id, preset_t * preset, int create_flag);
19 int add_per_point_eqn(char * name, gen_expr_t * gen_expr, custom_wave_t * custom_wave);
20 void evalCustomWaveInitConditions();
21 void evalPerPointEqns();
22 custom_wave_t * nextCustomWave();
23 void load_unspecified_init_conds(custom_wave_t * custom_wave);
25 static inline void eval_custom_wave_init_conds(custom_wave_t * custom_wave) {
26 splay_traverse(eval_init_cond, custom_wave->init_cond_tree);
27 splay_traverse(eval_init_cond, custom_wave->per_frame_init_eqn_tree);