1 /*
2  * analysis-histogram.h:
3  *
4  * This is a complete reimplementation of the exponential smoothing tool in 2008
5  *
6  * Author:
7  *   Andreas J. Guelzow  <aguelzow@pyrshep.ca>
8  *
9  * (C) Copyright 2008 by Andreas J. Guelzow  <aguelzow@pyrshep.ca>
10  *
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program; if not, see <https://www.gnu.org/licenses/>.
24  */
25 
26 
27 #ifndef ANALYSIS_EXP_SMOOTHING_H
28 #define ANALYSIS_EXP_SMOOTHING_H
29 
30 #include <gnumeric.h>
31 #include <numbers.h>
32 #include <tools/dao.h>
33 #include <tools/tools.h>
34 #include <tools/analysis-tools.h>
35 
36 typedef enum {
37 	exp_smoothing_type_ses_h = 0,
38 	exp_smoothing_type_ses_r,
39 	exp_smoothing_type_des,
40 	exp_smoothing_type_ates,
41 	exp_smoothing_type_mtes
42 } exponential_smoothing_type_t;
43 
44 typedef struct {
45 	analysis_tools_data_generic_t base;
46 	gnm_float damp_fact;
47 	gnm_float g_damp_fact;
48 	gnm_float s_damp_fact;
49 	int s_period;
50 	int std_error_flag;
51 	int df;
52 	gboolean show_graph;
53 	exponential_smoothing_type_t es_type;
54 } analysis_tools_data_exponential_smoothing_t;
55 
56 gboolean analysis_tool_exponential_smoothing_engine (GOCmdContext *gcc, data_analysis_output_t *dao,
57 						     gpointer specs,
58 						     analysis_tool_engine_t selector,
59 						     gpointer result);
60 
61 
62 #endif
63