#include "TrueBASIC.h" double p(double x); void Metropolis(double *x, double delta, int *naccept); void Metropolis(double *x, double delta, int *naccept) { double w, xtrial; xtrial = (*x) + delta*(2*rnd(0) - 1); w = p(xtrial)/p(*x); if(rnd(0) <= w) { (*x) = xtrial; ++(*naccept); // 受け入れられた回数 } }