/*
* call-seq:
* dvector.modulo!(number) -> dvector
* dvector.mod!(number) -> dvector
* dvector.modulo!(other) -> dvector
* dvector.mod!(other) -> 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[ 1.1, -5.7, 12.7 ]
* a.mod!(3.8) -> Dvector[ 1.1, 1.9, 1.3 ]
* a -> Dvector[ 1.1, 1.9, 1.3 ]
* b = Dvector[ 7.1, 4.9, -10.1 ]
* a.mod!(b) -> Dvector[ 1.1, 4.1, -7.5 ]
* a -> Dvector[ 1.1, 4.1, -7.5 ]
*/
VALUE dvector_modulo_bang(VALUE ary, VALUE arg) {