142 | | template<class EPDF> |
143 | | vec mpdf_internal<EPDF>::samplecond ( const vec &cond ) { |
144 | | condition ( cond ); |
145 | | vec temp = iepdf.sample(); |
146 | | return temp; |
147 | | } |
148 | | |
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() ); |
154 | | for ( int i = 0; i < N; i++ ) { |
155 | | smp = iepdf.sample(); |
156 | | temp.set_col ( i, smp ); |
157 | | } |
158 | | |
159 | | return temp; |
160 | | } |
161 | | |
162 | | template<class EPDF> |
163 | | double mpdf_internal<EPDF>::evallogcond ( const vec &dt, const vec &cond ) { |
164 | | double tmp; |
165 | | condition ( cond ); |
166 | | tmp = iepdf.evallog ( dt ); |
167 | | // it_assert_debug(std::isfinite(tmp), "Infinite value"); |
168 | | return tmp; |
169 | | } |
170 | | |
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 ); |
181 | | } |