addAndAss method
Implementation
MathTime addAndAss( dynamic r ){
if( r is MathTime ){
if( _minus != r._minus ){
// this -= -r
subAndAss( r.minus() );
} else {
_update();
MathTime rr = dup( r );
rr._update();
_hour += rr._hour;
_min += rr._min;
_sec += rr._sec;
_frame += rr._frame;
reduce();
}
} else {
double rr = ClipMath.toDouble(r);
if( _minus != (rr < 0.0) ){
// this -= -rr
subAndAss( -rr );
} else {
_update();
MathTime rrr = floatToTime( rr );
_hour += rrr._hour;
_min += rrr._min;
_sec += rrr._sec;
_frame += rrr._frame;
reduce();
}
}
return this;
}