[EMAIL PROTECTED] (Ludovic Courtès) writes: > > 1. I don't understand how `scm_shap2ra ()' is supposed to behave when > LBND > UBND since it doesn't check it.
Dunno, except that in general "(10 9)" makes an empty array these days, but say "(10 8)" is an error. > Should it instead inverse the bounds order? Or keep the bounds > as is and set INC = -1? Pretty sure it shouldn't do either of those things. > --- orig/libguile/unif.c 2006-11-30 10:25:50.101433600 +0100 > +++ mod/libguile/unif.c 2006-11-30 13:03:16.244320000 +0100 > @@ -900,6 +900,7 @@ > { > SCM_I_ARRAY_V (ra) = make_typed_vector (scm_array_type (ra), 0); > scm_array_handle_release (&old_handle); > + SCM_SET_ARRAY_CONTIGUOUS_FLAG (ra); > return ra; I had doubts about this. Below is what I thought at the time, but now I completely forget why. Marius may be the expert on this.
--- unif.c.~1.192.2.6.~ 2006-12-13 09:38:49.000000000 +1100 +++ unif.c 2006-12-14 09:09:33.000000000 +1100 @@ -901,7 +901,10 @@ if (1 == SCM_I_ARRAY_NDIM (ra)) ra = make_typed_vector (scm_array_type (ra), 0); else + { SCM_I_ARRAY_V (ra) = make_typed_vector (scm_array_type (ra), 0); + SCM_SET_ARRAY_CONTIGUOUS_FLAG (ra); + } scm_array_handle_release (&old_handle); return ra; }
_______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel