Skip to content

Commit

Permalink
optimize Rcpp code a bit
Browse files Browse the repository at this point in the history
  • Loading branch information
kylebaron committed Sep 23, 2018
1 parent 61d53ef commit 89015a7
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
6 changes: 3 additions & 3 deletions InsideLoop.cpp
Expand Up @@ -4,12 +4,12 @@
using namespace Rcpp;

// [[Rcpp::export]]
NumericMatrix InsideLoop(NumericVector vGridCapital, NumericMatrix mOutput, NumericMatrix expectedValueFunction){
void InsideLoop(NumericVector vGridCapital, NumericMatrix mOutput, NumericMatrix expectedValueFunction, NumericMatrix results){

const double bbeta = 0.95;
const int nGridCapital = 17820, nGridProductivity = 5;

NumericMatrix results(nGridCapital,2*nGridProductivity);
//NumericMatrix results(nGridCapital,2*nGridProductivity);
double valueProvisional, valueHighSoFar, consumption, capitalChoice;

int nProductivity, nCapital, nCapitalNextPeriod, gridCapitalNextPeriod;
Expand Down Expand Up @@ -46,6 +46,6 @@ NumericMatrix InsideLoop(NumericVector vGridCapital, NumericMatrix mOutput, Nume

}

return results;
//return results;

}
6 changes: 4 additions & 2 deletions RBC_Rcpp.R
@@ -1,6 +1,9 @@
## 0. Housekeeping

rm(list=ls())

Rcpp::sourceCpp('InsideLoop.cpp');

ptm <- proc.time()

## 1. Calibration
Expand Down Expand Up @@ -59,8 +62,7 @@ while (maxDifference>tolerance){

expectedValueFunction = mValueFunction %*% t(mTransition);

Rcpp::sourceCpp('InsideLoop.cpp');
mResults <- InsideLoop(vGridCapital, mOutput, expectedValueFunction);
InsideLoop(vGridCapital, mOutput, expectedValueFunction,mResults);

mValueFunctionNew <- mResults[,1:5];

Expand Down

0 comments on commit 89015a7

Please sign in to comment.