00001 #ifndef CUSTOM_WAVE_H
00002 #define CUSTOM_WAVE_H
00003 #define CUSTOM_WAVE_DEBUG 0
00004 #include "expr_types.h"
00005 #include "custom_wave_types.h"
00006 #include "preset_types.h"
00007
00008 void free_custom_wave(custom_wave_t * custom_wave);
00009 custom_wave_t * new_custom_wave(int id);
00010
00011 void free_per_point_eqn(per_point_eqn_t * per_point_eqn);
00012 per_point_eqn_t * new_per_point_eqn(int index, param_t * param,gen_expr_t * gen_expr);
00013 void reset_per_point_eqn_array(custom_wave_t * custom_wave);
00014 custom_wave_t * find_custom_wave(int id, preset_t * preset, int create_flag);
00015
00016 int add_per_point_eqn(char * name, gen_expr_t * gen_expr, custom_wave_t * custom_wave);
00017 inline void evalCustomWaveInitConditions();
00018 inline void evalPerPointEqns();
00019 inline custom_wave_t * nextCustomWave();
00020 void load_unspecified_init_conds(custom_wave_t * custom_wave);
00021
00022 #endif