source: observatorio/simulacion/ModuloDinamico/exogenous_variables.C

simulacion
Last change on this file was a3eef50, checked in by Alejandro <amujica@…>, 9 years ago

Simulador al 100%, listo para efectuar pruebas y validaciones

  • Property mode set to 100644
File size: 3.2 KB
Line 
1/*
2  Copyright (C) 2014
3  Alejandro Mujica (amujica@cenditel.gob.ve)
4  José Ruiz (jruiz@cenditel.gob.ve)
5  Julie Vera (jvera@cenditel.gob.ve)
6 
7  CENDITEL Fundación Centro Nacional de Desarrollo e Investigación en
8  Tecnologías Libres
9 
10  Este programa es software libre; Usted puede usarlo bajo los términos de la
11  licencia de software GPL versión 2.0 de la Free Software Foundation.
12 
13  Este programa se distribuye con la esperanza de que sea útil, pero SIN
14  NINGUNA GARANTÍA; tampoco las implícitas garantías de MERCANTILIDAD o
15  ADECUACIÓN A UN PROPÓSITO PARTICULAR.
16  Consulte la licencia GPL para más detalles. Usted debe recibir una copia
17  de la GPL junto con este programa; si no, escriba a la Free Software
18  Foundation Inc. 51 Franklin Street,5 Piso, Boston, MA 02110-1301, USA.
19*/
20
21/*
22  Autor:             Alejandro J. Mujica
23  Fecha de creación: 29/09/2014
24  Este archivo contiene la implementaci´on de la clase Exogenous_Variables la
25  cual define el conjunto de variables exógenas que se manejan en el sistema,
26  esta clase se define bajo el patrón Singleton puesto que se requiere una
27  sola instancia de ésta.
28*/
29
30# include <exogenous_variables.H>
31
32std::unique_ptr<Exogenous_Variables> Exogenous_Variables::instance =
33std::unique_ptr<Exogenous_Variables>();
34
35Exogenous_Variables::Exogenous_Variables()
36  : average_salary(0.0), sigma(10.0), num_it(0.0), INIT_SIMULATION_ATTRIBUTES
37{
38  // Empty
39}
40
41Exogenous_Variables::Exogenous_Variables(const Exogenous_Variables &)
42{
43  // Empty
44}
45
46Exogenous_Variables &
47Exogenous_Variables::operator = (const Exogenous_Variables &)
48{
49  return *this;
50}
51
52const real & Exogenous_Variables::get_average_salary() const
53{
54  return average_salary;
55}
56
57void Exogenous_Variables::set_average_salary(const real & _average_salary)
58{
59  average_salary = _average_salary;
60}
61
62const real & Exogenous_Variables::get_sigma() const
63{
64  return sigma;
65}
66
67void Exogenous_Variables::set_sigma(const real & _sigma)
68{
69  sigma = _sigma;
70}
71
72const size_t & Exogenous_Variables::get_num_it() const
73{
74  return num_it;
75}
76
77void Exogenous_Variables::set_num_it(const size_t & _num_it)
78{
79  num_it = _num_it;
80}
81
82real & Exogenous_Variables::rate_of_change_of_salary_at(const size_t & t)
83{
84  return get_simulation_attributes_at(t).rate_of_change_of_salary;
85}
86
87real & Exogenous_Variables::rate_of_gain_at(const size_t & t)
88{
89  return get_simulation_attributes_at(t).rate_of_gain;
90}
91
92real & Exogenous_Variables::rate_of_price_change_at(const size_t & t)
93{
94  return get_simulation_attributes_at(t).rate_of_price_change;
95}
96
97real &
98Exogenous_Variables::rate_of_change_in_final_demand_at(const size_t & t)
99{
100  return get_simulation_attributes_at(t).rate_of_change_in_final_demand;
101}
102
103real & Exogenous_Variables::nominal_exchange_rate_at(const size_t & t)
104{
105  return get_simulation_attributes_at(t).nominal_exchange_rate;
106}
107
108real & Exogenous_Variables::UT_at(const size_t & t)
109{
110  return get_simulation_attributes_at(t).UT;
111}
112
113Exogenous_Variables * Exogenous_Variables::get_ptr_instance()
114{
115  if (instance.get() == NULL)
116    instance = std::unique_ptr<Exogenous_Variables>(new Exogenous_Variables);
117
118  return instance.get();
119}
120
121Exogenous_Variables & Exogenous_Variables::get_instance()
122{
123  return *get_ptr_instance();
124}
125
Note: See TracBrowser for help on using the repository browser.