Mercurial > octave-nkf
comparison NEWS @ 11112:8ea4cf59c41b
list deprecated and removed functions in NEWS file
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 18 Oct 2010 14:33:03 -0400 |
parents | 84ad75921e35 |
children | 0dd95d1d57e6 |
comparison
equal
deleted
inserted
replaced
11111:84ad75921e35 | 11112:8ea4cf59c41b |
---|---|
1 Summary of important user-visible changes for version 3.3: | 1 Summary of important user-visible changes for version 3.4: |
2 --------------------------------------------------------- | 2 --------------------------------------------------------- |
3 | 3 |
4 ** The fltk graphics backend now implements the following callback | 4 ** The fltk graphics backend now implements the following callback |
5 properties: keypressfcn, keyreleasefcn, windowbuttondownfcn, | 5 properties: keypressfcn, keyreleasefcn, windowbuttondownfcn, |
6 windowbuttonmotionfcn, windowbuttonupfcn, and currentpoint. These | 6 windowbuttonmotionfcn, windowbuttonupfcn, and currentpoint. These |
315 format long eng | 315 format long eng |
316 | 316 |
317 Both display numbers in engineering notation, i.e., mantissa + | 317 Both display numbers in engineering notation, i.e., mantissa + |
318 exponent where the exponent is a multiple of 3. | 318 exponent where the exponent is a multiple of 3. |
319 | 319 |
320 ** The following new functions were added: | 320 ** The following functions are new in Octave 3.4: |
321 | 321 |
322 accumdim erfcx luupdate ppder rsf2csf | 322 accumdim erfcx luupdate ppder rsf2csf |
323 bitpack fileread merge ppint sizemax | 323 bitpack fileread merge ppint sizemax |
324 bitunpack fminbnd nfields ppjumps strread | 324 bitunpack fminbnd nfields ppjumps strread |
325 blkmm fskipl nth_element pqpnonneg textread | 325 blkmm fskipl nth_element pqpnonneg textread |
326 cbrt ifelse onCleanup randi whitebg | 326 cbrt ifelse onCleanup randi whitebg |
327 chop ishermitian pbaspect repelems | 327 chop ishermitian pbaspect repelems |
328 daspect isindex powerset reset | 328 daspect isindex powerset reset |
329 | 329 |
330 ** Using the image function to view images with external programs such | 330 ** Using the image function to view images with external programs such |
331 as display, xv, and xloadimage is no longer supported. The | 331 as display, xv, and xloadimage is no longer supported. The |
332 image_viewer function has also been removed. | 332 image_viewer function has also been removed. |
333 | 333 |
356 | 356 |
357 When f is called, the call is forwarded to @sum with the constant 1 | 357 When f is called, the call is forwarded to @sum with the constant 1 |
358 appended, and the anonymous function call does not occur on the | 358 appended, and the anonymous function call does not occur on the |
359 call stack. | 359 call stack. |
360 | 360 |
361 Summary of important user-visible changes for version 3.2: | |
362 --------------------------------------------------------- | |
363 | |
364 ** Compatibility with Matlab graphics has been improved. | |
365 | |
366 The hggroup object and associated listener callback functions have | |
367 been added allowing the inclusion of group objects. Data sources | |
368 have been added to these group objects such that | |
369 | |
370 x = 0:0.1:10; | |
371 y = sin (x); | |
372 plot (x, y, "ydatasource", "y"); | |
373 for i = 1 : 100 | |
374 pause(0.1) | |
375 y = sin (x + 0.1 * i); | |
376 refreshdata(); | |
377 endfor | |
378 | |
379 works as expected. This capability has be used to introduce | |
380 stem-series, bar-series, etc., objects for better Matlab | |
381 compatibility. | |
382 | |
383 ** New graphics functions: | |
384 | |
385 addlistener ezcontour gcbo refresh | |
386 addproperty ezcontourf ginput refreshdata | |
387 allchild ezmesh gtext specular | |
388 available_backends ezmeshc intwarning surfl | |
389 backend ezplot ishghandle trisurf | |
390 cla ezplot3 isocolors waitforbuttonpress | |
391 clabel ezpolar isonormals | |
392 comet ezsurf isosurface | |
393 dellistener findall linkprop | |
394 diffuse gcbf plotmatrix | |
395 | |
396 ** New experimental OpenGL/FLTK based plotting system. | |
397 | |
398 An experimental plotting system based on OpenGL and the FLTK | |
399 toolkit is now part of Octave. This backend is disabled by | |
400 default. You can switch to using it with the command | |
401 | |
402 backend ("fltk") | |
403 | |
404 for all future figures or for a particular figure with the command | |
405 | |
406 backend (h, "fltk") | |
407 | |
408 where "h" is a valid figure handle. Please note that this backend | |
409 does not yet support text objects. Obviously, this is a necessary | |
410 feature before it can be considered usable. We are looking for | |
411 volunteers to help implement this missing feature. | |
412 | |
413 ** Functions providing direct access to gnuplot have been removed. | |
414 | |
415 The functions __gnuplot_plot__, __gnuplot_set__, __gnuplot_raw__, | |
416 __gnuplot_show__, __gnuplot_replot__, __gnuplot_splot__, | |
417 __gnuplot_save_data__ and __gnuplot_send_inline_data__ have been | |
418 removed from Octave. These function were incompatible with the | |
419 high level graphics handle code. | |
420 | |
421 ** The Control, Finance and Quaternion functions have been removed. | |
422 | |
423 These functions are now available as separate packages from | |
424 | |
425 http://octave.sourceforge.net/packages.html | |
426 | |
427 and can be reinstalled using the Octave package manager (see | |
428 the pkg function). | |
429 | |
430 ** Specific sparse matrix functions removed. | |
431 | |
432 The following functions, which handled only sparse matrices have | |
433 been removed. Instead of calling these functions directly, you | |
434 should use the corresponding function without the "sp" prefix. | |
435 | |
436 spatan2 spcumsum spkron spprod | |
437 spchol spdet splchol spqr | |
438 spchol2inv spdiag splu spsum | |
439 spcholinv spfind spmax spsumsqk | |
440 spcumprod spinv spmin | |
441 | |
442 ** Improvements to the debugger. | |
443 | |
444 The interactive debugging features have been improved. Stopping | |
445 on statements with dbstop should work correctly now. Stepping | |
446 into and over functions, and stepping one statement at a time | |
447 (with dbstep) now works. Moving up and down the call stack with | |
448 dbup and dbdown now works. The dbstack function is now available | |
449 to print the current function call stack. The new dbquit function | |
450 is available to exit the debugging mode. | |
451 | |
452 ** Improved traceback error messages. | |
453 | |
454 Traceback error messages are much more concise and easier to | |
455 understand. They now display information about the function call | |
456 stack instead of the stack of all statements that were active at | |
457 the point of the error. | |
458 | |
459 ** Object Oriented Programming. | |
460 | |
461 Octave now includes OOP features and the user can create their own | |
462 class objects and overloaded functions and operators. For | |
463 example, all methods of a class called "myclass" will be found in | |
464 a directory "@myclass" on the users path. The class specific | |
465 versions of functions and operators take precedence over the | |
466 generic versions of these functions. | |
467 | |
468 New functions related to OOP include | |
469 | |
470 class inferiorto isobject loadobj methods superiorto | |
471 | |
472 See the Octave manual for more details. | |
473 | |
474 ** Parsing of Command-style Functions. | |
475 | |
476 Octave now parses command-style functions without needing to first | |
477 declare them with "mark_as_command". The rules for recognizing a | |
478 command-style function calls are | |
479 | |
480 * A command must appear as the first word in a statement, | |
481 followed by a space. | |
482 | |
483 * The first character after the space must not be '=' or '(' | |
484 | |
485 * The next token after the space must not look like a binary | |
486 operator. | |
487 | |
488 These rules should be mostly compatible with the way Matlab parses | |
489 command-style function calls and allow users to define commands in | |
490 .m files without having to mark them as commands. | |
491 | |
492 Note that previous versions of Octave allowed expressions like | |
493 | |
494 x = load -text foo.dat | |
495 | |
496 but an expression like this will now generate a parse error. In | |
497 order to assign the value returned by a function to a variable, | |
498 you must use the normal function call syntax: | |
499 | |
500 x = load ("-text", "foo.dat"); | |
501 | |
502 ** Block comments. | |
503 | |
504 Commented code can be between matching "#{" and "#}" or "%{" and | |
505 "%}" markers, even if the commented code spans several line. This | |
506 allows blocks code to be commented, without needing to comment | |
507 each line. For example, | |
508 | |
509 function [s, t] = func (x, y) | |
510 s = 2 * x; | |
511 #{ | |
512 s *= y; | |
513 t = y + x; | |
514 #} | |
515 endfunction | |
516 | |
517 the lines "s *= y;" and "t = y + x" will not be executed. | |
518 | |
519 ** Special treatment in the parser of expressions like "a' * b". | |
520 | |
521 In these cases the transpose is no longer explicitly formed and | |
522 BLAS libraries are called with the transpose flagged, | |
523 significantly improving performance for these kinds of | |
524 operations. | |
525 | |
526 ** Single Precision data type. | |
527 | |
528 Octave now includes a single precision data type. Single | |
529 precision variables can be created with the "single" command, or | |
530 from functions like ones, eye, etc. For example, | |
531 | |
532 single (1) | |
533 ones (2, 2, "single") | |
534 zeros (2, 2, "single") | |
535 eye (2, 2, "single") | |
536 Inf (2, 2, "single") | |
537 NaN (2, 2, "single") | |
538 NA (2, 2, "single") | |
539 | |
540 all create single precision variables. For compatibility with | |
541 Matlab, mixed double/single precision operators and functions | |
542 return single precision types. | |
543 | |
544 As a consequence of this addition to Octave the internal | |
545 representation of the double precision NA value has changed, and | |
546 so users that make use of data generated by Octave with R or | |
547 visa-versa are warned that compatibility might not be assured. | |
548 | |
549 ** Improved array indexing. | |
550 | |
551 The underlying code used for indexing of arrays has been | |
552 completely rewritten and indexing is now significantly faster. | |
553 | |
554 ** Improved memory management. | |
555 | |
556 Octave will now attempt to share data in some cases where previously | |
557 a copy would be made, such as certain array slicing operations or | |
558 conversions between cells, structs and cs-lists. This usually reduces | |
559 both time and memory consumption. | |
560 Also, Octave will now attempt to detect and optimize usage of a vector | |
561 as a stack, when elements are being repeatedly inserted at/removed from | |
562 the end of the vector. | |
563 | |
564 ** Improved performance for reduction operations. | |
565 | |
566 The performance of the sum, prod, sumsq, cumsum, cumprod, any, all, | |
567 max and min functions has been significantly improved. | |
568 | |
569 ** Sorting and searching. | |
570 | |
571 The performance of sort has been improved, especially when sorting | |
572 indices are requested. An efficient built-in issorted | |
573 implementation was added. The sortrows function now uses a more | |
574 efficient algorithm, especially in the homegeneous case. The lookup | |
575 function is now a built-in function performing a binary search, | |
576 optimized for long runs of close elements. Lookup also works with | |
577 cell arrays of strings. | |
578 | |
579 ** Range arithmetics | |
580 | |
581 For some operations on ranges, Octave will attempt to keep the | |
582 result as a range. These include negation, adding a scalar, | |
583 subtracting a scalar, and multiplying by a scalar. Ranges with zero | |
584 increment are allowed and can be constructed using the built-in | |
585 function `ones'. | |
586 | |
587 ** Various performance improvements. | |
588 | |
589 Performance of a number of other built-in operations and functions | |
590 was improved, including: | |
591 | |
592 * logical operations | |
593 * comparison operators | |
594 * element-wise power | |
595 * accumarray | |
596 * cellfun | |
597 * isnan | |
598 * isinf | |
599 * isfinite | |
600 * nchoosek | |
601 * repmat | |
602 * strcmp | |
603 | |
604 ** 64-bit integer arithmetic. | |
605 | |
606 Arithmetic with 64-bit integers (int64 and uint64 types) is fully | |
607 supported, with saturation semantics like the other integer types. | |
608 Performance of most integer arithmetic operations has been | |
609 improved by using integer arithmetic directly. Previously, Octave | |
610 performed integer math with saturation semantics by converting the | |
611 operands to double precision, performing the operation, and then | |
612 converting the result back to an integer value, truncating if | |
613 necessary. | |
614 | |
615 ** Diagonal and permutation matrices. | |
616 | |
617 The interpreter can now treat diagonal and permutation matrices as | |
618 special objects that store only the non-zero elements, rather than | |
619 general full matrices. Therefore, it is now possible to construct | |
620 and use these matrices in linear algebra without suffering a | |
621 performance penalty due to storing large numbers of zero elements. | |
622 | |
623 ** Improvements to fsolve. | |
624 | |
625 The fsolve function now accepts an option structure argument (see | |
626 also the optimset function). The INFO values returned from fsolve | |
627 have changed to be compatible with Matlab's fsolve function. | |
628 Additionally, fsolve is now able to solve overdetermined systems, | |
629 complex-differentiable complex systems, systems with a sparse | |
630 jacobian and can work in single precision if given single precision | |
631 inputs. It can also be called recursively. | |
632 | |
633 ** Improvements to the norm function. | |
634 | |
635 The norm function is now able to compute row or column norms of a | |
636 matrix in a single call, as well as general matrix p-norms. | |
637 | |
638 ** New functions for computing some eigenvalues or singular values. | |
639 | |
640 The eigs and svds functions have been included in Octave. These | |
641 functions require the ARPACK library (now distributed under a | |
642 GPL-compatible license). | |
643 | |
644 ** New QR and Cholesky factorization updating functions. | |
645 | |
646 choldelete cholshift qrdelete qrshift | |
647 cholinsert cholupdate qrinsert qrupdate | |
648 | |
649 ** New quadrature functions. | |
650 | |
651 dblquad quadgk quadv triplequad | |
652 | |
653 ** New functions for reading and writing images. | |
654 | |
655 The imwrite and imread functions have been included in Octave. | |
656 These functions require the GraphicsMagick library. The new | |
657 function imfinfo provides information about an image file (size, | |
658 type, colors, etc.) | |
659 | |
660 ** The input_event_hook function has been replaced by the pair of | |
661 functions add_input_event_hook and remove_input_event_hook so that | |
662 more than one hook function may be installed at a time. | |
663 | |
664 ** Other miscellaneous new functions. | |
665 | |
666 addtodate hypot reallog | |
667 bicgstab idivide realpow | |
668 cellslices info realsqrt | |
669 cgs interp1q rectint | |
670 command_line_path isdebugmode regexptranslate | |
671 contrast isfloat restoredefaultpath | |
672 convn isstrprop roundb | |
673 cummin log1p rundemos | |
674 cummax lsqnonneg runlength | |
675 datetick matlabroot saveobj | |
676 display namelengthmax spaugment | |
677 expm1 nargoutchk strchr | |
678 filemarker pathdef strvcat | |
679 fstat perl subspace | |
680 full prctile symvar | |
681 fzero quantile treelayout | |
682 genvarname re_read_readline_init_file validatestring | |
683 histc | |
684 | |
685 ** Changes to strcat. | |
686 | |
687 The strcat function is now compatible with Matlab's strcat | |
688 function, which removes trailing whitespace when concatenating | |
689 character strings. For example | |
690 | |
691 strcat ('foo ', 'bar') | |
692 ==> 'foobar' | |
693 | |
694 The new function cstrcat provides the previous behavior of | |
695 Octave's strcat. | |
696 | |
697 ** Improvements to the help functions. | |
698 | |
699 The help system has been mostly re-implemented in .m files to make | |
700 it easier to modify. Performance of the lookfor function has been | |
701 greatly improved by caching the help text from all functions that | |
702 are distributed with Octave. The pkg function has been modified | |
703 to generate cache files for external packages when they are | |
704 installed. | |
705 | |
706 ** Deprecated functions. | 361 ** Deprecated functions. |
707 | 362 |
708 The following functions were deprecated in Octave 3.0 and will be | 363 The following functions were deprecated in Octave 3.0 and have been |
709 removed in Octave 3.4 (or whatever version is the second major | 364 removed from Octave 3.4. |
710 release after 3.0): | |
711 | 365 |
712 beta_cdf geometric_pdf pascal_pdf | 366 beta_cdf geometric_pdf pascal_pdf |
713 beta_inv geometric_rnd pascal_rnd | 367 beta_inv geometric_rnd pascal_rnd |
714 beta_pdf hypergeometric_cdf poisson_cdf | 368 beta_pdf hypergeometric_cdf poisson_cdf |
715 beta_rnd hypergeometric_inv poisson_inv | 369 beta_rnd hypergeometric_inv poisson_inv |
737 gamma_pdf normal_pdf weibull_rnd | 391 gamma_pdf normal_pdf weibull_rnd |
738 gamma_rnd normal_rnd wiener_rnd | 392 gamma_rnd normal_rnd wiener_rnd |
739 geometric_cdf pascal_cdf | 393 geometric_cdf pascal_cdf |
740 geometric_inv pascal_inv | 394 geometric_inv pascal_inv |
741 | 395 |
742 The following functions are now deprecated in Octave 3.2 and will | 396 The following functions were deprecated in Octave 3.2 and will |
743 be removed in Octave 3.6 (or whatever version is the second major | 397 be removed from Octave 3.6 (or whatever version is the second major |
744 release after 3.2): | 398 release after 3.2): |
745 | 399 |
746 create_set spcholinv spmax | 400 create_set spcholinv spmax |
747 dmult spcumprod spmin | 401 dmult spcumprod spmin |
748 iscommand spcumsum spprod | 402 iscommand spcumsum spprod |
753 mark_as_rawcommand spkron unmark_command | 407 mark_as_rawcommand spkron unmark_command |
754 spatan2 splchol unmark_rawcommand | 408 spatan2 splchol unmark_rawcommand |
755 spchol split | 409 spchol split |
756 spchol2inv splu | 410 spchol2inv splu |
757 | 411 |
412 The following functions have been deprecated in Octave 3.4 and will | |
413 be removed from Octave 3.8 (or whatever version is the second major | |
414 release after 3.4): | |
415 | |
416 cellidx fstat values | |
417 | |
418 Summary of important user-visible changes for version 3.2: | |
419 --------------------------------------------------------- | |
420 | |
421 ** Compatibility with Matlab graphics has been improved. | |
422 | |
423 The hggroup object and associated listener callback functions have | |
424 been added allowing the inclusion of group objects. Data sources | |
425 have been added to these group objects such that | |
426 | |
427 x = 0:0.1:10; | |
428 y = sin (x); | |
429 plot (x, y, "ydatasource", "y"); | |
430 for i = 1 : 100 | |
431 pause(0.1) | |
432 y = sin (x + 0.1 * i); | |
433 refreshdata(); | |
434 endfor | |
435 | |
436 works as expected. This capability has be used to introduce | |
437 stem-series, bar-series, etc., objects for better Matlab | |
438 compatibility. | |
439 | |
440 ** New graphics functions: | |
441 | |
442 addlistener ezcontour gcbo refresh | |
443 addproperty ezcontourf ginput refreshdata | |
444 allchild ezmesh gtext specular | |
445 available_backends ezmeshc intwarning surfl | |
446 backend ezplot ishghandle trisurf | |
447 cla ezplot3 isocolors waitforbuttonpress | |
448 clabel ezpolar isonormals | |
449 comet ezsurf isosurface | |
450 dellistener findall linkprop | |
451 diffuse gcbf plotmatrix | |
452 | |
453 ** New experimental OpenGL/FLTK based plotting system. | |
454 | |
455 An experimental plotting system based on OpenGL and the FLTK | |
456 toolkit is now part of Octave. This backend is disabled by | |
457 default. You can switch to using it with the command | |
458 | |
459 backend ("fltk") | |
460 | |
461 for all future figures or for a particular figure with the command | |
462 | |
463 backend (h, "fltk") | |
464 | |
465 where "h" is a valid figure handle. Please note that this backend | |
466 does not yet support text objects. Obviously, this is a necessary | |
467 feature before it can be considered usable. We are looking for | |
468 volunteers to help implement this missing feature. | |
469 | |
470 ** Functions providing direct access to gnuplot have been removed. | |
471 | |
472 The functions __gnuplot_plot__, __gnuplot_set__, __gnuplot_raw__, | |
473 __gnuplot_show__, __gnuplot_replot__, __gnuplot_splot__, | |
474 __gnuplot_save_data__ and __gnuplot_send_inline_data__ have been | |
475 removed from Octave. These function were incompatible with the | |
476 high level graphics handle code. | |
477 | |
478 ** The Control, Finance and Quaternion functions have been removed. | |
479 | |
480 These functions are now available as separate packages from | |
481 | |
482 http://octave.sourceforge.net/packages.html | |
483 | |
484 and can be reinstalled using the Octave package manager (see | |
485 the pkg function). | |
486 | |
487 ** Specific sparse matrix functions removed. | |
488 | |
489 The following functions, which handled only sparse matrices have | |
490 been removed. Instead of calling these functions directly, you | |
491 should use the corresponding function without the "sp" prefix. | |
492 | |
493 spatan2 spcumsum spkron spprod | |
494 spchol spdet splchol spqr | |
495 spchol2inv spdiag splu spsum | |
496 spcholinv spfind spmax spsumsqk | |
497 spcumprod spinv spmin | |
498 | |
499 ** Improvements to the debugger. | |
500 | |
501 The interactive debugging features have been improved. Stopping | |
502 on statements with dbstop should work correctly now. Stepping | |
503 into and over functions, and stepping one statement at a time | |
504 (with dbstep) now works. Moving up and down the call stack with | |
505 dbup and dbdown now works. The dbstack function is now available | |
506 to print the current function call stack. The new dbquit function | |
507 is available to exit the debugging mode. | |
508 | |
509 ** Improved traceback error messages. | |
510 | |
511 Traceback error messages are much more concise and easier to | |
512 understand. They now display information about the function call | |
513 stack instead of the stack of all statements that were active at | |
514 the point of the error. | |
515 | |
516 ** Object Oriented Programming. | |
517 | |
518 Octave now includes OOP features and the user can create their own | |
519 class objects and overloaded functions and operators. For | |
520 example, all methods of a class called "myclass" will be found in | |
521 a directory "@myclass" on the users path. The class specific | |
522 versions of functions and operators take precedence over the | |
523 generic versions of these functions. | |
524 | |
525 New functions related to OOP include | |
526 | |
527 class inferiorto isobject loadobj methods superiorto | |
528 | |
529 See the Octave manual for more details. | |
530 | |
531 ** Parsing of Command-style Functions. | |
532 | |
533 Octave now parses command-style functions without needing to first | |
534 declare them with "mark_as_command". The rules for recognizing a | |
535 command-style function calls are | |
536 | |
537 * A command must appear as the first word in a statement, | |
538 followed by a space. | |
539 | |
540 * The first character after the space must not be '=' or '(' | |
541 | |
542 * The next token after the space must not look like a binary | |
543 operator. | |
544 | |
545 These rules should be mostly compatible with the way Matlab parses | |
546 command-style function calls and allow users to define commands in | |
547 .m files without having to mark them as commands. | |
548 | |
549 Note that previous versions of Octave allowed expressions like | |
550 | |
551 x = load -text foo.dat | |
552 | |
553 but an expression like this will now generate a parse error. In | |
554 order to assign the value returned by a function to a variable, | |
555 you must use the normal function call syntax: | |
556 | |
557 x = load ("-text", "foo.dat"); | |
558 | |
559 ** Block comments. | |
560 | |
561 Commented code can be between matching "#{" and "#}" or "%{" and | |
562 "%}" markers, even if the commented code spans several line. This | |
563 allows blocks code to be commented, without needing to comment | |
564 each line. For example, | |
565 | |
566 function [s, t] = func (x, y) | |
567 s = 2 * x; | |
568 #{ | |
569 s *= y; | |
570 t = y + x; | |
571 #} | |
572 endfunction | |
573 | |
574 the lines "s *= y;" and "t = y + x" will not be executed. | |
575 | |
576 ** Special treatment in the parser of expressions like "a' * b". | |
577 | |
578 In these cases the transpose is no longer explicitly formed and | |
579 BLAS libraries are called with the transpose flagged, | |
580 significantly improving performance for these kinds of | |
581 operations. | |
582 | |
583 ** Single Precision data type. | |
584 | |
585 Octave now includes a single precision data type. Single | |
586 precision variables can be created with the "single" command, or | |
587 from functions like ones, eye, etc. For example, | |
588 | |
589 single (1) | |
590 ones (2, 2, "single") | |
591 zeros (2, 2, "single") | |
592 eye (2, 2, "single") | |
593 Inf (2, 2, "single") | |
594 NaN (2, 2, "single") | |
595 NA (2, 2, "single") | |
596 | |
597 all create single precision variables. For compatibility with | |
598 Matlab, mixed double/single precision operators and functions | |
599 return single precision types. | |
600 | |
601 As a consequence of this addition to Octave the internal | |
602 representation of the double precision NA value has changed, and | |
603 so users that make use of data generated by Octave with R or | |
604 visa-versa are warned that compatibility might not be assured. | |
605 | |
606 ** Improved array indexing. | |
607 | |
608 The underlying code used for indexing of arrays has been | |
609 completely rewritten and indexing is now significantly faster. | |
610 | |
611 ** Improved memory management. | |
612 | |
613 Octave will now attempt to share data in some cases where previously | |
614 a copy would be made, such as certain array slicing operations or | |
615 conversions between cells, structs and cs-lists. This usually reduces | |
616 both time and memory consumption. | |
617 Also, Octave will now attempt to detect and optimize usage of a vector | |
618 as a stack, when elements are being repeatedly inserted at/removed from | |
619 the end of the vector. | |
620 | |
621 ** Improved performance for reduction operations. | |
622 | |
623 The performance of the sum, prod, sumsq, cumsum, cumprod, any, all, | |
624 max and min functions has been significantly improved. | |
625 | |
626 ** Sorting and searching. | |
627 | |
628 The performance of sort has been improved, especially when sorting | |
629 indices are requested. An efficient built-in issorted | |
630 implementation was added. The sortrows function now uses a more | |
631 efficient algorithm, especially in the homegeneous case. The lookup | |
632 function is now a built-in function performing a binary search, | |
633 optimized for long runs of close elements. Lookup also works with | |
634 cell arrays of strings. | |
635 | |
636 ** Range arithmetics | |
637 | |
638 For some operations on ranges, Octave will attempt to keep the | |
639 result as a range. These include negation, adding a scalar, | |
640 subtracting a scalar, and multiplying by a scalar. Ranges with zero | |
641 increment are allowed and can be constructed using the built-in | |
642 function `ones'. | |
643 | |
644 ** Various performance improvements. | |
645 | |
646 Performance of a number of other built-in operations and functions | |
647 was improved, including: | |
648 | |
649 * logical operations | |
650 * comparison operators | |
651 * element-wise power | |
652 * accumarray | |
653 * cellfun | |
654 * isnan | |
655 * isinf | |
656 * isfinite | |
657 * nchoosek | |
658 * repmat | |
659 * strcmp | |
660 | |
661 ** 64-bit integer arithmetic. | |
662 | |
663 Arithmetic with 64-bit integers (int64 and uint64 types) is fully | |
664 supported, with saturation semantics like the other integer types. | |
665 Performance of most integer arithmetic operations has been | |
666 improved by using integer arithmetic directly. Previously, Octave | |
667 performed integer math with saturation semantics by converting the | |
668 operands to double precision, performing the operation, and then | |
669 converting the result back to an integer value, truncating if | |
670 necessary. | |
671 | |
672 ** Diagonal and permutation matrices. | |
673 | |
674 The interpreter can now treat diagonal and permutation matrices as | |
675 special objects that store only the non-zero elements, rather than | |
676 general full matrices. Therefore, it is now possible to construct | |
677 and use these matrices in linear algebra without suffering a | |
678 performance penalty due to storing large numbers of zero elements. | |
679 | |
680 ** Improvements to fsolve. | |
681 | |
682 The fsolve function now accepts an option structure argument (see | |
683 also the optimset function). The INFO values returned from fsolve | |
684 have changed to be compatible with Matlab's fsolve function. | |
685 Additionally, fsolve is now able to solve overdetermined systems, | |
686 complex-differentiable complex systems, systems with a sparse | |
687 jacobian and can work in single precision if given single precision | |
688 inputs. It can also be called recursively. | |
689 | |
690 ** Improvements to the norm function. | |
691 | |
692 The norm function is now able to compute row or column norms of a | |
693 matrix in a single call, as well as general matrix p-norms. | |
694 | |
695 ** New functions for computing some eigenvalues or singular values. | |
696 | |
697 The eigs and svds functions have been included in Octave. These | |
698 functions require the ARPACK library (now distributed under a | |
699 GPL-compatible license). | |
700 | |
701 ** New QR and Cholesky factorization updating functions. | |
702 | |
703 choldelete cholshift qrdelete qrshift | |
704 cholinsert cholupdate qrinsert qrupdate | |
705 | |
706 ** New quadrature functions. | |
707 | |
708 dblquad quadgk quadv triplequad | |
709 | |
710 ** New functions for reading and writing images. | |
711 | |
712 The imwrite and imread functions have been included in Octave. | |
713 These functions require the GraphicsMagick library. The new | |
714 function imfinfo provides information about an image file (size, | |
715 type, colors, etc.) | |
716 | |
717 ** The input_event_hook function has been replaced by the pair of | |
718 functions add_input_event_hook and remove_input_event_hook so that | |
719 more than one hook function may be installed at a time. | |
720 | |
721 ** Other miscellaneous new functions. | |
722 | |
723 addtodate hypot reallog | |
724 bicgstab idivide realpow | |
725 cellslices info realsqrt | |
726 cgs interp1q rectint | |
727 command_line_path isdebugmode regexptranslate | |
728 contrast isfloat restoredefaultpath | |
729 convn isstrprop roundb | |
730 cummin log1p rundemos | |
731 cummax lsqnonneg runlength | |
732 datetick matlabroot saveobj | |
733 display namelengthmax spaugment | |
734 expm1 nargoutchk strchr | |
735 filemarker pathdef strvcat | |
736 fstat perl subspace | |
737 full prctile symvar | |
738 fzero quantile treelayout | |
739 genvarname re_read_readline_init_file validatestring | |
740 histc | |
741 | |
742 ** Changes to strcat. | |
743 | |
744 The strcat function is now compatible with Matlab's strcat | |
745 function, which removes trailing whitespace when concatenating | |
746 character strings. For example | |
747 | |
748 strcat ('foo ', 'bar') | |
749 ==> 'foobar' | |
750 | |
751 The new function cstrcat provides the previous behavior of | |
752 Octave's strcat. | |
753 | |
754 ** Improvements to the help functions. | |
755 | |
756 The help system has been mostly re-implemented in .m files to make | |
757 it easier to modify. Performance of the lookfor function has been | |
758 greatly improved by caching the help text from all functions that | |
759 are distributed with Octave. The pkg function has been modified | |
760 to generate cache files for external packages when they are | |
761 installed. | |
762 | |
763 ** Deprecated functions. | |
764 | |
765 The following functions were deprecated in Octave 3.0 and will be | |
766 removed from Octave 3.4 (or whatever version is the second major | |
767 release after 3.0): | |
768 | |
769 beta_cdf geometric_pdf pascal_pdf | |
770 beta_inv geometric_rnd pascal_rnd | |
771 beta_pdf hypergeometric_cdf poisson_cdf | |
772 beta_rnd hypergeometric_inv poisson_inv | |
773 binomial_cdf hypergeometric_pdf poisson_pdf | |
774 binomial_inv hypergeometric_rnd poisson_rnd | |
775 binomial_pdf intersection polyinteg | |
776 binomial_rnd is_bool setstr | |
777 chisquare_cdf is_complex struct_contains | |
778 chisquare_inv is_list struct_elements | |
779 chisquare_pdf is_matrix t_cdf | |
780 chisquare_rnd is_scalar t_inv | |
781 clearplot is_square t_pdf | |
782 clg is_stream t_rnd | |
783 com2str is_struct uniform_cdf | |
784 exponential_cdf is_symmetric uniform_inv | |
785 exponential_inv is_vector uniform_pdf | |
786 exponential_pdf isstr uniform_rnd | |
787 exponential_rnd lognormal_cdf weibcdf | |
788 f_cdf lognormal_inv weibinv | |
789 f_inv lognormal_pdf weibpdf | |
790 f_pdf lognormal_rnd weibrnd | |
791 f_rnd meshdom weibull_cdf | |
792 gamma_cdf normal_cdf weibull_inv | |
793 gamma_inv normal_inv weibull_pdf | |
794 gamma_pdf normal_pdf weibull_rnd | |
795 gamma_rnd normal_rnd wiener_rnd | |
796 geometric_cdf pascal_cdf | |
797 geometric_inv pascal_inv | |
798 | |
799 The following functions are now deprecated in Octave 3.2 and will | |
800 be removed from Octave 3.6 (or whatever version is the second major | |
801 release after 3.2): | |
802 | |
803 create_set spcholinv spmax | |
804 dmult spcumprod spmin | |
805 iscommand spcumsum spprod | |
806 israwcommand spdet spqr | |
807 lchol spdiag spsum | |
808 loadimage spfind spsumsq | |
809 mark_as_command spinv str2mat | |
810 mark_as_rawcommand spkron unmark_command | |
811 spatan2 splchol unmark_rawcommand | |
812 spchol split | |
813 spchol2inv splu | |
814 | |
758 See NEWS.3 for old news. | 815 See NEWS.3 for old news. |