Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
dynare
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Dynare
dynare
Commits
cf642f8c
Commit
cf642f8c
authored
13 years ago
by
Houtan Bastani
Committed by
MichelJuillard
11 years ago
Browse files
Options
Downloads
Patches
Plain Diff
ms-dsge: classes for C output
parent
14fbc49c
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
cpp/ms_dsge_c_driver.cc
+381
-0
381 additions, 0 deletions
cpp/ms_dsge_c_driver.cc
cpp/ms_dsge_c_driver.hh
+242
-0
242 additions, 0 deletions
cpp/ms_dsge_c_driver.hh
with
623 additions
and
0 deletions
cpp/ms_dsge_c_driver.cc
0 → 100644
+
381
−
0
View file @
cf642f8c
/*
* Copyright (C) 2011-2012 Houtan Bastani, Daniel Waggoner, Tao Zha
*
* This is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This code is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* More information is available at <http://www.gnu.org/licenses/>.
*/
#include
<cstdlib>
#include
<vector>
#include
<string>
#include
<iostream>
#include
<assert.h>
using
namespace
std
;
#include
"ms_dsge_c_driver.hh"
MsDsgeInfo
::
MsDsgeInfo
(
map
<
string
,
int
>
exo_names_arg
,
map
<
string
,
int
>
exo_det_names_arg
,
map
<
string
,
int
>
endo_names_arg
,
map
<
string
,
int
>
param_names_arg
,
map
<
int
,
double
>
params_arg
,
vector
<
aux_vars_t
>
aux_vars_arg
,
vector
<
int
>
predetermined_variables_arg
,
vector
<
int
>
varobs_arg
,
vector
<
vector
<
int
>
>
lead_lag_incidence_arg
,
vector
<
double
>
NNZDerivatives_arg
)
:
exo_names
(
exo_names_arg
),
exo_det_names
(
exo_det_names_arg
),
endo_names
(
endo_names_arg
),
param_names
(
param_names_arg
),
params
(
params_arg
),
aux_vars
(
aux_vars_arg
),
predetermined_variables
(
predetermined_variables_arg
),
varobs
(
varobs_arg
),
lead_lag_incidence
(
lead_lag_incidence_arg
),
NNZDerivatives
(
NNZDerivatives_arg
)
{
}
MsDsgeInfo
::~
MsDsgeInfo
()
{
for
(
vector
<
MarkovSwitching
*>::
iterator
it
=
markov_switching_vector
.
begin
();
it
<
markov_switching_vector
.
end
();
it
++
)
delete
*
it
;
for
(
vector
<
ModFilePrior
*>::
iterator
it
=
prior_vector
.
begin
();
it
<
prior_vector
.
end
();
it
++
)
delete
*
it
;
for
(
vector
<
ModFileStructuralInnovationPrior
*>::
iterator
it
=
structural_innovation_prior_vector
.
begin
();
it
<
structural_innovation_prior_vector
.
end
();
it
++
)
delete
*
it
;
for
(
vector
<
ModFileMeasurementErrorPrior
*>::
iterator
it
=
measurement_error_prior_vector
.
begin
();
it
<
measurement_error_prior_vector
.
end
();
it
++
)
delete
*
it
;
for
(
vector
<
ModFileStructuralInnovationCorrPrior
*>::
iterator
it
=
structural_innovation_corr_prior_vector
.
begin
();
it
<
structural_innovation_corr_prior_vector
.
end
();
it
++
)
delete
*
it
;
for
(
vector
<
ModFileMeasurementErrorCorrPrior
*>::
iterator
it
=
measurement_error_corr_prior_vector
.
begin
();
it
<
measurement_error_corr_prior_vector
.
end
();
it
++
)
delete
*
it
;
markov_switching_vector
.
clear
();
prior_vector
.
clear
();
structural_innovation_prior_vector
.
clear
();
measurement_error_prior_vector
.
clear
();
structural_innovation_corr_prior_vector
.
clear
();
measurement_error_corr_prior_vector
.
clear
();
exo_names
.
clear
();
exo_det_names
.
clear
();
endo_names
.
clear
();
param_names
.
clear
();
params
.
clear
();
aux_vars
.
clear
();
predetermined_variables
.
clear
();
varobs
.
clear
();
lead_lag_incidence
.
clear
();
NNZDerivatives
.
clear
();
}
string
MsDsgeInfo
::
get_exo_name_by_index
(
int
index
)
throw
(
ValueNotSetException
)
{
for
(
map
<
string
,
int
>::
iterator
it
=
exo_names
.
begin
();
it
!=
exo_names
.
end
();
it
++
)
if
(
it
->
second
==
index
)
return
it
->
first
;
throw
ValueNotSetException
(
"get_exo_name_by_index"
+
index
);
}
int
MsDsgeInfo
::
get_exo_index_by_name
(
string
name
)
throw
(
ValueNotSetException
)
{
map
<
string
,
int
>::
iterator
it
=
exo_names
.
find
(
name
);
if
(
it
!=
exo_names
.
end
())
return
it
->
second
;
throw
ValueNotSetException
(
"get_exo_name_by_name"
+
name
);
}
string
MsDsgeInfo
::
get_exo_det_name_by_index
(
int
index
)
throw
(
ValueNotSetException
)
{
for
(
map
<
string
,
int
>::
iterator
it
=
exo_det_names
.
begin
();
it
!=
exo_det_names
.
end
();
it
++
)
if
(
it
->
second
==
index
)
return
it
->
first
;
throw
ValueNotSetException
(
"get_exo_det_name_by_index"
+
index
);
}
int
MsDsgeInfo
::
get_exo_det_index_by_name
(
string
name
)
throw
(
ValueNotSetException
)
{
map
<
string
,
int
>::
iterator
it
=
exo_det_names
.
find
(
name
);
if
(
it
!=
exo_det_names
.
end
())
return
it
->
second
;
throw
ValueNotSetException
(
"get_exo_det_name_by_name"
+
name
);
}
string
MsDsgeInfo
::
get_endo_name_by_index
(
int
index
)
throw
(
ValueNotSetException
)
{
for
(
map
<
string
,
int
>::
iterator
it
=
endo_names
.
begin
();
it
!=
endo_names
.
end
();
it
++
)
if
(
it
->
second
==
index
)
return
it
->
first
;
throw
ValueNotSetException
(
"get_endo_name_by_index"
+
index
);
}
int
MsDsgeInfo
::
get_endo_index_by_name
(
string
name
)
throw
(
ValueNotSetException
)
{
map
<
string
,
int
>::
iterator
it
=
endo_names
.
find
(
name
);
if
(
it
!=
endo_names
.
end
())
return
it
->
second
;
throw
ValueNotSetException
(
"get_endo_name_by_name"
+
name
);
}
string
MsDsgeInfo
::
get_param_name_by_index
(
int
index
)
throw
(
ValueNotSetException
)
{
for
(
map
<
string
,
int
>::
iterator
it
=
param_names
.
begin
();
it
!=
param_names
.
end
();
it
++
)
if
(
it
->
second
==
index
)
return
it
->
first
;
throw
ValueNotSetException
(
"get_param_name_by_index"
+
index
);
}
int
MsDsgeInfo
::
get_param_index_by_name
(
string
name
)
throw
(
ValueNotSetException
)
{
map
<
string
,
int
>::
iterator
it
=
param_names
.
find
(
name
);
if
(
it
!=
param_names
.
end
())
return
it
->
second
;
throw
ValueNotSetException
(
"get_param_name_by_name"
+
name
);
}
double
MsDsgeInfo
::
get_param_value_by_index
(
int
index
)
throw
(
ValueNotSetException
)
{
map
<
int
,
double
>::
iterator
it
=
params
.
find
(
index
);
if
(
it
!=
params
.
end
())
return
it
->
second
;
throw
ValueNotSetException
(
"get_param_value_by_index"
+
index
);
}
vector
<
int
>
MsDsgeInfo
::
get_lead_lag_incidence_for_endo_var_by_index
(
int
index
)
throw
(
ValueNotSetException
)
{
if
(
index
<
lead_lag_incidence
.
size
())
return
lead_lag_incidence
.
at
(
index
);
throw
ValueNotSetException
(
"get_lead_lag_incidence_for_endo_var_by_index"
+
index
);
}
MarkovSwitching
::
MarkovSwitching
(
const
int
chain_arg
,
const
int
number_of_regimes_arg
,
const
int
number_of_lags_arg
,
const
bool
number_of_lags_was_passed_arg
,
const
vector
<
int
>
parameters_arg
,
const
vector
<
double
>
duration_arg
,
const
restriction_map_t
restriction_map_arg
)
:
chain
(
chain_arg
),
number_of_regimes
(
number_of_regimes_arg
),
number_of_lags
(
number_of_lags_arg
),
number_of_lags_was_passed
(
number_of_lags_was_passed_arg
),
parameters
(
parameters_arg
),
duration
(
duration_arg
),
restriction_map
(
restriction_map_arg
)
{
assert
(
chain
>=
1
);
assert
(
number_of_regimes
>
0
);
if
(
number_of_lags_was_passed
)
assert
(
number_of_lags
>
0
);
assert
(
!
parameters
.
empty
());
assert
(
!
duration
.
empty
());
}
int
MarkovSwitching
::
get_number_of_lags
()
throw
(
ValueNotSetException
)
{
if
(
number_of_lags_has_val
())
return
number_of_lags
;
throw
ValueNotSetException
(
"number_of_lags"
);
}
restriction_map_t
MarkovSwitching
::
get_restriction_map
()
throw
(
ValueNotSetException
)
{
if
(
restriction_map_has_val
())
return
restriction_map
;
throw
ValueNotSetException
(
"restriction_map"
);
}
BasicModFilePrior
::
BasicModFilePrior
(
const
int
index_arg
,
const
string
shape_arg
,
const
double
mean_arg
,
const
double
mode_arg
,
const
double
stdev_arg
,
const
double
variance_arg
,
const
vector
<
double
>
domain_arg
)
:
index
(
index_arg
),
shape
(
shape_arg
),
mean
(
mean_arg
),
mode
(
mode_arg
),
stdev
(
stdev_arg
),
variance
(
variance_arg
),
domain
(
domain_arg
)
{
assert
(
index
>=
0
);
assert
(
!
shape
.
empty
());
if
(
stdev_has_val
())
assert
(
stdev
>=
0
);
if
(
variance_has_val
())
assert
(
variance
>=
0
);
if
(
domain_has_val
())
assert
(
domain
.
size
()
==
2
);
}
double
BasicModFilePrior
::
get_mean
()
throw
(
ValueNotSetException
)
{
if
(
mean_has_val
())
return
mean
;
throw
ValueNotSetException
(
"mean"
);
};
double
BasicModFilePrior
::
get_mode
()
throw
(
ValueNotSetException
)
{
if
(
mode_has_val
())
return
mode
;
throw
ValueNotSetException
(
"mode"
);
};
double
BasicModFilePrior
::
get_stdev
()
throw
(
ValueNotSetException
)
{
if
(
stdev_has_val
())
return
stdev
;
throw
ValueNotSetException
(
"stdev"
);
};
double
BasicModFilePrior
::
get_variance
()
throw
(
ValueNotSetException
)
{
if
(
variance_has_val
())
return
variance
;
throw
ValueNotSetException
(
"variance"
);
};
vector
<
double
>
BasicModFilePrior
::
get_domain
()
throw
(
ValueNotSetException
)
{
if
(
domain_has_val
())
return
domain
;
throw
ValueNotSetException
(
"domain"
);
};
ModFilePrior
::
ModFilePrior
(
const
int
index_arg
,
const
string
shape_arg
,
const
double
mean_arg
,
const
double
mode_arg
,
const
double
stdev_arg
,
const
double
variance_arg
,
const
vector
<
double
>
domain_arg
)
:
BasicModFilePrior
(
index_arg
,
shape_arg
,
mean_arg
,
mode_arg
,
stdev_arg
,
variance_arg
,
domain_arg
)
{
}
ModFileStructuralInnovationPrior
::
ModFileStructuralInnovationPrior
(
const
int
index_arg
,
const
string
shape_arg
,
const
double
mean_arg
,
const
double
stdev_arg
,
const
double
variance_arg
,
const
double
mode_arg
,
const
vector
<
double
>
domain_arg
)
:
BasicModFilePrior
(
index_arg
,
shape_arg
,
mean_arg
,
mode_arg
,
stdev_arg
,
variance_arg
,
domain_arg
)
{
}
ModFileMeasurementErrorPrior
::
ModFileMeasurementErrorPrior
(
const
int
index_arg
,
const
string
shape_arg
,
const
double
mean_arg
,
const
double
stdev_arg
,
const
double
variance_arg
,
const
double
mode_arg
,
const
vector
<
double
>
domain_arg
)
:
BasicModFilePrior
(
index_arg
,
shape_arg
,
mean_arg
,
mode_arg
,
stdev_arg
,
variance_arg
,
domain_arg
)
{
}
ModFileStructuralInnovationCorrPrior
::
ModFileStructuralInnovationCorrPrior
(
const
int
index1_arg
,
const
int
index2_arg
,
const
string
shape_arg
,
const
double
mean_arg
,
const
double
stdev_arg
,
const
double
variance_arg
,
const
double
mode_arg
,
const
vector
<
double
>
domain_arg
)
:
BasicModFilePrior
(
index1_arg
,
shape_arg
,
mean_arg
,
mode_arg
,
stdev_arg
,
variance_arg
,
domain_arg
),
index2
(
index2_arg
)
{
assert
(
index2
>=
0
);
}
ModFileMeasurementErrorCorrPrior
::
ModFileMeasurementErrorCorrPrior
(
const
int
index1_arg
,
const
int
index2_arg
,
const
string
shape_arg
,
const
double
mean_arg
,
const
double
stdev_arg
,
const
double
variance_arg
,
const
double
mode_arg
,
const
vector
<
double
>
domain_arg
)
:
BasicModFilePrior
(
index1_arg
,
shape_arg
,
mean_arg
,
mode_arg
,
stdev_arg
,
variance_arg
,
domain_arg
),
index2
(
index2_arg
)
{
assert
(
index2
>=
0
);
}
This diff is collapsed.
Click to expand it.
cpp/ms_dsge_c_driver.hh
0 → 100644
+
242
−
0
View file @
cf642f8c
/*
* Copyright (C) 2011-2012 Houtan Bastani, Daniel Waggoner, Tao Zha
*
* This is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This code is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* More information is available at <http://www.gnu.org/licenses/>.
*/
#ifndef _MS_DSGE_C_DRIVER_HH
#define _MS_DSGE_C_DRIVER_HH
#include
<cstdlib>
#include
<vector>
#include
<string>
#include
<map>
#include
<limits>
using
namespace
std
;
struct
aux_vars_t
{
int
endo_index
,
type
,
orig_index
,
orig_lead_lag
;
}
;
typedef
map
<
pair
<
int
,
int
>
,
double
>
restriction_map_t
;
class
ValueNotSetException
{
public:
string
name
;
ValueNotSetException
(
const
string
&
name_arg
)
:
name
(
name_arg
)
{
}
};
class
MarkovSwitching
{
private:
const
int
chain
,
number_of_regimes
,
number_of_lags
;
const
bool
number_of_lags_was_passed
;
const
vector
<
int
>
parameters
;
const
vector
<
double
>
duration
;
const
restriction_map_t
restriction_map
;
public:
MarkovSwitching
(
const
int
chain_arg
,
const
int
number_of_regimes_arg
,
const
int
number_of_lags_arg
,
const
bool
number_of_lags_was_passed_arg
,
const
vector
<
int
>
parameters_arg
,
const
vector
<
double
>
duration_arg
,
const
restriction_map_t
restriction_map_arg
);
inline
bool
number_of_lags_has_val
()
const
{
return
number_of_lags_was_passed
;
};
inline
bool
restriction_map_has_val
()
const
{
return
!
restriction_map
.
empty
();
};
inline
int
get_chain
()
const
{
return
chain
;
};
inline
int
get_number_of_regimes
()
const
{
return
number_of_regimes
;
};
int
get_number_of_lags
()
throw
(
ValueNotSetException
);
inline
vector
<
int
>
get_parameters
()
{
return
parameters
;
};
inline
vector
<
double
>
get_duration
()
{
return
duration
;
};
restriction_map_t
get_restriction_map
()
throw
(
ValueNotSetException
);
};
class
BasicModFilePrior
{
private:
inline
bool
isnan
(
double
x
)
const
{
return
(
x
!=
x
);
};
protected
:
const
int
index
;
const
string
shape
;
const
double
mean
,
mode
,
stdev
,
variance
;
const
vector
<
double
>
domain
;
BasicModFilePrior
(
const
int
index_arg
,
const
string
shape_arg
,
const
double
mean_arg
,
const
double
mode_arg
,
const
double
stdev_arg
,
const
double
variance_arg
,
const
vector
<
double
>
domain_arg
);
public
:
inline
bool
mean_has_val
()
const
{
return
!
isnan
(
mean
);
};
inline
bool
mode_has_val
()
const
{
return
!
isnan
(
mode
);
};
inline
bool
stdev_has_val
()
const
{
return
!
isnan
(
stdev
);
};
inline
bool
variance_has_val
()
const
{
return
!
isnan
(
variance
);
};
inline
bool
domain_has_val
()
const
{
return
(
domain
.
size
()
==
2
);
};
inline
int
get_index
()
const
{
return
index
;
};
inline
string
get_shape
()
const
{
return
shape
;
};
double
get_mean
()
throw
(
ValueNotSetException
);
double
get_mode
()
throw
(
ValueNotSetException
);
double
get_stdev
()
throw
(
ValueNotSetException
);
double
get_variance
()
throw
(
ValueNotSetException
);
vector
<
double
>
get_domain
()
throw
(
ValueNotSetException
);
};
class
ModFilePrior
:
public
BasicModFilePrior
{
public:
ModFilePrior
(
const
int
index_arg
,
const
string
shape_arg
,
const
double
mean_arg
,
const
double
mode_arg
,
const
double
stdev_arg
,
const
double
variance_arg
,
const
vector
<
double
>
domain_arg
);
};
class
ModFileStructuralInnovationPrior
:
public
BasicModFilePrior
{
public:
ModFileStructuralInnovationPrior
(
const
int
index_arg
,
const
string
shape_arg
,
const
double
mean_arg
,
const
double
mode_arg
,
const
double
stdev_arg
,
const
double
variance_arg
,
const
vector
<
double
>
domain_arg
);
};
class
ModFileMeasurementErrorPrior
:
public
BasicModFilePrior
{
public:
ModFileMeasurementErrorPrior
(
const
int
index_arg
,
const
string
shape_arg
,
const
double
mean_arg
,
const
double
stdev_arg
,
const
double
variance_arg
,
const
double
mode_arg
,
const
vector
<
double
>
domain_arg
);
};
class
ModFileStructuralInnovationCorrPrior
:
public
BasicModFilePrior
{
private:
const
int
index2
;
public:
ModFileStructuralInnovationCorrPrior
(
const
int
index1_arg
,
const
int
index2_arg
,
const
string
shape_arg
,
const
double
mean_arg
,
const
double
stdev_arg
,
const
double
variance_arg
,
const
double
mode_arg
,
const
vector
<
double
>
domain_arg
);
};
class
ModFileMeasurementErrorCorrPrior
:
public
BasicModFilePrior
{
private:
const
int
index2
;
public:
ModFileMeasurementErrorCorrPrior
(
const
int
index1_arg
,
const
int
index2_arg
,
const
string
shape_arg
,
const
double
mean_arg
,
const
double
stdev_arg
,
const
double
variance_arg
,
const
double
mode_arg
,
const
vector
<
double
>
domain_arg
);
};
class
MsDsgeInfo
{
private:
vector
<
MarkovSwitching
*>
markov_switching_vector
;
vector
<
ModFilePrior
*>
prior_vector
;
vector
<
ModFileStructuralInnovationPrior
*>
structural_innovation_prior_vector
;
vector
<
ModFileMeasurementErrorPrior
*>
measurement_error_prior_vector
;
vector
<
ModFileStructuralInnovationCorrPrior
*>
structural_innovation_corr_prior_vector
;
vector
<
ModFileMeasurementErrorCorrPrior
*>
measurement_error_corr_prior_vector
;
map
<
string
,
int
>
exo_names
,
exo_det_names
,
endo_names
,
param_names
;
map
<
int
,
double
>
params
;
vector
<
aux_vars_t
>
aux_vars
;
vector
<
int
>
predetermined_variables
;
vector
<
int
>
varobs
;
vector
<
vector
<
int
>
>
lead_lag_incidence
;
vector
<
double
>
NNZDerivatives
;
public:
MsDsgeInfo
(
map
<
string
,
int
>
exo_names_arg
,
map
<
string
,
int
>
exo_det_names_arg
,
map
<
string
,
int
>
endo_names_arg
,
map
<
string
,
int
>
param_names_arg
,
map
<
int
,
double
>
params_arg
,
vector
<
aux_vars_t
>
aux_vars_arg
,
vector
<
int
>
predetermined_variables_arg
,
vector
<
int
>
varobs_arg
,
vector
<
vector
<
int
>
>
lead_lag_incidence_arg
,
vector
<
double
>
NNZDerivatives_arg
);
~
MsDsgeInfo
();
inline
void
addMarkovSwitching
(
MarkovSwitching
*
ms
)
{
markov_switching_vector
.
push_back
(
ms
);
};
inline
void
addPrior
(
ModFilePrior
*
p
)
{
prior_vector
.
push_back
(
p
);
};
inline
void
addStructuralInnovationPrior
(
ModFileStructuralInnovationPrior
*
sip
)
{
structural_innovation_prior_vector
.
push_back
(
sip
);
};
inline
void
addMeasurementErrorPrior
(
ModFileMeasurementErrorPrior
*
mep
)
{
measurement_error_prior_vector
.
push_back
(
mep
);
};
inline
void
addStructuralInnovationCorrPrior
(
ModFileStructuralInnovationCorrPrior
*
sicp
)
{
structural_innovation_corr_prior_vector
.
push_back
(
sicp
);
};
inline
void
addMeasurementErrorCorrPrior
(
ModFileMeasurementErrorCorrPrior
*
mecp
)
{
measurement_error_corr_prior_vector
.
push_back
(
mecp
);
};
inline
bool
markov_switching_has_val
()
{
return
!
markov_switching_vector
.
empty
();
};
inline
bool
prior_has_val
()
{
return
!
prior_vector
.
empty
();
};
inline
bool
structural_innovation_prior_has_val
()
{
return
!
structural_innovation_prior_vector
.
empty
();
};
inline
bool
measurement_error_prior_has_val
()
{
return
!
measurement_error_prior_vector
.
empty
();
};
inline
bool
structural_innovation_corr_prior_has_val
()
{
return
!
structural_innovation_corr_prior_vector
.
empty
();
};
inline
bool
measurement_error_corr_prior_has_val
()
{
return
!
measurement_error_corr_prior_vector
.
empty
();
};
inline
vector
<
MarkovSwitching
*>
get_markov_switching
()
{
return
markov_switching_vector
;
};
inline
vector
<
ModFilePrior
*>
get_prior
()
{
return
prior_vector
;
};
inline
vector
<
ModFileStructuralInnovationPrior
*>
get_structural_innovation_prior
()
{
return
structural_innovation_prior_vector
;
};
inline
vector
<
ModFileMeasurementErrorPrior
*>
get_measurement_error_prior
()
{
return
measurement_error_prior_vector
;
};
inline
vector
<
ModFileStructuralInnovationCorrPrior
*>
get_structural_innovation_corr_prior
()
{
return
structural_innovation_corr_prior_vector
;
};
inline
vector
<
ModFileMeasurementErrorCorrPrior
*>
get_measurement_error_corr_prior
()
{
return
measurement_error_corr_prior_vector
;
};
inline
map
<
string
,
int
>
get_exo_names
()
{
return
exo_names
;
};
inline
map
<
string
,
int
>
get_exo_det_names
()
{
return
exo_det_names
;
};
inline
map
<
string
,
int
>
get_endo_names
()
{
return
endo_names
;
};
inline
map
<
string
,
int
>
get_param_names
()
{
return
param_names
;
};
inline
map
<
int
,
double
>
get_params
()
{
return
params
;
};
inline
vector
<
aux_vars_t
>
get_aux_vars
()
{
return
aux_vars
;
};
inline
vector
<
int
>
get_predetermined_variables
()
{
return
predetermined_variables
;
};
inline
vector
<
int
>
get_varobs
()
{
return
varobs
;
};
inline
vector
<
vector
<
int
>
>
get_lead_lag_incidence
()
{
return
lead_lag_incidence
;
};
inline
vector
<
double
>
get_NNZDerivatives
()
{
return
NNZDerivatives
;
};
string
get_exo_name_by_index
(
int
index
)
throw
(
ValueNotSetException
);
int
get_exo_index_by_name
(
string
name
)
throw
(
ValueNotSetException
);
string
get_exo_det_name_by_index
(
int
index
)
throw
(
ValueNotSetException
);
int
get_exo_det_index_by_name
(
string
name
)
throw
(
ValueNotSetException
);
string
get_endo_name_by_index
(
int
index
)
throw
(
ValueNotSetException
);
int
get_endo_index_by_name
(
string
name
)
throw
(
ValueNotSetException
);
string
get_param_name_by_index
(
int
index
)
throw
(
ValueNotSetException
);
int
get_param_index_by_name
(
string
name
)
throw
(
ValueNotSetException
);
double
get_param_value_by_index
(
int
index
)
throw
(
ValueNotSetException
);
vector
<
int
>
get_lead_lag_incidence_for_endo_var_by_index
(
int
index
)
throw
(
ValueNotSetException
);
};
#endif // ! _MS_DSGE_C_DRIVER_HH
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment