diff --git a/fibre.h b/fibre.h index 0df75be851f509fe379d3665b710a1d50a66df82..72f1705198e26729424a53a61979e17d39c271dc 100644 --- a/fibre.h +++ b/fibre.h @@ -58,8 +58,13 @@ namespace FIBRE{ const ColumnVector& m_alpha; const ColumnVector& m_beta; const Matrix& m_bvals; +<<<<<<< fibre.h + xfibresOptions& opts; + public: +======= xfibresOptions& opts; public: +>>>>>>> 1.10 //constructors:: Fibre( const ColumnVector& alpha, const ColumnVector& beta, const Matrix& bvals,const float& d): @@ -221,7 +226,12 @@ namespace FIBRE{ if (m_f<0 | m_f>=1 ) return true; else{ - m_f_prior=-(log(m_lam) + (m_lam-1)*log(1-m_f)); + //m_f_prior=-(log(m_lam) + (m_lam-1)*log(1-m_f)); + if(m_lam_jump) + m_f_prior=log(1-f)+2*log(fabs(log(1-f))); //marginalised with uniform prior on lambda + else + m_f_prior=0; + m_f_prior=opts.fudge.value()*m_f_prior; return false; } @@ -696,20 +706,20 @@ namespace FIBRE{ } - if(!m_fibres[f].propose_lam()){ - compute_prior(); - compute_energy(); - if(test_energy()){ - m_fibres[f].accept_lam(); - } - else{ - m_fibres[f].reject_lam(); - restore_energy_no_lik(); - } - } - else{ - m_fibres[f].reject_lam(); - } +// if(!m_fibres[f].propose_lam()){ +// compute_prior(); +// compute_energy(); +// if(test_energy()){ +// m_fibres[f].accept_lam(); +// } +// else{ +// m_fibres[f].reject_lam(); +// restore_energy_no_lik(); +// } +// } +// else{ +// m_fibres[f].reject_lam(); +// } }