Lines Matching refs:t0
164 double t0=i->min(), t1=i->max(), lo=0., hi=0.;
171 if (lo>=0 || t<t0 || t>t1) {
172 lo = std::min(a*(1-t0)+b*t0+lo*t0*(1-t0),a*(1-t1)+b*t1+lo*t1*(1-t1));
178 if (hi<=0 || t<t0 || t>t1) {
179 hi = std::max(a*(1-t0)+b*t0+hi*t0*(1-t0),a*(1-t1)+b*t1+hi*t1*(1-t1));
297 double t0,t1;
298 t0=std::min(ta_hi,ta_lo);
301 if (t0>t1+htol) return;//no root here.
303 if (fabs(t1-t0)<htol){
304 multi_roots_internal(f,df,levels,roots,htol,vtol,t0,f(t0),t1,f(t1));
307 t_left =t_right =t =(t0+t1)/2;
318 multi_roots_internal(f,df,levels,roots,htol,vtol,t0 ,f(t0) ,t_left,ft_left);
496 //let [t0,t1] be the next interval where to search.
497 double t0=std::min(ta_hi,ta_lo);
500 if (t0>=t1) return;//no root here.
503 //pretend f simultaneously meets all the levels between f(t0) and f(t1)...
504 if ( t1 - t0 <= tol ){
505 Interval f_t0t1 ( f(t0), f(t1) );
508 //push [t0,t1] into all crossed level. Cheat to avoid overlapping intervals on different levels?
511 solsets[idx].push_back( Interval( t0, t1 ) );
515 solsets[idxmax].push_back( Interval( t0, t1 ) );
521 t0 = std::min( std::max( t0, a + tol ), b );
524 double t =(t0+t1)/2;
526 level_sets_internal( f, df, levels, solsets, t0, f(t0), t, ft );