/*
* call-seq:
* dvector.each3_with_index(other1, other2) {|x,y,z,i| block }
*
* Calls <i>block</i> once for each element in _dvector_, passing that
* element as a parameter along with the corresponding element from the _other1_ and _other2_ vectors and the index.
* The three vectors must be the same length.
*
* a = Dvector[ 1, 0, -1 ]
* b = Dvector[ 3, 4, 5 ]
* c = Dvector[ 6, 9, 2 ]
* a.each3(b, c) {|x,y,z,i| print "(", x ",", y, ", ", z, ",", i, ") " }
*
* produces:
*
* (1,3,6,0) (0,4,9,1) (-1,5,2,2)
*/ VALUE dvector_each3_with_index(VALUE ary, VALUE ary2, VALUE ary3) {