void truncatedWalk(double *old, double *sd, double *low, double *high, double *newvalue) { double lowlimold, upplimold, y; lowlimold = (*low - *old)/ *sd; upplimold = (*high - *old)/ *sd; rtruncn(&lowlimold, &upplimold,&y); *newvalue = *old + *sd*y; }
//truncated normal function: double truncatedwalk (double old, double sd, double low, double high) { double lowlimold, upplimold, y, newvalue; lowlimold = (low - old)/sd; upplimold = (high - old)/sd; y = rtruncn(lowlimold, upplimold); newvalue = old + sd*y; return newvalue; }