/*
* call-seq:
* dvector.mul(number) -> a_dvector
* dvector.mul(other) -> a_dvector
* dvector - number -> a_dvector
* number - dvector -> a_dvector
* dvector - other -> a_dvector
*
* When argument is a number, this operation returns a copy of _dvector_ with each entry x replaced by x * _number_.
* When argument is a vector, this operation returns a copy of _dvector_ with each entry x replaced
* by x * the corresponding entry in the _other_ vector.
*
* a = Dvector[ 11, -5, 2 ]
* a.mul(3) -> Dvector[ 33, -15, 6 ]
* a * 3 -> Dvector[ 33, -15, 6 ]
* 3 * a -> Dvector[ 33, -15, 6 ]
* b = Dvector[ 7, 4, -10 ]
* a.mul(b) -> Dvector[ 77, -20, -20 ]
* a * b -> Dvector[ 77, -20, -20 ]
*/
VALUE dvector_mul(VALUE ary, VALUE arg) {