/* method: fill!(val) */ VALUE na_fill(VALUE self, volatile VALUE val) { struct NARRAY *a1, *a2; GetNArray(self,a1); val = na_cast_unless_narray(val,a1->type); GetNArray(val,a2); if (a2->total != 1) rb_raise(rb_eArgError, "single-element argument required"); SetFuncs[a1->type][a2->type]( a1->total, a1->ptr, na_sizeof[a1->type], a2->ptr, 0 ); return self; }