parent
e5dd2d31ec
commit
53709a3214
|
@ -130,7 +130,13 @@ sampleMHMC(LogPosteriorDensity &lpd, RandomWalkMetropolisHastings &rwmh,
|
||||||
MATFile *drawmat; // MCMC draws output file pointer
|
MATFile *drawmat; // MCMC draws output file pointer
|
||||||
int matfStatus;
|
int matfStatus;
|
||||||
#else // OCTAVE_MEX_FILE e.t.c.
|
#else // OCTAVE_MEX_FILE e.t.c.
|
||||||
|
# if MATIO_MAJOR_VERSION > 1 || (MATIO_MAJOR_VERSION == 1 && MATIO_MINOR_VERSION >= 5)
|
||||||
|
size_t dims[2];
|
||||||
|
const matio_compression compression = MAT_COMPRESSION_NONE;
|
||||||
|
# else
|
||||||
int dims[2];
|
int dims[2];
|
||||||
|
const int compression = COMPRESSION_NONE;
|
||||||
|
# endif
|
||||||
mat_t *drawmat;
|
mat_t *drawmat;
|
||||||
matvar_t *matvar;
|
matvar_t *matvar;
|
||||||
int matfStatus;
|
int matfStatus;
|
||||||
|
@ -304,7 +310,7 @@ sampleMHMC(LogPosteriorDensity &lpd, RandomWalkMetropolisHastings &rwmh,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int start[2] = {0, 0}, edge[2] = {2, 2}, stride[2] = {1, 1}, err = 0;
|
int start[2] = {0, 0}, edge[2], stride[2] = {1, 1}, err = 0;
|
||||||
mexPrintf("MHMCMC: Using interim partial draws file %s \n", mhFName.c_str());
|
mexPrintf("MHMCMC: Using interim partial draws file %s \n", mhFName.c_str());
|
||||||
// matvar = Mat_VarReadInfo(drawmat, "x2");
|
// matvar = Mat_VarReadInfo(drawmat, "x2");
|
||||||
matvar = Mat_VarReadInfo(drawmat, (char *) "x2");
|
matvar = Mat_VarReadInfo(drawmat, (char *) "x2");
|
||||||
|
@ -317,9 +323,9 @@ sampleMHMC(LogPosteriorDensity &lpd, RandomWalkMetropolisHastings &rwmh,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// GetVariable(drawmat, "x2");
|
// GetVariable(drawmat, "x2");
|
||||||
dims[0] = matvar->dims[0]-1;
|
edge[0] = matvar->dims[0];
|
||||||
dims[1] = matvar->dims[1]-1;
|
edge[1] = matvar->dims[1];
|
||||||
err = Mat_VarReadData(drawmat, matvar, mxGetPr(mxMhParamDrawsPtr), start, stride, matvar->dims);
|
err = Mat_VarReadData(drawmat, matvar, mxGetPr(mxMhParamDrawsPtr), start, stride, edge);
|
||||||
if (err)
|
if (err)
|
||||||
{
|
{
|
||||||
fline(b) = 1;
|
fline(b) = 1;
|
||||||
|
@ -339,9 +345,9 @@ sampleMHMC(LogPosteriorDensity &lpd, RandomWalkMetropolisHastings &rwmh,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// GetVariable(drawmat, "x2");
|
// GetVariable(drawmat, "x2");
|
||||||
dims[0] = matvar->dims[0]-1;
|
edge[0] = matvar->dims[0];
|
||||||
dims[1] = matvar->dims[1]-1;
|
edge[1] = matvar->dims[1];
|
||||||
err = Mat_VarReadData(drawmat, matvar, mxGetPr(mxMhLogPostDensPtr), start, stride, matvar->dims);
|
err = Mat_VarReadData(drawmat, matvar, mxGetPr(mxMhLogPostDensPtr), start, stride, edge);
|
||||||
if (err)
|
if (err)
|
||||||
{
|
{
|
||||||
fline(b) = 1;
|
fline(b) = 1;
|
||||||
|
@ -513,7 +519,7 @@ sampleMHMC(LogPosteriorDensity &lpd, RandomWalkMetropolisHastings &rwmh,
|
||||||
dims[0] = currInitSizeArray;
|
dims[0] = currInitSizeArray;
|
||||||
dims[1] = npar;
|
dims[1] = npar;
|
||||||
matvar = Mat_VarCreate("x2", MAT_C_DOUBLE, MAT_T_DOUBLE, 2, dims, mxGetPr(mxMhParamDrawsPtr), 0);
|
matvar = Mat_VarCreate("x2", MAT_C_DOUBLE, MAT_T_DOUBLE, 2, dims, mxGetPr(mxMhParamDrawsPtr), 0);
|
||||||
matfStatus = Mat_VarWrite(drawmat, matvar, 0);
|
matfStatus = Mat_VarWrite(drawmat, matvar, compression);
|
||||||
Mat_VarFree(matvar);
|
Mat_VarFree(matvar);
|
||||||
if (matfStatus)
|
if (matfStatus)
|
||||||
{
|
{
|
||||||
|
@ -523,7 +529,7 @@ sampleMHMC(LogPosteriorDensity &lpd, RandomWalkMetropolisHastings &rwmh,
|
||||||
//matfStatus = matPutVariable(drawmat, "logpo2", mxMhLogPostDensPtr);
|
//matfStatus = matPutVariable(drawmat, "logpo2", mxMhLogPostDensPtr);
|
||||||
dims[1] = 1;
|
dims[1] = 1;
|
||||||
matvar = Mat_VarCreate("logpo2", MAT_C_DOUBLE, MAT_T_DOUBLE, 2, dims, mxGetPr(mxMhLogPostDensPtr), 0);
|
matvar = Mat_VarCreate("logpo2", MAT_C_DOUBLE, MAT_T_DOUBLE, 2, dims, mxGetPr(mxMhLogPostDensPtr), 0);
|
||||||
matfStatus = Mat_VarWrite(drawmat, matvar, 0);
|
matfStatus = Mat_VarWrite(drawmat, matvar, compression);
|
||||||
Mat_VarFree(matvar);
|
Mat_VarFree(matvar);
|
||||||
if (matfStatus)
|
if (matfStatus)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue