computes interpolation between two values , using the interpolation factor t . the interpolation formula is end - start t + start . however , the computation ensures that t = 0 produces exactly start , and t = 1 , produces exactly end . it also guarantees that for 0 < = t < = 1 , the interpolated value v is between start and end . concode_field_sep double sum concode_elem_sep double compensation concode_elem_sep double startValue concode_field_sep void add concode_elem_sep void add concode_elem_sep void sub concode_elem_sep void sub concode_elem_sep double truncate concode_elem_sep double round concode_elem_sep KahanSummator minusEquals concode_elem_sep KahanSummator minusEquals concode_elem_sep double copySign concode_elem_sep double sqr concode_elem_sep double getResult concode_elem_sep int sign concode_elem_sep void reset concode_elem_sep KahanSummator plusEquals concode_elem_sep KahanSummator plusEquals concode_elem_sep double FMod
double function ( double arg0 , double arg1 , double arg2 ) { double loc0 ; if ( arg2 <= 0.5 ) loc0 = arg0 + ( arg1 - arg0 ) * arg2 ; else loc0 = arg1 - ( arg1 - arg0 ) * ( 1.0 - arg2 ) ; assert ( arg2 < 0 || arg2 > 1.0 || ( loc0 >= arg0 && loc0 <= arg1 ) || ( loc0 <= arg0 && loc0 >= arg1 ) || NumberUtils . isNaN ( arg0 ) || NumberUtils . isNaN ( arg1 ) ) ; return loc0 ; }