47 size_t desiredSamples,
48 std::vector<TParticle> &outSamples,
49 size_t timeoutTrials = 1000)
54 typename std::vector<TParticle>::iterator it;
57 if ( outSamples.size() != desiredSamples )
60 for (it = outSamples.begin();it!=outSamples.end();++it)
65 outSamples.resize( desiredSamples );
66 for (it = outSamples.begin();it!=outSamples.end();++it)
67 it->d =
new TStateSpace;
71 double acceptanceProb;
72 for (it = outSamples.begin();it!=outSamples.end();++it)
74 size_t timeoutCount = 0;
75 double bestLik = -1e250;
81 ASSERT_(acceptanceProb>=0 && acceptanceProb<=1);
82 if (acceptanceProb>bestLik)
84 bestLik = acceptanceProb;
88 (++timeoutCount)<timeoutTrials );
91 if (timeoutCount>=timeoutTrials)
93 it->log_w = log(bestLik);