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