subAndAss method
Implementation
MathTime subAndAss( dynamic r ){
if( r is MathTime ){
if( _minus != r._minus ){
// this += -r
addAndAss( 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
addAndAss( -rr );
} else {
_update();
MathTime rrr = floatToTime( rr );
_hour -= rrr._hour;
_min -= rrr._min;
_sec -= rrr._sec;
_frame -= rrr._frame;
reduce();
}
}
return this;
}