#include #include DEFUN_DLD (mhsample_ccc,args, nargout,"c++ version of mhsample"){ //DEFUN_DLD //DEFMETHOD_DLD //octave_stdout << ""; const RowVector start=args(0).array_value(); const int nsamples=args(1).int_value(); octave_function *pdf = args(2).function_value (); octave_function *proppdf = args(3).function_value (); octave_function *proprnd = args(4).function_value (); const bool sym=args(5).bool_value(); const int K=args(6).int_value(); const int m=args(7).int_value(); int d=start.columns(); Matrix smpl(nsamples,d); for (int i=0;iK){ accept++; } }else if (canacc){ for (int l=0;l=K&&canacc){ i++; } } accept/=double(nsamples*m); octave_value_list retval (2); retval(0)=smpl; retval(1)=accept; return retval; }