/* Returns a string containing a human-readable representation of NArray. @overload inspect @return [String] */ VALUE nary_struct_inspect(VALUE ary) { VALUE opt; opt = nst_create_member_views(ary); return na_ndloop_inspect(ary, iter_struct_inspect, opt); }
static VALUE nary_struct_cast_array(VALUE klass, VALUE rary) { volatile VALUE vnc, nary; narray_t *na; na_compose_t *nc; VALUE opt; ndfunc_arg_in_t ain[3] = {{rb_cArray,0},{Qnil,0},{sym_option}}; ndfunc_t ndf = { iter_nstruct_from_a, NO_LOOP, 3, 0, ain, 0 }; //fprintf(stderr,"rary:");rb_p(rary); //fprintf(stderr,"class_of(rary):");rb_p(CLASS_OF(rary)); vnc = na_ary_composition_for_struct(klass, rary); Data_Get_Struct(vnc, na_compose_t, nc); nary = rb_narray_new(klass, nc->ndim, nc->shape); GetNArray(nary,na); //fprintf(stderr,"na->size=%lu\n",na->size); //fprintf(stderr,"na->ndim=%d\n",na->ndim); if (na->size>0) { opt = nst_create_member_views(nary); rb_funcall(nary, rb_intern("allocate"), 0); na_ndloop_cast_rarray_to_narray2(&ndf, rary, nary, opt); } return nary; }
/* Returns a string containing a human-readable representation of NArray. @overload inspect @return [String] */ VALUE nary_struct_inspect(VALUE ary) { VALUE str, opt; str = na_info_str(ary); opt = nst_create_member_views(ary); na_ndloop_inspect(ary, str, iter_struct_inspect, opt); return str; }
static VALUE nary_struct_to_a(VALUE self) { volatile VALUE opt; ndfunc_arg_in_t ain[3] = {{Qnil,0},{sym_loop_opt},{sym_option}}; ndfunc_arg_out_t aout[1] = {{rb_cArray,0}}; // dummy? ndfunc_t ndf = { iter_nstruct_to_a, NO_LOOP, 3, 1, ain, aout }; opt = nst_create_member_views(self); return na_ndloop_cast_narray_to_rarray(&ndf, self, opt); }