# HG changeset patch # User John W. Eaton # Date 1287426466 14400 # Node ID 84ad75921e3549047e1166c97bac7bbbc874e162 # Parent 0be2d25700a7f6c04d4619bed5290abac772932b edit NEWS file diff --git a/NEWS b/NEWS --- a/NEWS +++ b/NEWS @@ -3,7 +3,7 @@ ** The fltk graphics backend now implements the following callback properties: keypressfcn, keyreleasefcn, windowbuttondownfcn, - windowbuttonmotionfcn, windowbuttonupfcn, and currentpoint. These + windowbuttonmotionfcn, windowbuttonupfcn, and currentpoint. These enable keyboard and mouse interaction, an example of which can be seen in the __fltk_ginput__.m script. @@ -187,7 +187,7 @@ brings better performance if RM has enough rows. Previously, the second form was always used. - Matrix division is similarly affected. + Matrix division is similarly affected. ** More efficient handling of triangular matrix factors returned from factorizations. The functions for computing QR, LU and Cholesky @@ -221,9 +221,9 @@ functions are now built-in functions, providing better performance. ** Matlab-style ignoring input and output function arguments using - tilde (~) is now supported. Ignored output arguments may be detected - from a function using the built-in function `isargout'. - For more details, consult the manual. + tilde (~) is now supported. Ignored output arguments may be + detected from a function using the built-in function `isargout'. + For more details, consult the manual. ** The list datatype, deprecated since the introduction of cells, has been removed. @@ -236,7 +236,7 @@ ** The integer math & conversion warnings (Octave:int-convert-nan, Octave:int-convert-non-int-val, Octave:int-convert-overflow, - Octave:int-math-overflow) have been removed. + Octave:int-math-overflow) have been removed. ** rem and mod are now built-in functions. They also handle integer types efficiently using integer arithmetic. @@ -251,21 +251,21 @@ subsequently fill it by assignments, provided they meet certain conditions. For more information, consult the `spalloc' function, which is no longer a mere dummy. Consequently, nzmax and nnz are no - longer always equal in Octave. Octave may also produce a matrix with - nnz < nzmax as a result of other operations, so you should - consistently use nnz unless you really want to use nzmax - (i.e. the space allocated for nonzero elements). + longer always equal in Octave. Octave may also produce a matrix + with nnz < nzmax as a result of other operations, so you should + consistently use nnz unless you really want to use nzmax (i.e. the + space allocated for nonzero elements). Sparse concatenation is also affected, and concatenating sparse matrices, especially larger collections, is now significantly more - efficient. This applies to both the [] operator and the + efficient. This applies to both the [] operator and the cat/vertcat/horzcat functions. - ** It is now possible to optionally employ the xGESDD LAPACK drivers for - computing the singular value decomposition using svd(), instead of - the default xGESVD, using the configuration pseudo-variable - svd_driver. The xGESDD driver can be up to 6x times faster when - singular vectors are requested, but is reported to be somewhat less + ** It is now possible to optionally employ the xGESDD LAPACK drivers + for computing the singular value decomposition using svd(), instead + of the default xGESVD, using the configuration pseudo-variable + svd_driver. The xGESDD driver can be up to 6x times faster when + singular vectors are requested, but is reported to be somewhat less robust on highly ill-conditioned matrices. ** Configuration pseudo-variables, such as page_screen_output or @@ -284,34 +284,38 @@ changes to the variable in function rm_rf or any of the functions it calls. - ** pkg now accepts a -forge option for downloading and installing packages - from OctaveForge automatically. For example, + ** pkg now accepts a -forge option for downloading and installing + packages from Octave Forge automatically. For example, pkg install -forge general - will automatically download the latest release of the general package and - attempt to install it. No automatic resolving of dependencies is provided. - Further, + will automatically download the latest release of the general + package and attempt to install it. No automatic resolving of + dependencies is provided. Further, pkg list -forge can be used to list all available packages. - ** The internal data representation of structs has been completely rewritten - to make certain optimizations feasible. The field data can now be shared - between structs with equal keys but different dimensions or values, making - operations that preserve the fields faster. Economized storage is now used - for scalar structs (just like most other scalars), making their usage more - memory-efficient. Certain array-like operations on structs (concatenation, - uniform cellfun, num2cell) have gained a significant speed-up. - Additionally, the octave_scalar_map class now provides a simpler interface - to work with scalar structs within a C++ DLD function. + ** The internal data representation of structs has been completely + rewritten to make certain optimizations feasible. The field data + can now be shared between structs with equal keys but different + dimensions or values, making operations that preserve the fields + faster. Economized storage is now used for scalar structs (just + like most other scalars), making their usage more + memory-efficient. Certain array-like operations on structs + (concatenation, uniform cellfun, num2cell) have gained a + significant speed-up. Additionally, the octave_scalar_map class + now provides a simpler interface to work with scalar structs within + a C++ DLD function. ** Two new formats are available for displaying numbers: - format short eng - format long eng - Both display numbers in engineering notation, i.e., mantissa + exponent - where the exponent is a multiple of 3. + + format short eng + format long eng + + Both display numbers in engineering notation, i.e., mantissa + + exponent where the exponent is a multiple of 3. ** The following new functions were added: @@ -327,26 +331,32 @@ as display, xv, and xloadimage is no longer supported. The image_viewer function has also been removed. - ** The behavior of struct assignments to non-struct values has been changed. - Previously, it was possible to overwrite an arbitrary value: + ** The behavior of struct assignments to non-struct values has been + changed. Previously, it was possible to overwrite an arbitrary + value: a = 1; a.x = 2; - This is no longer possible unless a is an empty matrix or cell array. + This is no longer possible unless a is an empty matrix or cell + array. - ** By popular demand, dlmread has been extended to allow specifying a custom - value for empty fields and also to accept file IDs opened by fopen. Likewise, - dlmwrite can write to file IDs. + ** The dlmread function has been extended to allow specifying a custom + value for empty fields. - ** Octave can now optimize away the interpreter overhead of an anonymous function - handle, if the function simply calls another function or handle with some of its - parameters bound to certain values. Example: + ** The dlmread and dlmwrite functions have been modified to accept + file IDs (as returned by fopen) in addition to file names. + + ** Octave can now optimize away the interpreter overhead of an + anonymous function handle, if the function simply calls another + function or handle with some of its parameters bound to certain + values. Example: f = @(x) sum (x, 1); - When f is called, the call is forwarded to @sum with the constant 1 appended, and - the anonymous function call does not occur on the call stack. + When f is called, the call is forwarded to @sum with the constant 1 + appended, and the anonymous function call does not occur on the + call stack. Summary of important user-visible changes for version 3.2: ---------------------------------------------------------