# HG changeset patch # User jwe # Date 1074804618 0 # Node ID 4302ab3fefd74894469d5e0473b124f2c0529c69 # Parent d803e418749429c0949a51064889baa20f69f9dd [project @ 2004-01-22 20:50:18 by jwe] diff -r d803e4187494 -r 4302ab3fefd7 liboctave/ChangeLog --- a/liboctave/ChangeLog Thu Jan 22 20:31:55 2004 +0000 +++ b/liboctave/ChangeLog Thu Jan 22 20:50:18 2004 +0000 @@ -1,5 +1,8 @@ 2004-01-22 Petter Risholm + * mx-inlines.cc (MX_ND_REDUCTION, MX_ND_CUMULATIVE_OP): + Simplify calculation of number of elements in retval. + * Array.cc (Array::assignN): Eliminate unnecessray code for filling when RHS is scalar and dimension lengths agree. diff -r d803e4187494 -r 4302ab3fefd7 liboctave/mx-inlines.cc --- a/liboctave/mx-inlines.cc Thu Jan 22 20:31:55 2004 +0000 +++ b/liboctave/mx-inlines.cc Thu Jan 22 20:50:18 2004 +0000 @@ -452,17 +452,8 @@ if (dim > -1) \ dv(dim) = 1; \ \ - /* We need to find the number of elements we need to */ \ - /* fill in retval. First we need to get last idx of */ \ - /* the dimension vector */ \ - \ - Array temp_dv (dv.length (), 0); \ - \ - for (int x = 0; x < dv.length (); x++) \ - temp_dv(x) = dv(x) - 1; \ - \ /* This finds the number of elements in retval */ \ - int num_iter = compute_index (temp_dv, dv) + 1; \ + int num_iter = (numel () / dim_length); \ \ /* Make sure retval has correct dimensions */ \ retval.resize (dv, false); \ @@ -582,18 +573,8 @@ \ dv (dim) = 1; \ \ - /* We need to find the number of elements we need to */ \ - /* fill in retval. First we need to get last idx of */ \ - /* the dimension vector */ \ - \ - /* This could be done faster */ \ - Array temp_dv (dv.length (), 0); \ - \ - for (int x = 0; x < dv.length (); x++) \ - temp_dv(x) = dv(x) - 1; \ - \ /* This finds the number of elements in retval */ \ - int num_iter = compute_index (temp_dv, dv) + 1; \ + int num_iter = (numel () / dim_length); \ \ Array iter_idx (dv.length (), 0); \ \