/*
* call-seq:
* dvector.add(number) -> a_dvector
* dvector.add(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.add(3) -> Dvector[ 14, -2, 5 ]
* a + 3 -> Dvector[ 14, -2, 5 ]
* 3 + a -> Dvector[ 14, -2, 5 ]
* b = Dvector[ 7, 4, -10 ]
* a.add(b) -> Dvector[ 18, -1, -8 ]
* a + b -> Dvector[ 18, -1, -8 ]
*/
VALUE dvector_add(VALUE ary, VALUE arg) {