#ifndef _TEMP_NNF_H
#define _TEMP_NNF_H
typedef enum neural_net_result_type
{
	nn_ok,
	nn_not_ok
} neural_net_result_type;

typedef struct ai_forecast_input_type {
        int the_month;
	int the_day;
        double tavg;
        double tmin;
	double tmax;
	double ttrend;
	double baro;
	double barotrend;
        double humidity;
	double hum_trend;
	double wind;
	double winddir;
} ai_forecast_input_type;

#ifdef TRAIN
neural_net_result_type
save_neural_net (void);

void
train_neural_net (double exp_min, double exp_max, double exp_min_tomorrow, double exp_max_tomorrow);
#endif

neural_net_result_type
load_neural_net (void);

void
execute_neural_net (ai_forecast_input_type in,
		    double * exp_min, double * exp_max,
		    double * exp_min_tomorrow, double * exp_max_tomorrow);

#endif