#if !defined(PROPAGATION_H_H) #define PROPAGATION_H_H #include #include #include #include "type-def.h" #include "para-util.h" #if defined(PROPAGATION_SOURCE_CODE_C_C) double g(double x, CONTROL_INFO *controlInfo); double g_prime(double x, CONTROL_INFO *controlInfo); void init_mlp_archit(char *fname, MLP_NETWORK *anetwork); void free_mlp_network(MLP_NETWORK *anetwork); void allocate_mlp_network(MLP_NETWORK *anetwork); void init_mlp_network(MLP_NETWORK *anetwork, CONTROL_INFO *controlInfo); int save_mlp_network(char *fname, MLP_NETWORK *anetwork); int load_mlp_network(char *fname, MLP_NETWORK *anetwork); double backpropagation(MLP_NETWORK *anetwork, CONTROL_INFO *controlInfo); void forward_prop_only(MLP_NETWORK *anetwork, CONTROL_INFO *controlInfo); #else extern double g(double x, CONTROL_INFO *controlInfo); extern double g_prime(double x, CONTROL_INFO *controlInfo); extern void init_mlp_archit(char *fname, MLP_NETWORK *anetwork); extern void free_mlp_network(MLP_NETWORK *anetwork); extern void allocate_mlp_network(MLP_NETWORK *anetwork); extern void init_mlp_network(MLP_NETWORK *anetwork, CONTROL_INFO *controlInfo); extern int save_mlp_network(char *fname, MLP_NETWORK *anetwork); extern int load_mlp_network(char *fname, MLP_NETWORK *anetwork); extern double backpropagation(MLP_NETWORK *anetwork, CONTROL_INFO *controlInfo); extern void forward_prop_only(MLP_NETWORK *anetwork, CONTROL_INFO *controlInfo); #endif #endif