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