/*
* call-seq:
* dvector.as_exponent_of!(number) -> dvector
* dvector.as_exponent_of!(other) -> dvector
*
* When argument is a number, this operation replaces each entry x of _dvector_ by _number_ ** x.
* When argument is a vector, this operation replaces each entry x of _dvector_
* by the corresponding entry in the _other_ vector raised to the power x.
*
* a = Dvector[ 2, -5, 12 ]
* a.as_exponent_of!(3.8) -> Dvector[ 3.8 ** 2, 3.8 ** (-5), 3.8 ** 12 ]
* a -> Dvector[ 3.8 ** 2, 3.8 ** (-5), 3.8 ** 12 ]
* b = Dvector[ 7.1, 4.9, -10 ]
* a.as_exponent_of!(b) -> Dvector[ 7.1 ** 2, 4.9 ** (-5), (-10) ** 12 ]
* a -> Dvector[ 7.1 ** 2, 4.9 ** (-5), (-10) ** 12 ]
*/
VALUE dvector_as_exponent_of_bang(VALUE ary, VALUE arg) {