Skip to content
Prev 5482 / 10988 Next

[Rcpp-devel] not sure if it's a rcpp question or a cpp question

My C code:
//[[Rcpp::depends("Rcpp")]]
#include <Rcpp.h>
#include <iostream>
using namespace Rcpp;

//[[Rcpp::export]]
NumericVector sigmutest(double pd, double rsq){
  double qpd = R::qnorm(pd, 0, 1, 1, 0);
  double sgtemp = 0.2;
  double sg = 0.3;
  double eor = 1;

  double w = 0;
  while (eor>=0.0001) {
        sg = sgtemp;
        w = pd * 0.4 / (R::pnorm((qpd - sqrt(rsq) * (-0.42) * sgtemp), 0,
1, 1, 0));
        sgtemp = (-0.5) * w + 0.4;
        std::cout << "sg " << sg << std::endl;
        std::cout << "sgtemp " << sgtemp << std::endl;
        eor = abs(sg - sgtemp);

        std::cout << "error " << eor << std::endl;

      }
  NumericVector out(3);
  out(0) = sg;
  out(1) = sgtemp;
  out(2) = eor;
  return out;
}

My R code:
sgtemp 0.219135
error 0


Does anyone know what is going on? Thanks.