/*
 *  call-seq:
 *     dtable.pow(number)                ->  a_dtable
 *     dtable.pow(other)                 ->  a_dtable
 *     dtable.raised_to(number)          ->  a_dtable
 *     dtable.raised_to(other)           ->  a_dtable
 *     dtable ** number                  ->  a_dtable
 *     dtable ** other                   ->  a_dtable
 *  
 *  When argument is a number, this operation returns a copy of _dtable_ with each entry x replaced by x ** _number_.
 *  When argument is a data array, this operation returns a copy of _dtable_ with each entry x replaced
 *  by x ** the corresponding entry in the _other_ data array.
 *     
 */ VALUE dtable_pow(VALUE ary, VALUE arg) {