Changeset 487 for library/bdm/base/bdmbase.cpp
- Timestamp:
- 08/08/09 13:42:18 (15 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
library/bdm/base/bdmbase.cpp
r479 r487 140 140 } 141 141 142 vec mpdf::samplecond ( const vec &cond ) { 143 condition ( cond ); 144 vec temp = shep->sample(); 142 template<class EPDF> 143 vec mpdf_internal<EPDF>::samplecond ( const vec &cond ) { 144 condition ( cond ); 145 vec temp = iepdf.sample(); 145 146 return temp; 146 147 } 147 148 148 mat mpdf::samplecond_m ( const vec &cond, int N ) { 149 condition ( cond ); 150 mat temp ( shep->dimension(), N ); 151 vec smp ( shep->dimension() ); 149 template<class EPDF> 150 mat mpdf_internal<EPDF>::samplecond_m ( const vec &cond, int N ) { 151 condition ( cond ); 152 mat temp ( dimension(), N ); 153 vec smp ( dimension() ); 152 154 for ( int i = 0; i < N; i++ ) { 153 smp = shep->sample();155 smp = iepdf.sample(); 154 156 temp.set_col ( i, smp ); 155 157 } … … 158 160 } 159 161 160 double mpdf::evallogcond ( const vec &dt, const vec &cond ) { 162 template<class EPDF> 163 double mpdf_internal<EPDF>::evallogcond ( const vec &dt, const vec &cond ) { 161 164 double tmp; 162 165 condition ( cond ); 163 tmp = shep->evallog ( dt );166 tmp = iepdf.evallog ( dt ); 164 167 // it_assert_debug(std::isfinite(tmp), "Infinite value"); 165 168 return tmp; 166 169 } 167 170 168 vec mpdf::evallogcond_m ( const mat &Dt, const vec &cond ) { 169 condition ( cond ); 170 return shep->evallog_m ( Dt ); 171 } 172 173 vec mpdf::evallogcond_m ( const Array<vec> &Dt, const vec &cond ) { 174 condition ( cond ); 175 return shep->evallog_m ( Dt ); 171 template<class EPDF> 172 vec mpdf_internal<EPDF>::evallogcond_m ( const mat &Dt, const vec &cond ) { 173 condition ( cond ); 174 return iepdf.evallog_m ( Dt ); 175 } 176 177 template<class EPDF> 178 vec mpdf_internal<EPDF>::evallogcond_m ( const Array<vec> &Dt, const vec &cond ) { 179 condition ( cond ); 180 return iepdf.evallog_m ( Dt ); 176 181 } 177 182 … … 313 318 void mepdf::from_setting ( const Setting &set ) { 314 319 shared_ptr<epdf> e ( UI::build<epdf> ( set, "epdf", UI::compulsory ) ); 315 set_ep ( e );320 ipdf = e; 316 321 } 317 322