mulAndAss method

MathValue mulAndAss(
  1. dynamic r
)

Implementation

MathValue mulAndAss( r ){
	if( r is MathValue ){
		switch( r._type ){
		case ClipMath.valueTypeComplex:
			switch( type() ){
			case ClipMath.valueTypeComplex: _c.mulAndAss( r._c           ); break;
			case ClipMath.valueTypeFract  : _f.mulAndAss( r._c.toFloat() ); break;
			case ClipMath.valueTypeTime   : _t.mulAndAss( r._c.toFloat() ); break;
			}
			break;
		case ClipMath.valueTypeFract:
			switch( type() ){
			case ClipMath.valueTypeComplex: _c.mulAndAss( r._f.toFloat() ); break;
			case ClipMath.valueTypeFract  : _f.mulAndAss( r._f           ); break;
			case ClipMath.valueTypeTime   : _t.mulAndAss( r._f.toFloat() ); break;
			}
			break;
		case ClipMath.valueTypeTime:
			switch( type() ){
			case ClipMath.valueTypeComplex: _c.mulAndAss( r._t.toFloat() ); break;
			case ClipMath.valueTypeFract  : _f.mulAndAss( r._t.toFloat() ); break;
			case ClipMath.valueTypeTime   : _t.mulAndAss( r._t           ); break;
			}
			break;
		}
	} else {
		switch( type() ){
		case ClipMath.valueTypeComplex: _c.mulAndAss( ClipMath.toDouble(r) ); break;
		case ClipMath.valueTypeFract  : _f.mulAndAss( ClipMath.toDouble(r) ); break;
		case ClipMath.valueTypeTime   : _t.mulAndAss( ClipMath.toDouble(r) ); break;
		}
	}
	return this;
}