# HG changeset patch # User Jaroslav Hajek # Date 1259529161 -3600 # Node ID cee6c63cff329836f5799a94cdd23fbad0251b29 # Parent e3bd1569a68c3227a895cdbe9e099388cc0d4725 update NEWS diff -r e3bd1569a68c -r cee6c63cff32 ChangeLog --- a/ChangeLog Sun Nov 29 21:21:42 2009 +0100 +++ b/ChangeLog Sun Nov 29 22:12:41 2009 +0100 @@ -1,3 +1,7 @@ +2009-11-29 Jaroslav Hajek + + * NEWS: Update. + 2009-11-27 David Bateman * configure.ac (HAVE_H5GGET_NUM_OBJS) Remove define. diff -r e3bd1569a68c -r cee6c63cff32 NEWS --- a/NEWS Sun Nov 29 21:21:42 2009 +0100 +++ b/NEWS Sun Nov 29 22:12:41 2009 +0100 @@ -16,6 +16,12 @@ no longer needed to avoid repeated indexing by logical arrays using `find' for performance reasons. + ** Logical matrices are now treated more efficiently when used as indices. + Octave will keep the index as a logical mask unless the ratio of true + elements is small enough, using a specialized code. Previously, all logical + matrices were always first converted to index vectors. This results in + savings in both memory and computing time. + ** sub2ind and ind2sub were reimplemented as compiled functions for better performance. These functions are now faster, can deliver more economized results for ranges, and can reuse the index cache mechanism described in @@ -95,8 +101,11 @@ logical matrix |= logical matrix logical matrix &= logical matrix - where matrix and scalar belong to the same class. The left-hand side must be - a simple variable reference. + where matrix and scalar belong to the same class. The left-hand side must be + a simple variable reference. + + Moreover, when unary operators occur in expressions, Octave will also try to do + the operation in-place if it's argument is a temporary expresssion. ** The effect of comparison operators (<,>,<=,>=) when applied to complex numbers has changed to be consistent with the strict ordering defined by max, min and sort.