comparison etc/NEWS.3 @ 19629:be7ac98fab43 gui-release

strip trailing whitespace from most source files * NEWS, etc/NEWS.3, libgui/graphics/Backend.h, libgui/graphics/ButtonControl.h, libgui/graphics/EditControl.cc, libgui/graphics/Object.h, libgui/graphics/QtHandlesUtils.cc, libgui/graphics/ToolBarButton.h, libgui/graphics/__init_qt__.cc, libgui/graphics/gl-select.cc, libgui/qterminal/libqterminal/unix/TerminalView.cpp, libgui/qterminal/libqterminal/unix/TerminalView.h, libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp, libgui/src/m-editor/file-editor-tab.cc, libgui/src/m-editor/file-editor.cc, libgui/src/m-editor/file-editor.h, libgui/src/m-editor/octave-qscintilla.cc, libgui/src/settings-dialog.cc, libgui/src/shortcut-manager.cc, libgui/src/workspace-view.cc, libinterp/corefcn/graphics.cc, libinterp/corefcn/input.cc, libinterp/parse-tree/pt-unop.cc, liboctave/array/dSparse.h, scripts/pkg/pkg.m, scripts/polynomial/polyeig.m, test/io.tst: Strip trailing whitespace.
author John W. Eaton <jwe@octave.org>
date Tue, 20 Jan 2015 09:43:29 -0500
parents fe689210525c
children
comparison
equal deleted inserted replaced
19628:fe689210525c 19629:be7ac98fab43
61 in the global namespace (See also subfunctions and private functions). 61 in the global namespace (See also subfunctions and private functions).
62 In addition, variables in the enclosing function are visible within the 62 In addition, variables in the enclosing function are visible within the
63 nested function. This makes it possible to have a pseudo-global variable 63 nested function. This makes it possible to have a pseudo-global variable
64 which can be seen by a group of functions, but which is not visible in 64 which can be seen by a group of functions, but which is not visible in
65 the global namespace. 65 the global namespace.
66 66
67 Example: 67 Example:
68 function outerfunc (...) 68 function outerfunc (...)
69 ... 69 ...
70 function nested1 (...) 70 function nested1 (...)
71 ... 71 ...
103 will be consistent with other binary operators. 103 will be consistent with other binary operators.
104 104
105 ** Redundant terminal comma accepted by parser 105 ** Redundant terminal comma accepted by parser
106 106
107 A redundant terminal comma is now accepted in matrix 107 A redundant terminal comma is now accepted in matrix
108 definitions which allows writing code such as 108 definitions which allows writing code such as
109 109
110 [a,... 110 [a,...
111 b,... 111 b,...
112 c,... 112 c,...
113 ] = deal (1,2,3) 113 ] = deal (1,2,3)
154 ** 'emptymatch', 'noemptymatch' options added to regular expressions. 154 ** 'emptymatch', 'noemptymatch' options added to regular expressions.
155 155
156 With this addition Octave now accepts the entire set of Matlab options 156 With this addition Octave now accepts the entire set of Matlab options
157 for regular expressions. 'noemptymatch' is the default, but 'emptymatch' 157 for regular expressions. 'noemptymatch' is the default, but 'emptymatch'
158 has certain uses where you need to match an assertion rather than actual 158 has certain uses where you need to match an assertion rather than actual
159 characters. For example, 159 characters. For example,
160 160
161 regexprep ('World', '^', 'Hello ', 'emptymatch') 161 regexprep ('World', '^', 'Hello ', 'emptymatch')
162 => Hello World 162 => Hello World
163 163
164 where the pattern is actually the assertion '^' or start-of-line. 164 where the pattern is actually the assertion '^' or start-of-line.
165 165
166 ** For compatibility with Matlab, the regexp, regexpi, and regexprep 166 ** For compatibility with Matlab, the regexp, regexpi, and regexprep
167 functions now process backslash escape sequences in single-quoted pattern 167 functions now process backslash escape sequences in single-quoted pattern
168 strings. In addition, the regexprep function now processes backslash 168 strings. In addition, the regexprep function now processes backslash
169 escapes in single-quoted replacement strings. For example, 169 escapes in single-quoted replacement strings. For example,
170 170
171 regexprep (str, '\t', '\n') 171 regexprep (str, '\t', '\n')
172 172
173 would search the variable str for a TAB character (escape sequence \t) 173 would search the variable str for a TAB character (escape sequence \t)
174 and replace it with a NEWLINE (escape sequence \n). Previously the 174 and replace it with a NEWLINE (escape sequence \n). Previously the
175 expression would have searched for a literal '\' followed by 't' and 175 expression would have searched for a literal '\' followed by 't' and
186 _ subscript H_2O formula for water 186 _ subscript H_2O formula for water
187 ^ exponent y=x^2 formula for parabola 187 ^ exponent y=x^2 formula for parabola
188 \char symbol \beta Greek symbol beta 188 \char symbol \beta Greek symbol beta
189 \fontname font \fontname{Arial} set Arial font 189 \fontname font \fontname{Arial} set Arial font
190 \fontsize fontsize \fontsize{16} set fontsize 16 190 \fontsize fontsize \fontsize{16} set fontsize 16
191 \color[rgb] fontcolor \color[rgb]{1 0 1} set magenta color 191 \color[rgb] fontcolor \color[rgb]{1 0 1} set magenta color
192 \bf bold \bfBold Text bold font 192 \bf bold \bfBold Text bold font
193 \it italic \itItalic Text italic font 193 \it italic \itItalic Text italic font
194 \sl slanted \slOblique Text slanted font 194 \sl slanted \slOblique Text slanted font
195 \rm normal \bfBold\rmNormal normal font 195 \rm normal \bfBold\rmNormal normal font
196 {} group {\bf Bold}Normal group objects 196 {} group {\bf Bold}Normal group objects
250 (1) Delimiters are now string vectors, not scalars. 250 (1) Delimiters are now string vectors, not scalars.
251 251
252 Octave's legacy behavior 252 Octave's legacy behavior
253 253
254 strsplit ("1 2, 3", ", ") 254 strsplit ("1 2, 3", ", ")
255 ans = 255 ans =
256 { 256 {
257 [1,1] = 1 257 [1,1] = 1
258 [1,2] = 2 258 [1,2] = 2
259 [1,3] = 259 [1,3] =
260 [1,4] = 3 260 [1,4] = 3
261 } 261 }
262 262
263 Matlab compatible behavior 263 Matlab compatible behavior
264 264
265 strsplit ("1 2, 3", ", ") 265 strsplit ("1 2, 3", ", ")
266 ans = 266 ans =
267 { 267 {
268 [1,1] = 1 2 268 [1,1] = 1 2
269 [1,2] = 3 269 [1,2] = 3
270 } 270 }
271 271
285 month, and year. This may produce changes in existing scripts. 285 month, and year. This may produce changes in existing scripts.
286 286
287 ** The error function and its derivatives has been extended to accept complex 287 ** The error function and its derivatives has been extended to accept complex
288 arguments. The following functions now accept complex inputs: 288 arguments. The following functions now accept complex inputs:
289 289
290 erf erfc erfcx 290 erf erfc erfcx
291 291
292 In addition two new error functions erfi (imaginary error function) and 292 In addition two new error functions erfi (imaginary error function) and
293 dawson (scaled imaginary error function) have been added. 293 dawson (scaled imaginary error function) have been added.
294 294
295 ** The glpk function has been modified to reflect changes in the GLPK 295 ** The glpk function has been modified to reflect changes in the GLPK
296 library. The "round" and "itcnt" options have been removed. The 296 library. The "round" and "itcnt" options have been removed. The
297 "relax" option has been replaced by the "rtest" option. The numeric 297 "relax" option has been replaced by the "rtest" option. The numeric
298 values of error codes and of some options have also changed. 298 values of error codes and of some options have also changed.
299 299
300 ** The kurtosis function has changed definition to be compatible with 300 ** The kurtosis function has changed definition to be compatible with
301 Matlab. It now returns the base kurtosis instead of the "excess kurtosis". 301 Matlab. It now returns the base kurtosis instead of the "excess kurtosis".
302 The old behavior can be had by changing scripts to normalize with -3. 302 The old behavior can be had by changing scripts to normalize with -3.
303 303
304 "excess kurtosis" = kurtosis (x) - 3 304 "excess kurtosis" = kurtosis (x) - 3
305 305
306 ** The moment function has changed definition to be compatible with 306 ** The moment function has changed definition to be compatible with
307 Matlab. It now returns the central moment instead of the raw moment. 307 Matlab. It now returns the central moment instead of the raw moment.
308 The old behavior can be had by passing the type argument "r" for raw. 308 The old behavior can be had by passing the type argument "r" for raw.
309 309
310 ** The default name of the Octave crash dump file is now 310 ** The default name of the Octave crash dump file is now
311 "octave-workspace" instead of "octave-core". The exact name can 311 "octave-workspace" instead of "octave-core". The exact name can
312 always be customized with the octave_core_file_name function. 312 always be customized with the octave_core_file_name function.
313 313
314 ** A citation command has been added to display information on how to 314 ** A citation command has been added to display information on how to
315 cite Octave and packages in publications. The package system will 315 cite Octave and packages in publications. The package system will
356 356
357 ** Deprecated functions. 357 ** Deprecated functions.
358 358
359 The following functions were deprecated in Octave 3.4 and have been 359 The following functions were deprecated in Octave 3.4 and have been
360 removed from Octave 3.8. 360 removed from Octave 3.8.
361 361
362 autocor dispatch is_global setstr 362 autocor dispatch is_global setstr
363 autocov fstat krylovb strerror 363 autocov fstat krylovb strerror
364 betai gammai perror values 364 betai gammai perror values
365 cellidx glpkmex replot 365 cellidx glpkmex replot
366 cquad is_duplicate_entry saveimage 366 cquad is_duplicate_entry saveimage
367 367
368 The following functions have been deprecated in Octave 3.8 and will 368 The following functions have been deprecated in Octave 3.8 and will
369 be removed from Octave 3.12 (or whatever version is the second major 369 be removed from Octave 3.12 (or whatever version is the second major
370 release after 3.8): 370 release after 3.8):
371 371
372 default_save_options java_new 372 default_save_options java_new
373 gen_doc_cache java_set 373 gen_doc_cache java_set
374 interp1q java_unsigned_conversion 374 interp1q java_unsigned_conversion
375 isequalwithequalnans javafields 375 isequalwithequalnans javafields
376 java_convert_matrix javamethods 376 java_convert_matrix javamethods
377 java_debug re_read_readline_init_file 377 java_debug re_read_readline_init_file
378 java_get read_readline_init_file 378 java_get read_readline_init_file
379 java_invoke saving_history 379 java_invoke saving_history
380 380
381 381
382 The following keywords have been deprecated in Octave 3.8 and will 382 The following keywords have been deprecated in Octave 3.8 and will
383 be removed from Octave 3.12 (or whatever version is the second major 383 be removed from Octave 3.12 (or whatever version is the second major
384 release after 3.8): 384 release after 3.8):
543 Octave:associativity-change 543 Octave:associativity-change
544 Octave:complex-cmp-ops 544 Octave:complex-cmp-ops
545 Octave:empty-list-elements 545 Octave:empty-list-elements
546 Octave:fortran-indexing 546 Octave:fortran-indexing
547 Octave:precedence-change 547 Octave:precedence-change
548 548
549 ** The warning ID Octave:string-concat has been renamed to 549 ** The warning ID Octave:string-concat has been renamed to
550 Octave:mixed-string-concat. 550 Octave:mixed-string-concat.
551 551
552 ** Octave now includes the following Matlab-compatible preference 552 ** Octave now includes the following Matlab-compatible preference
553 functions: 553 functions:
577 ** Other new functions added in 3.6.0: 577 ** Other new functions added in 3.6.0:
578 578
579 bicg nthargout usejava 579 bicg nthargout usejava
580 is_dq_string narginchk waitbar 580 is_dq_string narginchk waitbar
581 is_sq_string python zscore 581 is_sq_string python zscore
582 is_function_handle register_graphics_toolkit 582 is_function_handle register_graphics_toolkit
583 loaded_graphics_toolkits recycle 583 loaded_graphics_toolkits recycle
584 584
585 ** Deprecated functions. 585 ** Deprecated functions.
586 586
587 The following functions were deprecated in Octave 3.2 and have been 587 The following functions were deprecated in Octave 3.2 and have been
588 removed from Octave 3.6. 588 removed from Octave 3.6.
589 589
590 create_set spcholinv splu 590 create_set spcholinv splu
591 dmult spcumprod spmax 591 dmult spcumprod spmax
592 iscommand spcumsum spmin 592 iscommand spcumsum spmin
593 israwcommand spdet spprod 593 israwcommand spdet spprod
594 lchol spdiag spqr 594 lchol spdiag spqr
595 loadimage spfind spsum 595 loadimage spfind spsum
596 mark_as_command sphcat spsumsq 596 mark_as_command sphcat spsumsq
597 mark_as_rawcommand spinv spvcat 597 mark_as_rawcommand spinv spvcat
598 spatan2 spkron str2mat 598 spatan2 spkron str2mat
599 spchol splchol unmark_command 599 spchol splchol unmark_command
600 spchol2inv split unmark_rawcommand 600 spchol2inv split unmark_rawcommand
601 601
602 The following functions have been deprecated in Octave 3.6 and will 602 The following functions have been deprecated in Octave 3.6 and will
603 be removed from Octave 3.10 (or whatever version is the second major 603 be removed from Octave 3.10 (or whatever version is the second major
604 release after 3.6): 604 release after 3.6):
605 605
606 cut polyderiv 606 cut polyderiv
607 cor shell_cmd 607 cor shell_cmd
608 corrcoef studentize 608 corrcoef studentize
609 __error_text__ sylvester_matrix 609 __error_text__ sylvester_matrix
610 error_text 610 error_text
611 611
612 ** The following functions have been modified for Matlab compatibility: 612 ** The following functions have been modified for Matlab compatibility:
613 613
614 randperm 614 randperm
615 615
616 Summary of important user-visible changes for version 3.4.3: 616 Summary of important user-visible changes for version 3.4.3:
617 ----------------------------------------------------------- 617 -----------------------------------------------------------
618 618
619 ** Octave 3.4.3 is a bug fixing release. 619 ** Octave 3.4.3 is a bug fixing release.
620 620
621 Summary of important user-visible changes for version 3.4.2: 621 Summary of important user-visible changes for version 3.4.2:
622 ----------------------------------------------------------- 622 -----------------------------------------------------------
623 623
624 ** Octave 3.4.2 fixes some minor installation problems that affected 624 ** Octave 3.4.2 fixes some minor installation problems that affected
625 version 3.4.1. 625 version 3.4.1.
679 --------------------------------------------------------- 679 ---------------------------------------------------------
680 680
681 ** BLAS and LAPACK libraries are now required to build Octave. The 681 ** BLAS and LAPACK libraries are now required to build Octave. The
682 subset of the reference BLAS and LAPACK libraries has been removed 682 subset of the reference BLAS and LAPACK libraries has been removed
683 from the Octave sources. 683 from the Octave sources.
684 684
685 ** The ARPACK library is now distributed with Octave so it no longer 685 ** The ARPACK library is now distributed with Octave so it no longer
686 needs to be available as an external dependency when building 686 needs to be available as an external dependency when building
687 Octave. 687 Octave.
688 688
689 ** The `lookup' function was extended to be more useful for 689 ** The `lookup' function was extended to be more useful for
712 712
713 ** The built-in function equivalents to associative operators (`plus', 713 ** The built-in function equivalents to associative operators (`plus',
714 `times', `mtimes', `and', and `or') have been extended to accept 714 `times', `mtimes', `and', and `or') have been extended to accept
715 multiple arguments. This is especially useful for summing 715 multiple arguments. This is especially useful for summing
716 (multiplying, etc.) lists of objects (of possibly distinct types): 716 (multiplying, etc.) lists of objects (of possibly distinct types):
717 717
718 matrix_sum = plus (matrix_list{:}); 718 matrix_sum = plus (matrix_list{:});
719 719
720 ** An FTP object type based on libcurl has been implemented. These 720 ** An FTP object type based on libcurl has been implemented. These
721 objects allow ftp connections, downloads and uploads to be 721 objects allow ftp connections, downloads and uploads to be
722 managed. For example, 722 managed. For example,
739 assert (zeros (0, 0), []) 739 assert (zeros (0, 0), [])
740 assert (2*ones (1, 5), (2) (ones (1,5))) 740 assert (2*ones (1, 5), (2) (ones (1,5)))
741 741
742 ** The behavior of library functions `ismatrix', `issquare', and 742 ** The behavior of library functions `ismatrix', `issquare', and
743 `issymmetric' has been changed for better consistency. 743 `issymmetric' has been changed for better consistency.
744 744
745 * The `ismatrix' function now returns true for all numeric, 745 * The `ismatrix' function now returns true for all numeric,
746 logical and character 2-D or N-D matrices. Previously, `ismatrix' 746 logical and character 2-D or N-D matrices. Previously, `ismatrix'
747 returned false if the first or second dimension was zero. 747 returned false if the first or second dimension was zero.
748 Hence, `ismatrix ([])' was false, 748 Hence, `ismatrix ([])' was false,
749 while `ismatrix (zeros (1,2,0))' was true. 749 while `ismatrix (zeros (1,2,0))' was true.
750 750
751 * The `issquare' function now returns a logical scalar, and is 751 * The `issquare' function now returns a logical scalar, and is
752 equivalent to the expression 752 equivalent to the expression
753 753
754 ismatrix (x) && ndims (x) == 2 && rows (x) == columns (x) 754 ismatrix (x) && ndims (x) == 2 && rows (x) == columns (x)
755 755
756 The dimension is no longer returned. As a result, `issquare ([])' 756 The dimension is no longer returned. As a result, `issquare ([])'
757 now yields true. 757 now yields true.
758 758
759 * The `issymmetric' function now checks for symmetry instead of 759 * The `issymmetric' function now checks for symmetry instead of
760 Hermitianness. For the latter, ishermitian was created. Also, 760 Hermitianness. For the latter, ishermitian was created. Also,
761 logical scalar is returned rather than the dimension, so 761 logical scalar is returned rather than the dimension, so
762 `issymmetric ([])' is now true. 762 `issymmetric ([])' is now true.
763 763
764 ** Function handles are now aware of overloaded functions. If a 764 ** Function handles are now aware of overloaded functions. If a
765 function is overloaded, the handle determines at the time of its 765 function is overloaded, the handle determines at the time of its
766 reference which function to call. A non-overloaded version does not 766 reference which function to call. A non-overloaded version does not
767 need to exist. 767 need to exist.
768 768
779 ** The operation-assignment operators +=, -=, *= and /= now behave more 779 ** The operation-assignment operators +=, -=, *= and /= now behave more
780 efficiently in certain cases. For instance, if M is a matrix and S a 780 efficiently in certain cases. For instance, if M is a matrix and S a
781 scalar, then the statement 781 scalar, then the statement
782 782
783 M += S; 783 M += S;
784 784
785 will operate on M's data in-place if it is not shared by another 785 will operate on M's data in-place if it is not shared by another
786 variable, usually increasing both time and memory efficiency. 786 variable, usually increasing both time and memory efficiency.
787 787
788 Only selected common combinations are affected, namely: 788 Only selected common combinations are affected, namely:
789 789
790 matrix += matrix 790 matrix += matrix
791 matrix -= matrix 791 matrix -= matrix
792 matrix .*= matrix 792 matrix .*= matrix
793 matrix ./= matrix 793 matrix ./= matrix
794 794
830 ** Octave now allows user-defined `subsasgn' methods to optimize out 830 ** Octave now allows user-defined `subsasgn' methods to optimize out
831 redundant copies. For more information, see the manual. 831 redundant copies. For more information, see the manual.
832 832
833 ** More efficient matrix division handling. Octave is now able to 833 ** More efficient matrix division handling. Octave is now able to
834 handle the expressions 834 handle the expressions
835 835
836 M' \ V 836 M' \ V
837 M.' \ V 837 M.' \ V
838 V / M 838 V / M
839 839
840 (M is a matrix and V is a vector) more efficiently in certain cases. 840 (M is a matrix and V is a vector) more efficiently in certain cases.
841 In particular, if M is triangular, all three expressions will be 841 In particular, if M is triangular, all three expressions will be
842 handled by a single call to xTRTRS (from LAPACK), with appropriate 842 handled by a single call to xTRTRS (from LAPACK), with appropriate
843 flags. Previously, all three expressions required a physical 843 flags. Previously, all three expressions required a physical
844 transpose of M. 844 transpose of M.
845 845
846 ** More efficient handling of certain mixed real-complex matrix 846 ** More efficient handling of certain mixed real-complex matrix
847 operations. For instance, if RM is a real matrix and CM a complex 847 operations. For instance, if RM is a real matrix and CM a complex
848 matrix, 848 matrix,
849 849
850 RM * CM 850 RM * CM
851 851
852 can now be evaluated either as 852 can now be evaluated either as
853 853
854 complex (RM * real (CM), RM * imag (CM)) 854 complex (RM * real (CM), RM * imag (CM))
897 897
898 ** 'str2double' now has a compiled implementation and the API conforms 898 ** 'str2double' now has a compiled implementation and the API conforms
899 to Matlab. The additional Octave-specific features of returning a 899 to Matlab. The additional Octave-specific features of returning a
900 boolean matrix indicating which elements were successfully converted 900 boolean matrix indicating which elements were successfully converted
901 has been removed. 901 has been removed.
902 902
903 ** Matlab-style ignoring input and output function arguments using 903 ** Matlab-style ignoring input and output function arguments using
904 tilde (~) is now supported. Ignored output arguments may be 904 tilde (~) is now supported. Ignored output arguments may be
905 detected from a function using the built-in function `isargout'. 905 detected from a function using the built-in function `isargout'.
906 For more details, consult the manual. 906 For more details, consult the manual.
907 907
908 ** The list datatype, deprecated since the introduction of cells, has 908 ** The list datatype, deprecated since the introduction of cells, has
909 been removed. 909 been removed.
910 910
911 ** The accumarray function has been optimized and is now significantly 911 ** The accumarray function has been optimized and is now significantly
934 longer always equal in Octave. Octave may also produce a matrix 934 longer always equal in Octave. Octave may also produce a matrix
935 with nnz < nzmax as a result of other operations, so you should 935 with nnz < nzmax as a result of other operations, so you should
936 consistently use nnz unless you really want to use nzmax (i.e., the 936 consistently use nnz unless you really want to use nzmax (i.e., the
937 space allocated for nonzero elements). 937 space allocated for nonzero elements).
938 938
939 Sparse concatenation is also affected, and concatenating sparse 939 Sparse concatenation is also affected, and concatenating sparse
940 matrices, especially larger collections, is now significantly more 940 matrices, especially larger collections, is now significantly more
941 efficient. This applies to both the [] operator and the 941 efficient. This applies to both the [] operator and the
942 cat/vertcat/horzcat functions. 942 cat/vertcat/horzcat functions.
943 943
944 ** It is now possible to optionally employ the xGESDD LAPACK drivers 944 ** It is now possible to optionally employ the xGESDD LAPACK drivers
945 for computing the singular value decomposition using svd, instead 945 for computing the singular value decomposition using svd, instead
946 of the default xGESVD, using the configuration pseudo-variable 946 of the default xGESVD, using the configuration pseudo-variable
947 svd_driver. The xGESDD driver can be up to 6x times faster when 947 svd_driver. The xGESDD driver can be up to 6x times faster when
948 singular vectors are requested, but is reported to be somewhat less 948 singular vectors are requested, but is reported to be somewhat less
949 robust on highly ill-conditioned matrices. 949 robust on highly ill-conditioned matrices.
950 950
951 ** Configuration pseudo-variables, such as page_screen_output or 951 ** Configuration pseudo-variables, such as page_screen_output or
952 confirm_recursive_rmdir (or the above mentioned svd_driver), now 952 confirm_recursive_rmdir (or the above mentioned svd_driver), now
953 accept a "local" option as second argument, requesting the change 953 accept a "local" option as second argument, requesting the change
954 to be undone when the current function returns: 954 to be undone when the current function returns:
955 955
956 function [status, msg] = rm_rf (dir) 956 function [status, msg] = rm_rf (dir)
957 confirm_recursive_rmdir (false, "local"); 957 confirm_recursive_rmdir (false, "local");
958 [status, msg] = rmdir (dir, "s"); 958 [status, msg] = rmdir (dir, "s");
959 ... 959 ...
960 endfunction 960 endfunction
961 961
962 Upon return, confirm_recursive_rmdir will be restored to the value 962 Upon return, confirm_recursive_rmdir will be restored to the value
963 it had on entry to the function, even if there were subsequent 963 it had on entry to the function, even if there were subsequent
964 changes to the variable in function rm_rf or any of the functions 964 changes to the variable in function rm_rf or any of the functions
965 it calls. 965 it calls.
966 966
967 ** pkg now accepts a -forge option for downloading and installing 967 ** pkg now accepts a -forge option for downloading and installing
968 packages from Octave Forge automatically. For example, 968 packages from Octave Forge automatically. For example,
969 969
970 pkg install -forge general 970 pkg install -forge general
971 971
972 will automatically download the latest release of the general 972 will automatically download the latest release of the general
973 package and attempt to install it. No automatic resolving of 973 package and attempt to install it. No automatic resolving of
974 dependencies is provided. Further, 974 dependencies is provided. Further,
975 975
976 pkg list -forge 976 pkg list -forge
977 977
978 can be used to list all available packages. 978 can be used to list all available packages.
979 979
980 ** The internal data representation of structs has been completely 980 ** The internal data representation of structs has been completely
981 rewritten to make certain optimizations feasible. The field data 981 rewritten to make certain optimizations feasible. The field data
982 can now be shared between structs with equal keys but different 982 can now be shared between structs with equal keys but different
999 999
1000 ** The following functions are new in Octave 3.4: 1000 ** The following functions are new in Octave 3.4:
1001 accumdim erfcx nfields pqpnonneg uigetdir 1001 accumdim erfcx nfields pqpnonneg uigetdir
1002 bitpack fileread nth_element quadcc uigetfile 1002 bitpack fileread nth_element quadcc uigetfile
1003 bitunpack fminbnd onCleanup randi uiputfile 1003 bitunpack fminbnd onCleanup randi uiputfile
1004 blkmm fskipl pbaspect repelems uimenu 1004 blkmm fskipl pbaspect repelems uimenu
1005 cbrt ifelse pie3 reset whitebg 1005 cbrt ifelse pie3 reset whitebg
1006 curl ishermitian powerset rsf2csf 1006 curl ishermitian powerset rsf2csf
1007 chop isindex ppder saveas 1007 chop isindex ppder saveas
1008 daspect luupdate ppint strread 1008 daspect luupdate ppint strread
1009 divergence merge ppjumps textread 1009 divergence merge ppjumps textread
1010 1010
1011 ** Using the image function to view images with external programs such 1011 ** Using the image function to view images with external programs such
1012 as display, xv, and xloadimage is no longer supported. The 1012 as display, xv, and xloadimage is no longer supported. The
1013 image_viewer function has also been removed. 1013 image_viewer function has also been removed.
1014 1014
1019 a = 1; 1019 a = 1;
1020 a.x = 2; 1020 a.x = 2;
1021 1021
1022 This is no longer possible unless a is an empty matrix or cell 1022 This is no longer possible unless a is an empty matrix or cell
1023 array. 1023 array.
1024 1024
1025 ** The dlmread function has been extended to allow specifying a custom 1025 ** The dlmread function has been extended to allow specifying a custom
1026 value for empty fields. 1026 value for empty fields.
1027 1027
1028 ** The dlmread and dlmwrite functions have been modified to accept 1028 ** The dlmread and dlmwrite functions have been modified to accept
1029 file IDs (as returned by fopen) in addition to file names. 1029 file IDs (as returned by fopen) in addition to file names.
1030 1030
1031 ** Octave can now optimize away the interpreter overhead of an 1031 ** Octave can now optimize away the interpreter overhead of an
1032 anonymous function handle, if the function simply calls another 1032 anonymous function handle, if the function simply calls another
1033 function or handle with some of its parameters bound to certain 1033 function or handle with some of its parameters bound to certain
1034 values. Example: 1034 values. Example:
1035 1035
1036 f = @(x) sum (x, 1); 1036 f = @(x) sum (x, 1);
1037 1037
1038 When f is called, the call is forwarded to @sum with the constant 1 1038 When f is called, the call is forwarded to @sum with the constant 1
1039 appended, and the anonymous function call does not occur on the 1039 appended, and the anonymous function call does not occur on the
1040 call stack. 1040 call stack.
1055 1055
1056 ** Deprecated functions. 1056 ** Deprecated functions.
1057 1057
1058 The following functions were deprecated in Octave 3.0 and have been 1058 The following functions were deprecated in Octave 3.0 and have been
1059 removed from Octave 3.4. 1059 removed from Octave 3.4.
1060 1060
1061 beta_cdf geometric_pdf pascal_pdf 1061 beta_cdf geometric_pdf pascal_pdf
1062 beta_inv geometric_rnd pascal_rnd 1062 beta_inv geometric_rnd pascal_rnd
1063 beta_pdf hypergeometric_cdf poisson_cdf 1063 beta_pdf hypergeometric_cdf poisson_cdf
1064 beta_rnd hypergeometric_inv poisson_inv 1064 beta_rnd hypergeometric_inv poisson_inv
1065 binomial_cdf hypergeometric_pdf poisson_pdf 1065 binomial_cdf hypergeometric_pdf poisson_pdf
1066 binomial_inv hypergeometric_rnd poisson_rnd 1066 binomial_inv hypergeometric_rnd poisson_rnd
1067 binomial_pdf intersection polyinteg 1067 binomial_pdf intersection polyinteg
1068 binomial_rnd is_bool setstr 1068 binomial_rnd is_bool setstr
1069 chisquare_cdf is_complex struct_contains 1069 chisquare_cdf is_complex struct_contains
1070 chisquare_inv is_list struct_elements 1070 chisquare_inv is_list struct_elements
1071 chisquare_pdf is_matrix t_cdf 1071 chisquare_pdf is_matrix t_cdf
1072 chisquare_rnd is_scalar t_inv 1072 chisquare_rnd is_scalar t_inv
1073 clearplot is_square t_pdf 1073 clearplot is_square t_pdf
1074 clg is_stream t_rnd 1074 clg is_stream t_rnd
1075 com2str is_struct uniform_cdf 1075 com2str is_struct uniform_cdf
1076 exponential_cdf is_symmetric uniform_inv 1076 exponential_cdf is_symmetric uniform_inv
1077 exponential_inv is_vector uniform_pdf 1077 exponential_inv is_vector uniform_pdf
1078 exponential_pdf isstr uniform_rnd 1078 exponential_pdf isstr uniform_rnd
1079 exponential_rnd lognormal_cdf weibcdf 1079 exponential_rnd lognormal_cdf weibcdf
1080 f_cdf lognormal_inv weibinv 1080 f_cdf lognormal_inv weibinv
1081 f_inv lognormal_pdf weibpdf 1081 f_inv lognormal_pdf weibpdf
1082 f_pdf lognormal_rnd weibrnd 1082 f_pdf lognormal_rnd weibrnd
1083 f_rnd meshdom weibull_cdf 1083 f_rnd meshdom weibull_cdf
1084 gamma_cdf normal_cdf weibull_inv 1084 gamma_cdf normal_cdf weibull_inv
1085 gamma_inv normal_inv weibull_pdf 1085 gamma_inv normal_inv weibull_pdf
1086 gamma_pdf normal_pdf weibull_rnd 1086 gamma_pdf normal_pdf weibull_rnd
1087 gamma_rnd normal_rnd wiener_rnd 1087 gamma_rnd normal_rnd wiener_rnd
1088 geometric_cdf pascal_cdf 1088 geometric_cdf pascal_cdf
1089 geometric_inv pascal_inv 1089 geometric_inv pascal_inv
1090 1090
1091 The following functions were deprecated in Octave 3.2 and will 1091 The following functions were deprecated in Octave 3.2 and will
1092 be removed from Octave 3.6 (or whatever version is the second major 1092 be removed from Octave 3.6 (or whatever version is the second major
1093 release after 3.2): 1093 release after 3.2):
1094 1094
1095 create_set spcholinv splu 1095 create_set spcholinv splu
1096 dmult spcumprod spmax 1096 dmult spcumprod spmax
1097 iscommand spcumsum spmin 1097 iscommand spcumsum spmin
1098 israwcommand spdet spprod 1098 israwcommand spdet spprod
1099 lchol spdiag spqr 1099 lchol spdiag spqr
1100 loadimage spfind spsum 1100 loadimage spfind spsum
1101 mark_as_command sphcat spsumsq 1101 mark_as_command sphcat spsumsq
1102 mark_as_rawcommand spinv spvcat 1102 mark_as_rawcommand spinv spvcat
1103 spatan2 spkron str2mat 1103 spatan2 spkron str2mat
1104 spchol splchol unmark_command 1104 spchol splchol unmark_command
1105 spchol2inv split unmark_rawcommand 1105 spchol2inv split unmark_rawcommand
1106 1106
1107 The following functions have been deprecated in Octave 3.4 and will 1107 The following functions have been deprecated in Octave 3.4 and will
1134 stem-series, bar-series, etc., objects for better Matlab 1134 stem-series, bar-series, etc., objects for better Matlab
1135 compatibility. 1135 compatibility.
1136 1136
1137 ** New graphics functions: 1137 ** New graphics functions:
1138 1138
1139 addlistener ezcontour gcbo refresh 1139 addlistener ezcontour gcbo refresh
1140 addproperty ezcontourf ginput refreshdata 1140 addproperty ezcontourf ginput refreshdata
1141 allchild ezmesh gtext specular 1141 allchild ezmesh gtext specular
1142 available_graphics_toolkits ezmeshc intwarning surfl 1142 available_graphics_toolkits ezmeshc intwarning surfl
1143 graphics_toolkit ezplot ishghandle trisurf 1143 graphics_toolkit ezplot ishghandle trisurf
1144 cla ezplot3 isocolors waitforbuttonpress 1144 cla ezplot3 isocolors waitforbuttonpress
1145 clabel ezpolar isonormals 1145 clabel ezpolar isonormals
1146 comet ezsurf isosurface 1146 comet ezsurf isosurface
1147 dellistener findall linkprop 1147 dellistener findall linkprop
1148 diffuse gcbf plotmatrix 1148 diffuse gcbf plotmatrix
1149 1149
1150 ** New experimental OpenGL/FLTK based plotting system. 1150 ** New experimental OpenGL/FLTK based plotting system.
1151 1151
1152 An experimental plotting system based on OpenGL and the FLTK 1152 An experimental plotting system based on OpenGL and the FLTK
1318 1318
1319 Octave will now attempt to share data in some cases where previously 1319 Octave will now attempt to share data in some cases where previously
1320 a copy would be made, such as certain array slicing operations or 1320 a copy would be made, such as certain array slicing operations or
1321 conversions between cells, structs and cs-lists. This usually reduces 1321 conversions between cells, structs and cs-lists. This usually reduces
1322 both time and memory consumption. 1322 both time and memory consumption.
1323 Also, Octave will now attempt to detect and optimize usage of a vector 1323 Also, Octave will now attempt to detect and optimize usage of a vector
1324 as a stack, when elements are being repeatedly inserted at/removed from 1324 as a stack, when elements are being repeatedly inserted at/removed from
1325 the end of the vector. 1325 the end of the vector.
1326 1326
1327 ** Improved performance for reduction operations. 1327 ** Improved performance for reduction operations.
1328 1328
1329 The performance of the sum, prod, sumsq, cumsum, cumprod, any, all, 1329 The performance of the sum, prod, sumsq, cumsum, cumprod, any, all,
1330 max and min functions has been significantly improved. 1330 max and min functions has been significantly improved.
1331 1331
1332 ** Sorting and searching. 1332 ** Sorting and searching.
1333 1333
1334 The performance of sort has been improved, especially when sorting 1334 The performance of sort has been improved, especially when sorting
1335 indices are requested. An efficient built-in issorted 1335 indices are requested. An efficient built-in issorted
1336 implementation was added. The sortrows function now uses a more 1336 implementation was added. The sortrows function now uses a more
1337 efficient algorithm, especially in the homogeneous case. The lookup 1337 efficient algorithm, especially in the homogeneous case. The lookup
1338 function is now a built-in function performing a binary search, 1338 function is now a built-in function performing a binary search,
1469 ** Deprecated functions. 1469 ** Deprecated functions.
1470 1470
1471 The following functions were deprecated in Octave 3.0 and will be 1471 The following functions were deprecated in Octave 3.0 and will be
1472 removed from Octave 3.4 (or whatever version is the second major 1472 removed from Octave 3.4 (or whatever version is the second major
1473 release after 3.0): 1473 release after 3.0):
1474 1474
1475 beta_cdf geometric_pdf pascal_pdf 1475 beta_cdf geometric_pdf pascal_pdf
1476 beta_inv geometric_rnd pascal_rnd 1476 beta_inv geometric_rnd pascal_rnd
1477 beta_pdf hypergeometric_cdf poisson_cdf 1477 beta_pdf hypergeometric_cdf poisson_cdf
1478 beta_rnd hypergeometric_inv poisson_inv 1478 beta_rnd hypergeometric_inv poisson_inv
1479 binomial_cdf hypergeometric_pdf poisson_pdf 1479 binomial_cdf hypergeometric_pdf poisson_pdf
1480 binomial_inv hypergeometric_rnd poisson_rnd 1480 binomial_inv hypergeometric_rnd poisson_rnd
1481 binomial_pdf intersection polyinteg 1481 binomial_pdf intersection polyinteg
1482 binomial_rnd is_bool setstr 1482 binomial_rnd is_bool setstr
1483 chisquare_cdf is_complex struct_contains 1483 chisquare_cdf is_complex struct_contains
1484 chisquare_inv is_list struct_elements 1484 chisquare_inv is_list struct_elements
1485 chisquare_pdf is_matrix t_cdf 1485 chisquare_pdf is_matrix t_cdf
1486 chisquare_rnd is_scalar t_inv 1486 chisquare_rnd is_scalar t_inv
1487 clearplot is_square t_pdf 1487 clearplot is_square t_pdf
1488 clg is_stream t_rnd 1488 clg is_stream t_rnd
1489 com2str is_struct uniform_cdf 1489 com2str is_struct uniform_cdf
1490 exponential_cdf is_symmetric uniform_inv 1490 exponential_cdf is_symmetric uniform_inv
1491 exponential_inv is_vector uniform_pdf 1491 exponential_inv is_vector uniform_pdf
1492 exponential_pdf isstr uniform_rnd 1492 exponential_pdf isstr uniform_rnd
1493 exponential_rnd lognormal_cdf weibcdf 1493 exponential_rnd lognormal_cdf weibcdf
1494 f_cdf lognormal_inv weibinv 1494 f_cdf lognormal_inv weibinv
1495 f_inv lognormal_pdf weibpdf 1495 f_inv lognormal_pdf weibpdf
1496 f_pdf lognormal_rnd weibrnd 1496 f_pdf lognormal_rnd weibrnd
1497 f_rnd meshdom weibull_cdf 1497 f_rnd meshdom weibull_cdf
1498 gamma_cdf normal_cdf weibull_inv 1498 gamma_cdf normal_cdf weibull_inv
1499 gamma_inv normal_inv weibull_pdf 1499 gamma_inv normal_inv weibull_pdf
1500 gamma_pdf normal_pdf weibull_rnd 1500 gamma_pdf normal_pdf weibull_rnd
1501 gamma_rnd normal_rnd wiener_rnd 1501 gamma_rnd normal_rnd wiener_rnd
1502 geometric_cdf pascal_cdf 1502 geometric_cdf pascal_cdf
1503 geometric_inv pascal_inv 1503 geometric_inv pascal_inv
1504 1504
1505 The following functions are now deprecated in Octave 3.2 and will 1505 The following functions are now deprecated in Octave 3.2 and will
1506 be removed from Octave 3.6 (or whatever version is the second major 1506 be removed from Octave 3.6 (or whatever version is the second major