diff -Nru octave-3.8.0/AUTHORS octave-3.8.1/AUTHORS --- octave-3.8.0/AUTHORS 2013-12-27 22:12:01.000000000 +0000 +++ octave-3.8.1/AUTHORS 2014-03-06 19:53:56.000000000 +0000 @@ -50,7 +50,7 @@ Jarkko Kaleva Mohamed Kamoun Lute Kamstra Fotios Kasolis Thomas Kasper Joel Keay Mumit Khan Paul Kienzle Aaron A. King -Erik Kjelsson Arno J. Klaassen Alexander Klein +Erik Kjellson Arno J. Klaassen Alexander Klein Geoffrey Knauth Heine Kolltveit Ken Kouno Kacper Kowalik Daniel Kraft Nir Krakauer Aravindh Oyvind Kristiansen Artem Krosheninnikov diff -Nru octave-3.8.0/build-aux/common.mk octave-3.8.1/build-aux/common.mk --- octave-3.8.0/build-aux/common.mk 2013-12-27 21:58:17.000000000 +0000 +++ octave-3.8.1/build-aux/common.mk 2014-03-06 19:37:50.000000000 +0000 @@ -22,7 +22,9 @@ DESKTOP_FILE_INSTALL = @DESKTOP_FILE_INSTALL@ OCTAVE_VERSION = @OCTAVE_VERSION@ -OCTAVE_API_VERSION_NUMBER = @OCTAVE_API_VERSION_NUMBER@ +OCTAVE_MAJOR_VERSION = @OCTAVE_MAJOR_VERSION@ +OCTAVE_MINOR_VERSION = @OCTAVE_MINOR_VERSION@ +OCTAVE_PATCH_VERSION = @OCTAVE_PATCH_VERSION@ OCTAVE_API_VERSION = @OCTAVE_API_VERSION@ OCTAVE_RELEASE_DATE = @OCTAVE_RELEASE_DATE@ OCTAVE_COPYRIGHT = @OCTAVE_COPYRIGHT@ diff -Nru octave-3.8.0/ChangeLog octave-3.8.1/ChangeLog --- octave-3.8.0/ChangeLog 2013-12-27 22:20:31.000000000 +0000 +++ octave-3.8.1/ChangeLog 2014-03-06 19:55:46.000000000 +0000 @@ -1,3 +1,1341 @@ +2014-03-06 John W. Eaton + + Added tag release-3-8-1 for changeset 43cc202335dc + + Files: .hgtags + + Version 3.8.1 released. + + * configure.ac (OCTAVE_VERSION): Now 3.8.1. + (OCTAVE_MINOR_VERSION): Now 1. + (OCTAVE_RELEASE_DATE): Set to 2014-03-06. + Update copyright date for startup message. + + Files: configure.ac + + assert.m: allow assertions for function handles + + * assert.m: Allow expected value to be a function handle. + New tests. + + Files: scripts/testfun/assert.m + +2014-03-05 John W. Eaton + + prevent interrupt from causing assert to fail (bug #41756) + + * assert.m: Protect call_depth with unwind_protect block. + + Files: scripts/testfun/assert.m + +2014-03-04 Rik + + imshow.m: Fix bad input validation of ydata (bug #41773). + + * imshow.m: Check that ydata is a vector and issue an error if it isn't. + + Files: scripts/image/imshow.m + +2014-03-04 Torsten + + fix flashing while debuggung and editor is tabbed behind console (bug #41757) + + * file-editor.cc (is_editor_console_tabbed): new function returning true + if editor is tabbed together with console; + (request_open_file): do not give focus to editor if debug pointer or + breakpoint marker is added and editor is tabbed with console + + * file-editor.h: new function is_editor_console_tabbed + + * main-window.h: new function get_dock_widget_list () returning the internal + list of all dock widgets + + Files: libgui/src/m-editor/file-editor.cc libgui/src/m-editor/file-editor.h + libgui/src/main-window.h + +2014-03-04 Carnë Draug + + Fix writing of grayscale images when there is an alpha channel. + + * __magick_read__.cc (encode_uint_image): create Magick::Color object for gray + color with Alpha channel correctly, i.e., repeat the gray value 3 times as if + it was an RGB image. + * imwrite.m: add 4 new tests for writing of single page and multipage, grayscale + and RGB images with alpha channel. + + Files: libinterp/dldfcn/__magick_read__.cc scripts/image/imwrite.m + + imwrite.m: simplify test blocks by make use of shared %!function. + + Files: scripts/image/imwrite.m + + Fix writing and reading of multipage images. + + * __magick_read__.cc (encode_uint_image): reset the coordinates for each + Magick::Image object so that writing of multipage images (matrices with + non-singleton 4th dimension) work properly. Stride over the extra channels + at the end of each page, to fix writing of multipage RGB and CMYK images. + (read_images): correct stride over each frame for RGB and CMYK images. + * imwrite.m: add tests to write and read multipage grayscale and RGB images. + Reduce size of test images to speed up comparison. + + Files: libinterp/dldfcn/__magick_read__.cc scripts/image/imwrite.m + +2014-03-01 Rik + + doc: Remove "Legacy Dispatch" from Function Precedence section. + + * func.txi: Remove "Legacy Dispatch" from Function Precedence section. + The dispatch function was removed and doesn't exist in 3.8. + + Files: doc/interpreter/func.txi + + doc: Replace "builtin" with "built-in" for consistency and correctness. + + * external.txi, func.txi, testfun.txi, doc_cache_create.m: + Replace "builtin" with "built-in" for consistency and correctness. + + Files: doc/interpreter/external.txi doc/interpreter/func.txi + doc/interpreter/testfun.txi scripts/help/doc_cache_create.m + + doc: Update documentation for functions in octave-value dir. + + * ov-bool-mat.cc (Flogical): Document that input must be numeric. + Document incompatibility with Matlab regarding complex inputs. + + * ov-cell.cc (Fcell): Add seealso references. + * ov-cell.cc (Fcellstr): Document that trailing spaces are trimmed. + Add seealso references. + * ov-cell.cc (Fstruct2cell): Use lowercase names in @var references. + + * ov-class.cc (Fismethod): Add seealso reference to isprop. + * ov-class.cc (Fsuperiorto): Add seealso reference to inferiorto. + * ov-class.cc (Finferiorto): Add seealso reference to superiorto. + + * ov-fcn-handle.cc (Ffunctions): Add table to documentation describing return + values. + * ov-fcn-handle.cc (Ffunc2str): Add seealso links to str2func, functions. + * ov-fcn-handle.cc (Fstr2func): Add seealso links to func2str, inline. + * ov-fcn-handle.cc (Fis_function_handle): Add seealso links to functions. + + * ov-fcn-inline.cc (Finline): Add note that the use of inline is discouraged. + Add seealso link to str2func. + + * ov-int16.cc (Fint16): Add seealso links to docstring. + + * ov-int32.cc (Fint32): Add seealso links to docstring. + + * ov-int64.cc (Fint64): Add seealso links to docstring. + + * ov-int8.cc (Fint8): Add seealso links to docstring. + + * ov-oncleanup.cc (FonCleanup): clarify docstring by using "function" rather + than "action" for what gets called when onCleanup object is destroyed. + + * ov-struct.cc (Fstruct): Add additional calling forms. Add seealso links. + * ov-struct.cc (Fisfield): Add additional calling forms. Add seealso link. + * ov-struct.cc (Fnfields): Add seealso link. + * ov-struct.cc (Fcell2struct): Add additional calling forms. Add seealso link. + * ov-struct.cc (Frmfield): Emphasize that a copy of the struct is returned. + Add seealso link. + * ov-struct.cc (Fstruct_levels_to_print): Add seealso link to + print_struct_array_contents. + * ov-struct.cc (Fprint_struct_array_contents): Add seealso link to + struct_levels_to_print. + + * ov-typeinfo.cc (Ftypeinfo): Add seealso links to class, isa. + + * ov-uint16.cc (Fuint16): Add seealso links to docstring. + + * ov-uint32.cc (Fuint32): Add seealso links to docstring. + * ov-uint64.cc (Fuint64): Add seealso links to docstring. + * ov-uint8.cc (Fuint8): Add seealso links to docstring. + + * ov-usr-fcn.cc (Fnargin): Add example based on 'union' function. + * ov-usr-fcn.cc (Fnargout): Add example based on 'imread' function. + * ov-usr-fcn.cc (Foptimize_subsasgn_calls): Improve docstring. + + * ov.cc (Fsubsref): Rephrase one sentence. + + * fieldnames.m: Add more functions to seealso links. + + * getfield.m: Re-order seealso links. + + * setfield.m: Re-order seealso links. + + * isprop.m Add ismethod, isobject to seealso links. + + Files: libinterp/octave-value/ov-bool-mat.cc libinterp/octave-value/ov- + cell.cc libinterp/octave-value/ov-class.cc libinterp/octave-value + /ov-fcn-handle.cc libinterp/octave-value/ov-fcn-inline.cc libinterp + /octave-value/ov-int16.cc libinterp/octave-value/ov-int32.cc + libinterp/octave-value/ov-int64.cc libinterp/octave-value/ov-int8.cc + libinterp/octave-value/ov-oncleanup.cc libinterp/octave-value/ov- + struct.cc libinterp/octave-value/ov-typeinfo.cc libinterp/octave- + value/ov-uint16.cc libinterp/octave-value/ov-uint32.cc libinterp + /octave-value/ov-uint64.cc libinterp/octave-value/ov-uint8.cc + libinterp/octave-value/ov-usr-fcn.cc libinterp/octave-value/ov.cc + scripts/general/fieldnames.m scripts/miscellaneous/getfield.m + scripts/miscellaneous/setfield.m scripts/plot/util/isprop.m + +2014-02-28 Rik + + importdata.m: Fix non-compliant PCRE regexp causing problems on Mac. + + * importdata.m: Use '-' as the first character in a character class to + prevent it being interpreted as defining a range. + + Files: scripts/io/importdata.m + + doc: Improve documentation strings in parse-tree directory. + + * lex.ll (F__display_tokens__): Add seealso reference. + * lex.ll (F__token_count__): Add seealso reference. + * lex.ll (F__lexer_debug_flag__): Document function. + + * oct-parse.in.yy (Fautoload): Add additional calling form. Rephrase + several sentences. + * oct-parse.in.yy (Fmfilename): Make single sentence description stand + apart from the rest of documentation. + * oct-parse.in.yy (Fsource): Make single sentence description stand + apart from the rest of documentation. Add seealso link to 'run'. + * oct-parse.in.yy (Fbuiltin): Change type to "Built-in Function" from + "Loadable Function". + * oct-parse.in.yy (Feval): Rephrase several sentences. Add programming + note suggesting the use of alternatives like try/catch or unwind_protect. + * oct-parse.in.yy (F__parser_debug_flag__): Document function. + + * pt-mat.cc (Fstring_fill_char): Use semicolon in place of period for + stronger idea linkage. + + Files: libinterp/parse-tree/lex.ll libinterp/parse-tree/oct-parse.in.yy + libinterp/parse-tree/pt-mat.cc + + contrib.txi: Use correct Texinfo to generate curly braces. + + * contrib.txi: Use correct Texinfo to generate curly braces. + + Files: doc/interpreter/contrib.txi + +2014-02-27 Rik + + contrib.txi: Improve the documentation for Contribution Guidelines. + + * contrib.txi: Improve the documentation for Contribution Guidelines. + + Files: doc/interpreter/contrib.txi + +2014-02-27 John W. Eaton + + Added tag rc-3-8-1-4 for changeset dd669c2ae76c + + Files: .hgtags + + 3.8.1 release candidate 4 + + * configure.ac (OCTAVE_VERSION): Bump to 3.8.1-rc4. + (OCTAVE_MINOR_VERSION): Bump to 1-rc4. + (OCTAVE_RELEASE_DATE): Set to 2014-02-26. + + Files: configure.ac + +2014-02-25 Pantxo Diribarne + + axis.m: make 'tight' embrace whole images (bug #36594). + + * axis.m (__get_tight_lims__): extend image data limits by one pixel. + + * image.m: remove duplicate code and call "axis image" when + there's no other child in the axes. + + Files: scripts/image/image.m scripts/plot/appearance/axis.m + +2014-02-22 Rik + + io.tst: Remove duplicate test for fread. + + * io.tst: Remove duplicate test for fread. + + Files: test/io.tst + +2014-02-22 John W. Eaton + + correctly size fread result (bug #41648) + + * oct-stream.cc (octave_base_stream::read): When reading to EOF, don't + add extra column to the result matrix if the number of elements found + is an exact multiple of the number of rows requested. + Avoid mixed signed/unsigned comparisons. + * io.tst: New tests. + + Files: libinterp/corefcn/oct-stream.cc test/io.tst + +2014-02-21 Rik + + handle fread skip parameter correctly (bug #41648) + + * oct-stream.cc (octave_stream::read): Decide whether to skip based on + current number of elements read, not total. Correctly handle case of + reading partial blocks when there is a repeat cound. Skip to EOF if + the full skip is beyond EOF. + * io.tst: New test. + + Files: libinterp/corefcn/oct-stream.cc test/io.tst + +2014-01-16 Jordi Gutiérrez Hermoso + + Ensure anti-aliasing in fltk plots (patch #8259) + + fltk's OpenGL window allows an anti-aliasing option. This patch + enables it. + + * __init_fltk__.cc (OpenGL_fltk::OpenGL_fltk, + plot_window::plot_window): Add FL_MULTISAMPLE as another OpenGL + ability of the plot window. + + Files: libinterp/dldfcn/__init_fltk__.cc + +2014-02-20 Marko Seric + + doc: Update docstring for qr (bug #41641). + + Files: libinterp/dldfcn/qr.cc + +2014-02-20 Mike Miller + + Fix regression, allow space-separated cell array of function handles (bug #41569) + + * lex.ll ("@"): Unput comma before function handle when after whitespace in + an array context. + * parser.tst: New test case. + + Files: libinterp/parse-tree/lex.ll test/parser.tst + + doc: Update function locking section with correct usage of mlock (bug #41627) + + * func.txi (Function Locking): Update description of function locking to show + correct usage of the mlock function. + + Files: doc/interpreter/func.txi + +2014-02-18 Mike Miller + + Use %!testif HAVE_UMFPACK for sparse lu test added in cset 2a45b6b87bee + + * lu.cc: Use %!testif HAVE_UMFPACK for lu %!test on sparse data that was + added in cset 2a45b6b87bee. + + Files: libinterp/corefcn/lu.cc + +2014-02-17 John W. Eaton + + Added tag rc-3-8-1-3 for changeset 02ce68d63fba + + Files: .hgtags + + fix release date for 3.8.1 and bump release to 3.8.1-rc3 + + * configure.ac (OCTAVE_VERSION): Bump to 3.8.1-rc3. + (OCTAVE_MINOR_VERSION): Bump to 1-rc3. + (OCTAVE_RELEASE_DATE): Set to 2014-02-17. + + Files: configure.ac + + Added tag rc-3-8-1-2 for changeset 85d31344fb23 + + Files: .hgtags + + 3.8.1 release candidate 2 + + * configure.ac (OCTAVE_VERSION): Bump to 3.8.1-rc2. + (OCTAVE_MINOR_VERSION): Bump to 1-rc2. + (OCTAVE_RELEASE_DATE): Set to 2014-02-14. + + Files: configure.ac + + install config.log in $octetc directory + + * Makefile.am (octetc_DATA): Include config.log in the list. + + Files: Makefile.am + + avoid problems if popen is a macro + + * file-io.cc (Fpopen): Define with DEFUNX instead of DEFUN. + + Files: libinterp/corefcn/file-io.cc + +2014-02-16 Rik + + axis.m: Make "image" and "square" compatible with Matlab (bug #41581). + + * axis.m: Set plotboxaspectratiomode to "auto" when doing "image" format. + Set dataaspectratiomode to "auto" when doing "square" format. + + Files: scripts/plot/appearance/axis.m + +2014-02-16 Torsten + + fix restoring non-existing file from previous session (bug #41280) + + * file-editor.cc (request_open_file): dialog asking whether to create + non-existing file has no parent for correct handling at startup + + Files: libgui/src/m-editor/file-editor.cc + +2014-02-15 Rik + + axis.m: restore plotbox and data aspect ratios with 'axis normal' (bug #41581). + Use manual plotboxaspectratio for 'axis equal' for Matlab compatibility. + + * axis.m: Use a manual plotboxaspectration of [5 4 4] for 'axis equal' for + Matlab compatibility. For 'axis normal', first set an arbitrary + plotboxaspectratio and then set plotboxaspectratio and dataaspectratio to + "auto" such that a re-calculation is forced. + + Files: scripts/plot/appearance/axis.m + +2014-02-13 John W. Eaton + + allow sighandlers.cc to compile on 64-bit Windows systems + + * sighandlers.cc + (w32_interrupt_manager::do_octave_jump_to_enclosing_context): + Avoid code that only works on Windows32 systems. + + Files: libinterp/corefcn/sighandlers.cc + + allow sparse arguments for dimensions in sparse function (bug #41535) + + * sparse.cc (Fsparse): Use get_dimensions to extract dimension args. + + Files: libinterp/corefcn/sparse.cc + +2014-02-13 Rik + + doc: Update docstrings for freqz, freqz_plot. + + * freqz.m: List alternative calling forms. Eliminate extra space caused + by expansion in ifnottex macro. Remove mention of plotting stop band. + Add seealso link to freqz_plot. + + * freqz_plot.m: Use freq_norm as the name for the third input to match the + code. Remove mention of plotting stop band. Add seealso link to freqz. + + Files: scripts/signal/freqz.m scripts/signal/freqz_plot.m + +2014-02-13 Mike Miller + + freqz: Make frequency response plot visually compatible with Matlab (bug #41464) + + * freqz_plot.m: Eliminate the extraneous "pass band" subplot for visual + compatibility with Matlab. Use y-axis labels instead of legends. Always + autoscale the y-axis. Label the frequency axis in units of normalized + radians or Hz depending on a new optional argument. + * freqz.m: Tell freqz_plot whether the frequency vector is in normalized + radians or Hz. + + Files: scripts/signal/freqz.m scripts/signal/freqz_plot.m + +2014-02-10 Felipe G. Nievinski + + Fix isequal* parse failure when comparing object to non-object (bug #41531). + + * __isequal__.m: Check varargin is an object before attempting to convert + to struct. + + Files: scripts/general/private/__isequal__.m + +2014-02-11 Rik + + doc: Document that default mu is 0 for logn* statistical functions (bug #41547). + + * logncdf.m, logninv.m, lognpdf.m: Document that default mu is 0 (bug #41547). + + Files: scripts/statistics/distributions/logncdf.m + scripts/statistics/distributions/logninv.m + scripts/statistics/distributions/lognpdf.m + +2014-02-10 Rik + + image.m: Fix axis limit bug when column vectors are used as x,y input (bug #41466). + + * image.m: Guarantee a row vector for axis limit calculations. + + Files: scripts/image/image.m + +2014-02-09 Mike Miller + + Allow save() to write to the terminal with the filename '-' (bug #41505) + + * load-save.cc (parse_save_options): Treat an argument of '-' as a filename + argument instead of an invalid option, restoring the ability to write to + the terminal with save(). + + Files: libinterp/corefcn/load-save.cc + +2014-02-07 Rik + + doc: Change docstring for rand* functions from [N, M] to [M, N] (bug #41496). + + * rand.cc (Frand,Frandn,Frande,Frandg,Frandp): Change docstring from [N, M] to + [M, N] (bug #41496). + + Files: libinterp/corefcn/rand.cc + +2014-02-07 Torsten + + fix problems with gui startup (bug #41452) and focus issues (bug #40823) + + * main-window.cc (set_window_layout): restore window geometry and state for non + windows system at the beginning, restore geometry of a dock widget only for + non windows systems, show floating and visible dock widgets immediatly, + restore window geometry and state for windows system at the end + + Files: libgui/src/main-window.cc + +2014-02-04 Rik + + Improve docstring for fixed_point_format(). + + * pr-output.cc (Ffixed_point_format): Improve docstring. + + Files: libinterp/corefcn/pr-output.cc + +2014-02-04 John W. Eaton + + avoid substituting shell variable references in mkoctfile.cc + + * configure.ac: Avoid substituting '$BINDIR', '$OCTAVE_VERSION', and + '$EXEEXT' into mkoctfile.cc on OS X systems. + + Files: configure.ac + +2014-02-04 Torsten + + improve focus of terminal widget (partial fix of bug #40823) + + * QUnixTerminalImpl.cpp (initialize): set focus policy to strong focus + + * terminal_dock_widget.cc (constructor): set focus policy to strong focus, + set focus proxy to the terminal + + Files: libgui/qterminal/libqterminal/unix/QUnixTerminalImpl.cpp libgui/src + /terminal-dock-widget.cc + +2014-02-03 Rik + + ppval.m: Return correctly sized output for scalar polynomial input (bug #41448). + + * ppval.m: Return correctly sized output for scalar polynomial input + (bug #41448). + + Files: scripts/polynomial/ppval.m + +2014-02-01 Stefan Mahr + + Disallow comments after continuation in double-quoted strings (bug #41415). + + * lex.ll ((\.\.\.){S}*{NL}, + \\{S}+{NL}): Allow only whitespace to follow + continuation markers. + + Files: libinterp/parse-tree/lex.ll + +2014-02-03 Jordi Gutiérrez Hermoso + + maint: whitespace fixes for libinterp/corefcn/lu.cc + + Files: libinterp/corefcn/lu.cc + + maint: Style fixes for tests in libinterp/corefcn/lu.cc + + Files: libinterp/corefcn/lu.cc + +2014-02-03 Michael C. Grant + + correct numerical errors in sparse LU factorization (bug #41116). + + * lu.cc: modified to apply pivots as warranted to L and U. + * sparse-base-lu.cc: compute correct matrix size for single-output case. + + Files: libinterp/corefcn/lu.cc liboctave/numeric/sparse-base-lu.cc + +2014-01-31 Rik + + interp1.m: Demote error to warning about multiple discontinuties (bug #41386). + + * interp1.m: Demote error to warning about multiple discontinuties + (bug #41386). Add %!warning test for new behavior. + + Files: scripts/general/interp1.m + + interp1.m: Clean up function + + * interp1.m: Improved docstring. Add spaces between case statements for + readability. Use "strcmp || strcmp" construct because it is faster than + "any strcmp ({...}, arg)" when the number of arguments is less than 3. + Correct misspellings in 5th demo and change the axis limits to make it + prettier. Add %!tests for left and right discontinuities. Improve + error validation. + + Files: scripts/general/interp1.m + +2013-12-06 Juan Pablo Carbajal + + interp1.m: Fix handling multi-column y-input with jumps (bug #40825). + + * interp1.m: Eliminate jumps from both x AND y before doing + linear interpolation. + + Files: scripts/general/interp1.m + +2014-01-29 Markus Appel + + figure.m: Don't make figure N visible when property explicitly set to 'off' (bug #41396) + + * scripts/plot/util/figure.m: Don't make figure N visible when property explicitly set to 'off' + Add test to re-activate existing figure with 'visible' set to 'off' + + Files: scripts/plot/util/figure.m + +2014-01-29 John W. Eaton + + consistently use '...' without preceding space in GUI messaages + + Files: libgui/languages/be_BY.ts libgui/languages/de_DE.ts + libgui/languages/en_US.ts libgui/languages/es_ES.ts + libgui/languages/fr_FR.ts libgui/languages/nl_NL.ts + libgui/languages/pt_BR.ts libgui/languages/pt_PT.ts + libgui/languages/ru_RU.ts libgui/languages/uk_UA.ts libgui/src + /files-dock-widget.cc + +2014-01-06 Michael Godfrey + + doc: update linear algebra chapter + + Files: doc/interpreter/linalg.txi + +2014-01-28 Felipe G. Nievinski + + * pt_BR.ts: restore translations accidently deleted by cset cae24b7cfaf4 + + Files: libgui/languages/pt_BR.ts + +2014-01-27 Rik + + __makeinfo__.m: Fix generating HTML output with Texinfo 5.2 (bug #41364). + + * __makeinfo__.m: Add option "--output=-" so that file input will be sent to + stdout rather than re-written in-place which is the new default for 5.2. + + Files: scripts/help/__makeinfo__.m + +2014-01-26 John Donoghue + + Include tlhelp32.h in shared-fcns.h + + * src/shared-fcns.h: add #include in WIN32. + + Files: src/shared-fcns.h + +2014-01-25 John W. Eaton + + allow urlwrite to work again + + * urlwrite.cc (Furlwrite): Reverse sense of test when checking whether + url_transfer object is valid. + + Files: libinterp/corefcn/urlwrite.cc + +2014-01-25 Torsten + + *de_DE.ts: consistent translation of the two Find Files in the file browser + + Files: libgui/languages/de_DE.ts + + * files-dock-widget.cc (contextmenu_requested): add icon for find files action + + Files: libgui/src/files-dock-widget.cc + + context menu open in the file browser really opens the file + + * file-docks-widget (contextmenu_open): instead of initiating the default + action for the file (via item_double_clicked, e.g. load the file), really + open the file as desired + + Files: libgui/src/files-dock-widget.cc + + apply the context menu of the file browser to the correct item (bug #41430) + + * files-dock-widget.cc (contextmenu_requested): if right-clicked item is not + selected clear the actual selection and select right-clicked item + + Files: libgui/src/files-dock-widget.cc + +2014-01-25 Rik + + doc: Improve the documentation for the debug chapter of the manual. + + * debug.txi: Improve the documentation for the debug chapter of the manual. + + Files: doc/interpreter/debug.txi + +2014-01-25 Mike Miller + + Use std::ostream::fail instead of unsafe implicit bool conversion (bug #41335) + + * ls-mat4.cc (save_mat_binary_data): Use std::ostream::fail to return stream + status instead of unsafe implicit bool conversion. + * ov-cell.cc (octave_cell::save_ascii) Likewise. + * ov-class.cc (octave_class::save_ascii, octave_class::save_binary) Likewise. + * ov-fcn-handle.cc (octave_fcn_handle::save_ascii, + octave_fcn_handle::save_binary) Likewise. + * ov-struct.cc (octave_struct::save_ascii, octave_struct::save_binary, + octave_scalar_struct::save_ascii, octave_scalar_struct::save_binary) Likewise. + + Files: libinterp/corefcn/ls-mat4.cc libinterp/octave-value/ov-cell.cc + libinterp/octave-value/ov-class.cc libinterp/octave-value/ov-fcn- + handle.cc libinterp/octave-value/ov-struct.cc + +2014-01-16 Michael Godfrey + + graphics_toolkit: Check argument against list of available toolkits (bug #41258) + + * graphics_toolkit.m: Check argument against list of available toolkits, better + error reporting in case of typo or missing toolkit. + + Files: scripts/plot/util/graphics_toolkit.m + +2014-01-24 Michael C. Grant + + Part 2: Find Qt libs in framework option for Macs (bug #41236) + + * configure.ac: Only look through -F framework option if regular detection has + failed. + + Files: configure.ac + +2014-01-24 Rik + + doc: Add dblist to list of commands from 'help debug'. + + * debug.m: Add dblist to list of commands. + + Files: scripts/miscellaneous/debug.m + +2014-01-24 Torsten + + update of gui language files (no new strings, only line numbers) + + Files: libgui/languages/be_BY.ts libgui/languages/de_DE.ts + libgui/languages/en_US.ts libgui/languages/es_ES.ts + libgui/languages/fr_FR.ts libgui/languages/nl_NL.ts + libgui/languages/pt_BR.ts libgui/languages/pt_PT.ts + libgui/languages/ru_RU.ts libgui/languages/uk_UA.ts + +2014-01-24 Rik + + assert.m: Fix regression and accept more than 3 arguments for certain cases (bug #41332). + + * assert.m: Accept more than 3 arguments when one of the arguments is a format + string for error() and the extra arguments are passed on. Add %!tests to + verify this works. + + Files: scripts/testfun/assert.m + + Rename Fortran example files from 'fort' prefix to 'fortran' prefix. + + * examples/fortrandemo.cc, examples/fortransub.f: Renamed files. + + * examples/fortdemo.cc, examples/fortsub.f: Deleted files. + + * examples/Makefile.am, doc/interpreter/Makefile.am: Change build + system to use new file names. + + * doc/interpreter/external.txi: Change documentation to reflect new names. + + Files: doc/interpreter/Makefile.am doc/interpreter/external.txi + examples/Makefile.am examples/fortdemo.cc examples/fortrandemo.cc + examples/fortransub.f examples/fortsub.f + + mex_demo.c: Fix incorrect comments describing how to run example. + + * mex_demo.c: Fix incorrect comments describing how to run example. + + Files: examples/mex_demo.c + + myfeval.c: Fix segfault in mex example code. + + * myfeval.c: Correctly cast away const attribute of prhs[]. + Also, add code to work with Octave's built-in 'ans' variable. + + * external.txi: Update example in External Code Interface for myfeval. + + Files: doc/interpreter/external.txi examples/myfeval.c + +2014-01-24 John W. Eaton + + * mkoctfile.in.cc: Use std:: instead of using declarartion. + + Files: src/mkoctfile.in.cc + + * mkoctfile.in.cc: Use gnulib:: tag where appropriate. + + Files: src/mkoctfile.in.cc + + use common code to get OCTAVE_HOME in main, octave-config and mkoctfile + + * src/shared-fcns.h: New file. + * src/Makefile.in: Include it in the list of headers to distribute. + * main.in.cc, mkoctfile.in.cc, octave-config.in.cc: Use functions from + shared-fcns.h to find and substitute OCTAVE_HOME. + + Files: src/Makefile.am src/main.in.cc src/mkoctfile.in.cc src/octave- + config.in.cc src/shared-fcns.h + + make mkoctfile.m list of variables consistent with mkoctfile.cc (bug #41296) + + * mkoctfile.m: Update doc string. + + Files: scripts/miscellaneous/mkoctfile.m + +2014-01-23 Rik + + doc: Re-write bits of External Code Interface chapter. + + * external.txi: Re-write bits of External Code Interface chapter. + + * examples/standalonebuiltin.cc: Place std::endl on same line as text + to make code sample take up less space in the manual. + + Files: doc/interpreter/external.txi examples/standalonebuiltin.cc + +2014-01-24 Mike Miller + + octave-config: Rebase dir variables to OCTAVE_HOME only when it is defined + + * octave-config.in.cc (initialize): Only substitute OCTAVE_HOME for + PREFIX when it is in the environment. This restores constistency with + the removed shell script version. + + Files: src/octave-config.in.cc + +2014-01-23 Rik + + mkoctfile.m: Add missing bracket to @deftypefn declaration. + + * mkoctfile.m: Add missing bracket to @deftypefn declaration. + + Files: scripts/miscellaneous/mkoctfile.m + +2014-01-23 Michael C. Grant + + configure.ac: Find Qt libs in framework option for Macs (bug #41236) + + * configure.ac: On Darwin OS only, look for Qt libraries in Framework + directory. + + * src/Makefile.am: Add missing line continuation to octave_cli_LDADD + definition list. + + Files: configure.ac src/Makefile.am + +2014-01-23 John W. Eaton + + make octave-config and mkoctfile consistent with last shell script versions + + * mkoctfile.in.cc, octave-config.in.cc: Update to match latest shell + script versions. + + Files: src/mkoctfile.in.cc src/octave-config.in.cc + +2014-01-23 Rik + + doc: Re-write documentation for errorbar family of functions. + + * errorbar.m: Rewrite docstring. + + * loglogerr.m, semilogxerr.m, semilogyerr.m: Update list of forms showing how + function can be called. + + Files: scripts/plot/draw/errorbar.m scripts/plot/draw/loglogerr.m + scripts/plot/draw/semilogxerr.m scripts/plot/draw/semilogyerr.m + +2014-01-21 Mike Miller + + Always build mkoctfile and octave-config as executables (bug #41296) + + * src/Makefile.am (bin_PROGRAMS): Add mkoctfile and octave-config + unconditionally. (bin_SCRIPTS): Remove all references. + (AMCOND_BUILD_COMPILED_AUX_PROGRAMS): Delete conditional sections. + * src/mkoctfile.in.cc: Include . + * src/mkoctfile.in.sh, src/octave-config.in.sh: Delete. + * configure.ac (AMCOND_BUILD_COMPILED_AUX_PROGRAMS): Delete. + + Files: configure.ac src/Makefile.am src/mkoctfile.in.cc src/mkoctfile.in.sh + src/octave-config.in.sh + +2014-01-04 Michael Godfrey + + Edits to Manual and indicies + + Files: doc/interpreter/diagperm.txi doc/interpreter/linalg.txi + doc/interpreter/plot.txi + +2014-01-22 Rik + + Return all nargout from urlread if requested (bug #41260). + + * urlwrite.cc (Furlread): Assign all outputs to retval when nargout > 0. + + Files: libinterp/corefcn/urlwrite.cc + +2014-01-22 John W. Eaton + + allow "methods ftp" to work outside of classdef (bug #41227) + + * lex.ll (octave_base_lexer::handle_keyword_token): Don't alter + at_beginning_of_statement if something that looks like a keyword is + used in a context where it is not. + + Files: libinterp/parse-tree/lex.ll + +2014-01-20 John W. Eaton + + prevent lexer from matching patterns across CR line endings (bug #41281) + + * lex.ll: Use [^\r\n]*{NL} instead of .*{NL} to avoid matching + patterns across lines that use CR only as line endings. + + Files: libinterp/parse-tree/lex.ll + +2014-01-15 John W. Eaton + + avoid startup crash if curl library is not available (bug #41067) + + * main-window.cc (news_reader::process): Don't attempt to use + url_transfer object unless it is valid. + * urlwrite.cc (ch_manager::do_make_curl_handle, Furlwrite, Furlread): + Likewise. + * url-transfer.cc (url_transfer::url_transfer): Don't call + disabled_error. + (disabled_error): Delete unused function. + + Files: libgui/src/main-window.cc libinterp/corefcn/urlwrite.cc + liboctave/util/url-transfer.cc + +2014-01-14 Mike Miller + + HACKING: Refer to install.txi for the full dependency list (bug #41233) + + * HACKING: Refer to install.txi for the complete list of required and + optional dependencies for building Octave. + + Files: etc/HACKING + + doc: Document missing build tools and external packages (bug #41233) + + * install.txi: Document missing build tools gperf and Texinfo and + optional dependency on JDK. + + Files: doc/interpreter/install.txi + +2014-01-08 Lasse Schuirmann + + jit-typeinfo.cc: Fix C++ function ambiguity (bug #41145). + + jit-typeinfo.cc (jit_operation::to_idx): Fix C++ function ambiguity over which + version of std::max() to call (bug #41145). + + Files: libinterp/corefcn/jit-typeinfo.cc + +2014-01-14 Rik + + Fix native MinGW builds with spaces in JAVA_HOME (bug #41024). + + * configure.ac: Use quotes around JAVA_HOME, JAVA_CPPFLAGS variables on Windows + platforms. + + Files: configure.ac + +2014-01-14 Lasse Schuirmann + + Fix building JIT with 64-bit indexing (bug #41163). + + jit-typeinfo.cc (jit_typeinfo): Create two constants for the value 1. One + constant (one_idx) is of type index_t and the other (one_int) is of int_t. Use + these constants when comparing to objects of the matching type. + + Files: libinterp/corefcn/jit-typeinfo.cc + +2014-01-14 Rik + + configure.ac: Respect --with-java-includedir argument (bug #41230) + + * configure.ac: Respect --with-java-includedir argument (bug #41230) + + Files: configure.ac + + build: Don't build JIT by default (bug #41213) + + * configure.ac: Don't build JIT by default. Only explicit --enable-jit + will include JIT in Octave. + + Files: configure.ac + +2014-01-13 Kyle Guinn + + configure.ac: Add AMD_CPPFLAGS to UMFPACK tests (bug #41209). + + * configure.ac: Add AMD_CPPFLAGS to UMFPACK tests (bug #41209). + + Files: configure.ac + +2014-01-12 Mike Miller + + Fix build failure on Unix systems without PATH_MAX (bug #41212) + + * kpty.cpp (PATH_MAX): Define to fallback values on systems that do not + provide PATH_MAX. Based on a change made to kdelibs after qterminal was + made based on it. + + Files: libgui/qterminal/libqterminal/unix/kpty.cpp + + Detect and use appropriate terminal attribute functions (bug #41212) + + * configure.ac: Add AC_CHECK_FUNCS for tcgetattr and tcsetattr. + * kpty.cpp (_tcgetattr, _tcsetattr): Define to the appropriate terminal + attribute functions based on system library support, not OS type macros. + Fixes build failures on non-Linux GNU-based systems. Based on a Debian + patch to the kde4libs package. + + Files: configure.ac libgui/qterminal/libqterminal/unix/kpty.cpp + +2014-01-12 Torsten + + update some icnons of the gui + + * files-dock-widget.cc (constructor): new icons for new folder selection and + for searching in/for files + + * file-editor.cc (construct): new icons for file open and find actions + + * find-dialog.cc (constructor): new widget icons + + * main-window.cc (construct_file_menu): new icons for file open action; + (construct_toolbar): new icon for selecting new octave directory + + * libgui/src/module.mk, resource.qrc: + removed icons: chat.png, help_index.png, jabber_protocol.png, question.png, + star.png, stop.png, terminal.png + new icons: findf.png, folder_documents.png, folder.png + + * icon_files: update list of icons used from the Crystal Project, update + link to its license, add a list of icons created by the octave developpers + + * chat.png, help_index.png, jabber_protocol.png, question.png, + star.png, stop.png, terminal.png: removed icon files + + * findf.png, folder_documents.png, folder.png: new icon files + + Files: libgui/src/files-dock-widget.cc libgui/src/icons/chat.png + libgui/src/icons/findf.png libgui/src/icons/folder.png + libgui/src/icons/folder_documents.png + libgui/src/icons/folder_new.png libgui/src/icons/gear.png + libgui/src/icons/help_index.png libgui/src/icons/icons_license + libgui/src/icons/jabber_protocol.png libgui/src/icons/question.png + libgui/src/icons/star.png libgui/src/icons/stop.png + libgui/src/icons/terminal.png libgui/src/m-editor/file-editor.cc + libgui/src/m-editor/find-dialog.cc libgui/src/main-window.cc + libgui/src/module.mk libgui/src/resource.qrc + +2014-01-11 Torsten + + minor fix of text strings and related translations (part of bug #41201) + + * file-editor.cc: minor changes of text strings + * main-window.cc: minor changes of text strings + * files-dock-widget.cc: minor changes of text strings + * find-dialog.cc: minor changes of text strings + * settings-dialog.cc: minor changes of text strings + * welcome-wizard.cc: minor changes of text strings + + * libgui/languages/*.ts: update the traanslations accordingly + + Files: libgui/languages/be_BY.ts libgui/languages/de_DE.ts + libgui/languages/en_US.ts libgui/languages/es_ES.ts + libgui/languages/fr_FR.ts libgui/languages/nl_NL.ts + libgui/languages/pt_BR.ts libgui/languages/pt_PT.ts + libgui/languages/ru_RU.ts libgui/languages/uk_UA.ts libgui/src + /files-dock-widget.cc libgui/src/m-editor/file-editor.cc + libgui/src/m-editor/find-dialog.cc libgui/src/main-window.cc + libgui/src/settings-dialog.ui libgui/src/welcome-wizard.cc + +2013-12-29 Jordi Gutiérrez Hermoso + + Fix saving int8 and uint8 in plain text format (bug #40980) + + * oct-inttypes.h (operator<<): Specialise this operator's + octave_int overloads for T = int8_t and T = uint8_t so that it + calls non-char versions of std::operator<< + + Files: liboctave/util/oct-inttypes.h + +2014-01-09 Torsten + + fix some translation issues (bug #41159) + + * main-window.cc (news_reader::process): only use constant strings in tr () + + * libgui/languages/*.ts: update language files accordingly + + * settings-dialog.cc (read_lexer_settings): added context comments in tr () + for the use of b, i and u in the editor styles + + * files-dock-widget.cc (process_new_dir): added a context comment for newline + + Files: libgui/languages/be_BY.ts libgui/languages/de_DE.ts + libgui/languages/en_US.ts libgui/languages/es_ES.ts + libgui/languages/fr_FR.ts libgui/languages/nl_NL.ts + libgui/languages/pt_BR.ts libgui/languages/pt_PT.ts + libgui/languages/ru_RU.ts libgui/languages/uk_UA.ts libgui/src + /files-dock-widget.cc libgui/src/main-window.cc libgui/src/settings- + dialog.cc + +2014-01-08 Torsten + + synchronize gui's debug actions with the octave core thread (bug #41139) + + * main-window.cc (constructor): initialize new queue with debug commands + (debug_continue, debug_step_into, debug_step_over, debug_step_out, + debug_quit): call queue_debug instead post octave_link-event and remove + the related callback functions + (queue_debug): new functin handling the queue of debug actions and posting + octave_link events; + (execute_debug_callback): common new callback function for debug actions + + * main-window.h: removed functions: debug_continue_callback, + debug_step_into_callback, debug_step_over_callback, + debug_step_out_callback, debug_quit_callback; + new functions: queue_debug, execute_debug_callback; + new variables for handling the debug queue + + Files: libgui/src/main-window.cc libgui/src/main-window.h + +2014-01-09 Felipe G. Nievinski + + pt_BR.ts: Update Brazilian Portugese translation. + + * pt_BR.ts: Update Brazilian Portugese translation. + + Files: libgui/languages/pt_BR.ts + +2014-01-08 John W. Eaton + + fix parsing of single quote after continuation and comment (bug #41048) + + * lex.ll (octave_base_lexer::handle_continuation): Preserve state of + at_beginning_of_statement across call to finish_comment. + * parser.tst: New test. + + Files: libinterp/parse-tree/lex.ll test/parser.tst + +2014-01-07 John W. Eaton + + test float rcond using float arithmetic in inv function (bug #41065) + + * inv.cc (Finv): Test float rcond using float arithmetic. Use correct + rcond in warning message. + + Files: libinterp/corefcn/inv.cc + +2014-01-07 John Donoghue + + GUI: Use WriteConsoleInput for sending terminal newline (Bug #41123) + + * libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp + (QConsolePrivate::sendConsoleText): Use WriteConsoleInput instead of SendMessage to send newline to console. + + Files: libgui/qterminal/libqterminal/win32/QWinTerminalImpl.cpp + +2014-01-07 John W. Eaton + + allow the gui editor to set breakpoints in class methods (bug #41126) + + * file-editor-tab.h, file-editor-tab.cc (bp_info::bp_info): + Construct bp_info struct from file name and line number instead of + individual struct components. Change all uses. Recognize class name + in file names that match /dir/@class/fcn.m. + + Files: libgui/src/m-editor/file-editor-tab.cc libgui/src/m-editor/file- + editor-tab.h + + strip .m when setting or clearing breakpoints (bug #41126) + + * debug.cc (get_user_code): If name ends in .m, strip it. + + Files: libinterp/corefcn/debug.cc + + * stmt.txi: Fix missing comma after @xref. + + Files: doc/interpreter/stmt.txi + + provide version number macros (bug #41045) + + * configure.ac (OCTAVE_MAJOR_VERSION, OCTAVE_MINOR_VERSION, + OCTAVE_PATCH_VERSION): New variables. + * common.mk: Substitute them. + * version.in.h: Substitute them. + * libinterp/Makefile.am (version.h): + Don't substitute OCTAVE_API_VERSION_NUMBER. + + Files: build-aux/common.mk configure.ac libinterp/Makefile.am + libinterp/version.in.h + +2014-01-05 Felipe G. Nievinski + + doc: Minor updates to help for Octave keywords (bug #41108) + + * help.cc: Minor updates to help for Octave keywords. + + Files: libinterp/corefcn/help.cc + + doc: Update manual for "catch err" syntax (bug #33217) + + Files: doc/interpreter/errors.txi doc/interpreter/stmt.txi + +2013-12-22 Erik Kjellson + + maint: fix spelling of contributor name Erik Kjellson. + + Files: doc/interpreter/contributors.in + +2014-01-03 Olaf Till + + Fix installing packages where dependency name contains '-' (bug #41087). + + * scripts/pkg/private/fix_depends.m: Add '-' to list of allowed + characters in a name. + + Files: scripts/pkg/private/fix_depends.m + +2014-01-03 Rik + + doc: Add new octave-cli man page (bug #41085). + + * octave-cli.1: New man page. + + * doc/interpreter/Makefile.am: Add octave-cli.1 to build system. + + * mkoctfile.1: Move "SEE ALSO" section to end of man page. + + *octave-config.1: Add "SEE ALSO" section to end of man page. + + Files: doc/interpreter/Makefile.am doc/interpreter/mkoctfile.1 + doc/interpreter/octave-cli.1 doc/interpreter/octave-config.1 + +2014-01-03 John W. Eaton + + return elements read, not bytes in fread second output (bug #41091) + + * oct-stream.cc (octave_stream::read): Rename char_count arg to be + count. Make char_count a local variable. Use count instead of + elts_read. Correctly truncate size of result matrix if fewer elements + are read than requested. + + Files: libinterp/corefcn/oct-stream.cc test/io.tst + +2014-01-03 Torsten + + fix menu name of release notes in warning bar of exp. gui (bug #41078) + + * main-window.cc (construct_warning_bar): fix text of warning bar, + menu for release notes in news menu + + * libgui/languages/*.ts: update language files accordingly + + Files: libgui/languages/be_BY.ts libgui/languages/de_DE.ts + libgui/languages/en_US.ts libgui/languages/es_ES.ts + libgui/languages/fr_FR.ts libgui/languages/nl_NL.ts + libgui/languages/pt_BR.ts libgui/languages/pt_PT.ts + libgui/languages/ru_RU.ts libgui/languages/uk_UA.ts libgui/src/main- + window.cc + +2014-01-03 Rik + + cov.m: Document intentional Matlab incompatibility (bug #40751). + + cov.m: Document intentional Matlab incompatibility (bug #40751). + + Files: scripts/statistics/base/cov.m + +2014-01-03 Torsten + + updating translation files as consequence of bug fix #41081 + + Files: libgui/languages/be_BY.ts libgui/languages/de_DE.ts + libgui/languages/en_US.ts libgui/languages/es_ES.ts + libgui/languages/fr_FR.ts libgui/languages/nl_NL.ts + libgui/languages/pt_BR.ts libgui/languages/pt_PT.ts + libgui/languages/ru_RU.ts libgui/languages/uk_UA.ts + +2014-01-03 Felipe G. Nievinski + + fix translating the info on the experimental gui (bug #41081) + + * main_window.cc (show_gui_info): explicitly use QObject namespace for tr + + Files: libgui/src/main-window.cc + +2014-01-02 Philip Nienhuis + + get_first_help_sentence.m: avoid out-of-bound error (bug #41053) + + * get_first_help_sentence.m: avoid out-of-bound error (bug #41053) + + Files: scripts/help/get_first_help_sentence.m + +2014-01-01 Mike Miller + + doc.m: Check for existence of compressed info file (bug #41054) + + * doc.m: Check for existence of compressed info file, since info files + are commonly gzip-compressed in binary distributions. + + Files: scripts/help/doc.m + +2014-01-01 Rik + + doc: Note that dbstop can be used with class methods as well (bug #40958). + + * debug.txi: Note that dbstop can be used with class methods as well + (bug #40958). + + Files: doc/interpreter/debug.txi + + doc: Fix documentation for strsplit (bug #41062). + + * strsplit.m: Remove redundant sentence about delimiter del. + Don't use unnecessary hyphen in "cell string array" phrasing. + Correct typo of "delmiters". + + * strjoin.m: Don't use unnecessary hyphen in "cell string array" phrasing. + + Files: scripts/strings/strjoin.m scripts/strings/strsplit.m + +2013-12-31 John W. Eaton + + * octave.texi: Fix date on title page. + + Files: doc/interpreter/octave.texi + +2013-12-29 Felipe G. Nievinski + + * es_ES.ts: Spanish translation minor update by Jose Pallero + + Files: libgui/languages/es_ES.ts + 2013-12-27 John W. Eaton Added tag release-3-8-0 for changeset b72bcf5f78cc diff -Nru octave-3.8.0/config.in.h octave-3.8.1/config.in.h --- octave-3.8.0/config.in.h 2013-12-27 22:01:48.000000000 +0000 +++ octave-3.8.1/config.in.h 2014-03-06 19:42:47.000000000 +0000 @@ -2575,6 +2575,12 @@ /* Define to 1 if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H +/* Define to 1 if you have the `tcgetattr' function. */ +#undef HAVE_TCGETATTR + +/* Define to 1 if you have the `tcsetattr' function. */ +#undef HAVE_TCSETATTR + /* Define to 1 if you have the `tempnam' function. */ #undef HAVE_TEMPNAM diff -Nru octave-3.8.0/configure octave-3.8.1/configure --- octave-3.8.0/configure 2013-12-27 22:01:57.000000000 +0000 +++ octave-3.8.1/configure 2014-03-06 19:42:56.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for GNU Octave 3.8.0. +# Generated by GNU Autoconf 2.69 for GNU Octave 3.8.1. # # Report bugs to . # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='GNU Octave' PACKAGE_TARNAME='octave' -PACKAGE_VERSION='3.8.0' -PACKAGE_STRING='GNU Octave 3.8.0' +PACKAGE_VERSION='3.8.1' +PACKAGE_STRING='GNU Octave 3.8.1' PACKAGE_BUGREPORT='http://octave.org/bugs.html' PACKAGE_URL='http://www.gnu.org/software/octave/' @@ -1759,8 +1759,6 @@ CXXPICFLAG CPICFLAG FPICFLAG -AMCOND_BUILD_COMPILED_AUX_PROGRAMS_FALSE -AMCOND_BUILD_COMPILED_AUX_PROGRAMS_TRUE READLINE_LIBS TERM_LIBS TEXINFO_ARPACK @@ -2025,11 +2023,13 @@ INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM -OCTAVE_COPYRIGHT -OCTAVE_RELEASE_DATE OCTAVE_API_VERSION -OCTAVE_API_VERSION_NUMBER +OCTAVE_RELEASE_DATE +OCTAVE_COPYRIGHT OCTAVE_VERSION +OCTAVE_PATCH_VERSION +OCTAVE_MINOR_VERSION +OCTAVE_MAJOR_VERSION target_alias host_alias build_alias @@ -2736,7 +2736,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU Octave 3.8.0 to adapt to many kinds of systems. +\`configure' configures GNU Octave 3.8.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2810,7 +2810,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU Octave 3.8.0:";; + short | recursive ) echo "Configuration of GNU Octave 3.8.1:";; esac cat <<\_ACEOF @@ -3088,7 +3088,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU Octave configure 3.8.0 +GNU Octave configure 3.8.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -4508,7 +4508,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU Octave $as_me 3.8.0, which was +It was created by GNU Octave $as_me 3.8.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4927,11 +4927,32 @@ +OCTAVE_MAJOR_VERSION=3 +OCTAVE_MINOR_VERSION=8 +OCTAVE_PATCH_VERSION=1 + OCTAVE_VERSION="$PACKAGE_VERSION" -OCTAVE_API_VERSION_NUMBER="49" -OCTAVE_API_VERSION="api-v$OCTAVE_API_VERSION_NUMBER+" -OCTAVE_RELEASE_DATE="2013-12-27" -OCTAVE_COPYRIGHT="Copyright (C) 2013 John W. Eaton and others." + +OCTAVE_COPYRIGHT="Copyright (C) 2014 John W. Eaton and others." + +OCTAVE_RELEASE_DATE="2014-03-06" + +## The "API version" is used as a way of checking that interfaces in the +## liboctave and libinterp libraries haven't changed in a backwardly +## incompatible way when loading .oct files. A better way to do that is +## with library versioning, but not all systems support that. +## NOTE: This macro will be removed in a future version of Octave. If +## you insist on checking for features using a version number, use the +## OCTAVE_MAJOR_VERSION, OCTAVE_MINOR_VERSION, and +## OCTAVE_PATCH_VERSION macros instead. +## FIXME: Since we also set libtool versions for liboctave and +## libinterp, perhaps we should be computing the "api version" from +## those versions numbers in some way instead of setting it +## independently here. +OCTAVE_API_VERSION="api-v49+" + + + @@ -5458,7 +5479,7 @@ # Define the identity of the package. PACKAGE='octave' - VERSION='3.8.0' + VERSION='3.8.1' cat >>confdefs.h <<_ACEOF @@ -8775,13 +8796,13 @@ mingw* | msdosmsvc) sepchar=';' ;; esac - ;; + ;; no) as_fn_error $? "You are required to define a path separation character" "$LINENO" 5 ;; *) sepchar=$with_sepchar - ;; + ;; esac @@ -14810,11 +14831,11 @@ ### Check for the LLVM library -build_jit=yes +build_jit=no # Check whether --enable-jit was given. if test "${enable_jit+set}" = set; then : - enableval=$enable_jit; if test "$enableval" = no; then - build_jit=no + enableval=$enable_jit; if test "$enableval" = yes; then + build_jit=yes fi fi @@ -37232,7 +37253,9 @@ if test -n "$UMFPACK_LIBS"; then ## SuiteSparse >= 4.0 needs additional link library for SuiteSparse_time() + save_CPPFLAGS="$CPPFLAGS" save_LIBS="$LIBS"; + CPPFLAGS="$UMFPACK_CPPFLAGS $AMD_CPPFLAGS $CPPFLAGS" LIBS="$UMFPACK_LIBS $AMD_LDFLAGS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS" xtra_libs= @@ -37428,10 +37451,13 @@ esac fi LIBS="$save_LIBS" + CPPFLAGS="$save_CPPFLAGS" ## Check for UMFPACK separately split complex matrix and RHS. if test -n "$UMFPACK_LIBS"; then + save_CPPFLAGS="$CPPFLAGS" save_LIBS="$LIBS"; + CPPFLAGS="$UMFPACK_CPPFLAGS $AMD_CPPFLAGS $CPPFLAGS" LIBS="$UMFPACK_LIBS $CHOLMOD_LDFLAGS $CHOLMOD_LIBS $AMD_LDFLAGS $AMD_LIBS $COLAMD_LDFLAGS $COLAMD_LIBS $LAPACK_LIBS $BLAS_LIBS $FLIBS $LIBS $xtra_libs" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for UMFPACK separate complex matrix and rhs split" >&5 @@ -37516,6 +37542,7 @@ fi LIBS="$save_LIBS" + CPPFLAGS="$save_CPPFLAGS" fi fi @@ -38076,7 +38103,6 @@ OCTGRAPHICS_DLL_DEFS= library_path_var=LD_LIBRARY_PATH ldpreloadsep=" " -BUILD_COMPILED_AUX_PROGRAMS=no case $canonical_host_type in *-*-386bsd* | *-*-netbsd*) SH_LD=ld @@ -38096,7 +38122,7 @@ ;; *-*-darwin*) DL_LDFLAGS='-bundle -bundle_loader $(top_builddir)/libinterp/octave $(LDFLAGS)' - MKOCTFILE_DL_LDFLAGS='-bundle -bundle_loader $$BINDIR/octave-$$OCTAVE_VERSION$$EXEEXT' + MKOCTFILE_DL_LDFLAGS='-bundle -bundle_loader $(bindir)/octave-$(version)$(EXEEXT)' SH_LDFLAGS='-dynamiclib -single_module $(LDFLAGS)' case $canonical_host_type in powerpc-*) @@ -38129,7 +38155,6 @@ ldpreloadsep=":" ;; *-*-mingw*) - BUILD_COMPILED_AUX_PROGRAMS=yes if test $have_msvc = yes; then DL_LDFLAGS="-shared" CPICFLAG= @@ -38170,7 +38195,6 @@ ;; *-*-msdosmsvc) - BUILD_COMPILED_AUX_PROGRAMS=yes DL_LDFLAGS="-shared" CPICFLAG= CXXPICFLAG= @@ -38267,15 +38291,6 @@ ;; esac - if test $BUILD_COMPILED_AUX_PROGRAMS = yes; then - AMCOND_BUILD_COMPILED_AUX_PROGRAMS_TRUE= - AMCOND_BUILD_COMPILED_AUX_PROGRAMS_FALSE='#' -else - AMCOND_BUILD_COMPILED_AUX_PROGRAMS_TRUE='#' - AMCOND_BUILD_COMPILED_AUX_PROGRAMS_FALSE= -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: defining FPICFLAG to be $FPICFLAG" >&5 $as_echo "$as_me: defining FPICFLAG to be $FPICFLAG" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: defining CPICFLAG to be $CPICFLAG" >&5 @@ -66697,7 +66712,7 @@ fi done -for ac_func in tempnam tgammaf toascii +for ac_func in tcgetattr tcsetattr tempnam tgammaf toascii do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -67411,7 +67426,7 @@ fi done - ;; + ;; esac ## Cygwin kluge for getrusage. @@ -68277,9 +68292,9 @@ JAVA_LIBS=-ladvapi32 if test $have_msvc = no; then if test -n "$JAVA_CPPFLAGS"; then - JAVA_CPPFLAGS="-I${JAVA_CPPFLAGS}/include -I${JAVA_CPPFLAGS}/include/win32" + JAVA_CPPFLAGS="-I\"${JAVA_CPPFLAGS}\" -I\"${JAVA_CPPFLAGS}/win32\"" else - JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/win32" + JAVA_CPPFLAGS="-I\"${JAVA_HOME}/include\" -I\"${JAVA_HOME}/include/win32\"" fi LDFLAGS="$LDFLAGS -Wl,--export-all-symbols" fi @@ -68382,7 +68397,7 @@ ;; *) if test -n "$JAVA_CPPFLAGS"; then - JAVA_CPPFLAGS="-I${JAVA_CPPFLAGS}/include -I${JAVA_CPPFLAGS}/include/linux" + JAVA_CPPFLAGS="-I${JAVA_CPPFLAGS} -I${JAVA_CPPFLAGS}/linux" else JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux" fi @@ -68541,6 +68556,26 @@ QT_LDFLAGS="`$PKG_CONFIG --libs-only-L QtCore QtGui QtNetwork`" QT_LIBS="`$PKG_CONFIG --libs-only-l QtCore QtGui QtNetwork`" + case $host_os in + *darwin*) + ## Qt might be installed in framework + if test -z "$QT_LIBS"; then + QT_LDFLAGS="`$PKG_CONFIG --libs-only-other QtCore QtGui QtNetwork | tr ' ' '\n' | $GREP -e '-F' | uniq | tr '\n' ' '`" + QT_LIBS="`$PKG_CONFIG --libs-only-other QtCore QtGui QtNetwork | tr ' ' '\n' | $GREP -v -e '-F' | uniq | tr '\n' ' '`" + ## Enabling link_all_deps works around libtool's imperfect handling + ## of the -F flag + if test $link_all_deps = yes || test -n "$QT_LDFLAGS"; then + AMCOND_LINK_ALL_DEPS_TRUE= + AMCOND_LINK_ALL_DEPS_FALSE='#' +else + AMCOND_LINK_ALL_DEPS_TRUE='#' + AMCOND_LINK_ALL_DEPS_FALSE= +fi + + fi + ;; + esac + ## Check for Qt4 if ! `$PKG_CONFIG --atleast-version=4.0.0 QtCore`; then warn_gui="Qt >= 4.0.0 not found -- disabling GUI" @@ -69369,7 +69404,7 @@ fi done - ;; + ;; *) for ac_header in pty.h libutil.h util.h do : @@ -69465,7 +69500,7 @@ fi done - ;; + ;; esac fi fi @@ -69714,10 +69749,6 @@ as_fn_error $? "conditional \"AMCOND_HAVE_FFTW\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${AMCOND_BUILD_COMPILED_AUX_PROGRAMS_TRUE}" && test -z "${AMCOND_BUILD_COMPILED_AUX_PROGRAMS_FALSE}"; then - as_fn_error $? "conditional \"AMCOND_BUILD_COMPILED_AUX_PROGRAMS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${AMCOND_LINK_ALL_DEPS_TRUE}" && test -z "${AMCOND_LINK_ALL_DEPS_FALSE}"; then as_fn_error $? "conditional \"AMCOND_LINK_ALL_DEPS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -69808,6 +69839,10 @@ as_fn_error $? "conditional \"AMCOND_HAVE_JAVA\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${AMCOND_LINK_ALL_DEPS_TRUE}" && test -z "${AMCOND_LINK_ALL_DEPS_FALSE}"; then + as_fn_error $? "conditional \"AMCOND_LINK_ALL_DEPS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${AMCOND_BUILD_GUI_TRUE}" && test -z "${AMCOND_BUILD_GUI_FALSE}"; then as_fn_error $? "conditional \"AMCOND_BUILD_GUI\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -70217,7 +70252,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU Octave $as_me 3.8.0, which was +This file was extended by GNU Octave $as_me 3.8.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -70285,7 +70320,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GNU Octave config.status 3.8.0 +GNU Octave config.status 3.8.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru octave-3.8.0/configure.ac octave-3.8.1/configure.ac --- octave-3.8.0/configure.ac 2013-12-27 21:58:28.000000000 +0000 +++ octave-3.8.1/configure.ac 2014-03-06 19:40:33.000000000 +0000 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. dnl -dnl Copyright (C) 1993-2013 John W. Eaton +dnl Copyright (C) 1993-2014 John W. Eaton ### ### This file is part of Octave. ### @@ -19,19 +19,43 @@ ### . AC_PREREQ([2.62]) -AC_INIT([GNU Octave], [3.8.0], [http://octave.org/bugs.html], [octave]) +AC_INIT([GNU Octave], [3.8.1], [http://octave.org/bugs.html], [octave]) + +dnl Note that the version number is duplicated here and in AC_INIT +dnl because AC_INIT requires it to be static, not computed from +dnl shell variables. +OCTAVE_MAJOR_VERSION=3 +OCTAVE_MINOR_VERSION=8 +OCTAVE_PATCH_VERSION=1 dnl PACKAGE_VERSION is set by the AC_INIT VERSION arg OCTAVE_VERSION="$PACKAGE_VERSION" -OCTAVE_API_VERSION_NUMBER="49" -OCTAVE_API_VERSION="api-v$OCTAVE_API_VERSION_NUMBER+" -OCTAVE_RELEASE_DATE="2013-12-27" -OCTAVE_COPYRIGHT="Copyright (C) 2013 John W. Eaton and others." + +OCTAVE_COPYRIGHT="Copyright (C) 2014 John W. Eaton and others." + +OCTAVE_RELEASE_DATE="2014-03-06" + +## The "API version" is used as a way of checking that interfaces in the +## liboctave and libinterp libraries haven't changed in a backwardly +## incompatible way when loading .oct files. A better way to do that is +## with library versioning, but not all systems support that. +## NOTE: This macro will be removed in a future version of Octave. If +## you insist on checking for features using a version number, use the +## OCTAVE_MAJOR_VERSION, OCTAVE_MINOR_VERSION, and +## OCTAVE_PATCH_VERSION macros instead. +## FIXME: Since we also set libtool versions for liboctave and +## libinterp, perhaps we should be computing the "api version" from +## those versions numbers in some way instead of setting it +## independently here. +OCTAVE_API_VERSION="api-v49+" + +AC_SUBST(OCTAVE_MAJOR_VERSION) +AC_SUBST(OCTAVE_MINOR_VERSION) +AC_SUBST(OCTAVE_PATCH_VERSION) AC_SUBST(OCTAVE_VERSION) -AC_SUBST(OCTAVE_API_VERSION_NUMBER) -AC_SUBST(OCTAVE_API_VERSION) -AC_SUBST(OCTAVE_RELEASE_DATE) AC_SUBST(OCTAVE_COPYRIGHT) +AC_SUBST(OCTAVE_RELEASE_DATE) +AC_SUBST(OCTAVE_API_VERSION) dnl FIXME: We should auto-insert the Mercurial changeset ID into the dnl AC_REVISION field whenever configure.ac is modified. @@ -159,13 +183,13 @@ mingw* | msdosmsvc) sepchar=';' ;; esac - ;; + ;; no) AC_MSG_ERROR([You are required to define a path separation character]) ;; *) sepchar=$with_sepchar - ;; + ;; esac AC_SUBST(sepchar) AC_DEFINE_UNQUOTED(SEPCHAR, ['$sepchar'], @@ -766,12 +790,12 @@ ### Check for the LLVM library -build_jit=yes +build_jit=no AC_ARG_ENABLE([jit], [AS_HELP_STRING([--enable-jit], [(EXPERIMENTAL) enable JIT compiler])], - [if test "$enableval" = no; then - build_jit=no + [if test "$enableval" = yes; then + build_jit=yes fi], []) @@ -1512,7 +1536,9 @@ if test -n "$UMFPACK_LIBS"; then ## SuiteSparse >= 4.0 needs additional link library for SuiteSparse_time() + save_CPPFLAGS="$CPPFLAGS" save_LIBS="$LIBS"; + CPPFLAGS="$UMFPACK_CPPFLAGS $AMD_CPPFLAGS $CPPFLAGS" LIBS="$UMFPACK_LIBS $AMD_LDFLAGS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS" xtra_libs= OCTAVE_UMFPACK_NEED_SUITESPARSE_TIME @@ -1535,13 +1561,17 @@ esac fi LIBS="$save_LIBS" + CPPFLAGS="$save_CPPFLAGS" ## Check for UMFPACK separately split complex matrix and RHS. if test -n "$UMFPACK_LIBS"; then + save_CPPFLAGS="$CPPFLAGS" save_LIBS="$LIBS"; + CPPFLAGS="$UMFPACK_CPPFLAGS $AMD_CPPFLAGS $CPPFLAGS" LIBS="$UMFPACK_LIBS $CHOLMOD_LDFLAGS $CHOLMOD_LIBS $AMD_LDFLAGS $AMD_LIBS $COLAMD_LDFLAGS $COLAMD_LIBS $LAPACK_LIBS $BLAS_LIBS $FLIBS $LIBS $xtra_libs" OCTAVE_UMFPACK_SEPARATE_SPLIT LIBS="$save_LIBS" + CPPFLAGS="$save_CPPFLAGS" fi fi @@ -1613,7 +1643,6 @@ OCTGRAPHICS_DLL_DEFS= library_path_var=LD_LIBRARY_PATH ldpreloadsep=" " -BUILD_COMPILED_AUX_PROGRAMS=no case $canonical_host_type in *-*-386bsd* | *-*-netbsd*) SH_LD=ld @@ -1633,7 +1662,7 @@ ;; *-*-darwin*) DL_LDFLAGS='-bundle -bundle_loader $(top_builddir)/libinterp/octave $(LDFLAGS)' - MKOCTFILE_DL_LDFLAGS='-bundle -bundle_loader $$BINDIR/octave-$$OCTAVE_VERSION$$EXEEXT' + MKOCTFILE_DL_LDFLAGS='-bundle -bundle_loader $(bindir)/octave-$(version)$(EXEEXT)' SH_LDFLAGS='-dynamiclib -single_module $(LDFLAGS)' case $canonical_host_type in powerpc-*) @@ -1666,7 +1695,6 @@ ldpreloadsep=":" ;; *-*-mingw*) - BUILD_COMPILED_AUX_PROGRAMS=yes if test $have_msvc = yes; then DL_LDFLAGS="-shared" CPICFLAG= @@ -1707,7 +1735,6 @@ ;; *-*-msdosmsvc) - BUILD_COMPILED_AUX_PROGRAMS=yes DL_LDFLAGS="-shared" CPICFLAG= CXXPICFLAG= @@ -1804,9 +1831,6 @@ ;; esac -AM_CONDITIONAL([AMCOND_BUILD_COMPILED_AUX_PROGRAMS], - [test $BUILD_COMPILED_AUX_PROGRAMS = yes]) - AC_MSG_NOTICE([defining FPICFLAG to be $FPICFLAG]) AC_MSG_NOTICE([defining CPICFLAG to be $CPICFLAG]) AC_MSG_NOTICE([defining CXXPICFLAG to be $CXXPICFLAG]) @@ -2162,7 +2186,7 @@ AC_CHECK_FUNCS([log1p log1pf pipe]) AC_CHECK_FUNCS([realpath resolvepath roundl]) AC_CHECK_FUNCS([select setgrent setpwent siglongjmp strsignal]) -AC_CHECK_FUNCS([tempnam tgammaf toascii]) +AC_CHECK_FUNCS([tcgetattr tcsetattr tempnam tgammaf toascii]) AC_CHECK_FUNCS([umask waitpid]) AC_CHECK_FUNCS([_kbhit]) @@ -2280,7 +2304,7 @@ msdosmsvc | mingw*) AC_CHECK_FUNCS([setvbuf], [], [AC_MSG_ERROR([Missing function required to build Octave])]) - ;; + ;; esac ## Cygwin kluge for getrusage. @@ -2533,9 +2557,9 @@ JAVA_LIBS=-ladvapi32 if test $have_msvc = no; then if test -n "$JAVA_CPPFLAGS"; then - JAVA_CPPFLAGS="-I${JAVA_CPPFLAGS}/include -I${JAVA_CPPFLAGS}/include/win32" + JAVA_CPPFLAGS="-I\"${JAVA_CPPFLAGS}\" -I\"${JAVA_CPPFLAGS}/win32\"" else - JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/win32" + JAVA_CPPFLAGS="-I\"${JAVA_HOME}/include\" -I\"${JAVA_HOME}/include/win32\"" fi LDFLAGS="$LDFLAGS -Wl,--export-all-symbols" fi @@ -2633,7 +2657,7 @@ ;; *) if test -n "$JAVA_CPPFLAGS"; then - JAVA_CPPFLAGS="-I${JAVA_CPPFLAGS}/include -I${JAVA_CPPFLAGS}/include/linux" + JAVA_CPPFLAGS="-I${JAVA_CPPFLAGS} -I${JAVA_CPPFLAGS}/linux" else JAVA_CPPFLAGS="-I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux" fi @@ -2699,6 +2723,20 @@ QT_LDFLAGS="`$PKG_CONFIG --libs-only-L QtCore QtGui QtNetwork`" QT_LIBS="`$PKG_CONFIG --libs-only-l QtCore QtGui QtNetwork`" + case $host_os in + *darwin*) + ## Qt might be installed in framework + if test -z "$QT_LIBS"; then + QT_LDFLAGS="`$PKG_CONFIG --libs-only-other QtCore QtGui QtNetwork | tr ' ' '\n' | $GREP -e '-F' | uniq | tr '\n' ' '`" + QT_LIBS="`$PKG_CONFIG --libs-only-other QtCore QtGui QtNetwork | tr ' ' '\n' | $GREP -v -e '-F' | uniq | tr '\n' ' '`" + ## Enabling link_all_deps works around libtool's imperfect handling + ## of the -F flag + AM_CONDITIONAL([AMCOND_LINK_ALL_DEPS], + [test $link_all_deps = yes || test -n "$QT_LDFLAGS"]) + fi + ;; + esac + ## Check for Qt4 if ! `$PKG_CONFIG --atleast-version=4.0.0 QtCore`; then warn_gui="Qt >= 4.0.0 not found -- disabling GUI" @@ -2785,7 +2823,7 @@ AC_CHECK_FUNCS([setvbuf], [win32_terminal=yes], [warn_gui="setvbuf not found -- disabling GUI" build_gui=no]) - ;; + ;; *) AC_CHECK_HEADERS([pty.h libutil.h util.h]) AC_SEARCH_LIBS([openpty], [util], @@ -2793,7 +2831,7 @@ AC_CHECK_FUNCS([chmod chown ftruncate mmap munmap], [], [AC_MSG_ERROR([At least one of chmod, chown, ftruncate, mmap, and munmap not found -- disabling GUI]) build_gui=no]) - ;; + ;; esac fi fi diff -Nru octave-3.8.0/debian/changelog octave-3.8.1/debian/changelog --- octave-3.8.0/debian/changelog 2014-04-07 16:19:12.000000000 +0000 +++ octave-3.8.1/debian/changelog 2014-04-11 22:14:30.000000000 +0000 @@ -1,3 +1,36 @@ +octave (3.8.1-1ubuntu1) trusty; urgency=medium + + * Merge with Debian; remaining changes: + - Disable JIT on all archs to fix LLVM library conflicts. (LP: #1293876) + - Adjust octave breaks to the versions found in trusty. + + -- Julian Taylor Sat, 12 Apr 2014 00:12:03 +0200 + +octave (3.8.1-1) unstable; urgency=medium + + * Imported Upstream version 3.8.1 + + libgui/src/main-window.cc: Fix problems with gui startup and focus issues + (Closes: #738672) + + scripts/pkg/private/fix_depends.m: Fix installing packages where + dependency name contains '-' (Closes: #740984) + * debian/copyright: reflect upstream changes. + * octave.postinst: remove workaround for #681064 (package dir re-creation). + (Closes: #681461) + * Remove patches applied upstream: + + doc-compressed-info.diff + + kfreebsd_tcgetattr.diff + + octave-cli-manpage.diff + + save-uint8-in-text-format.diff + * mkoctfile is now an executable binary instead of a shell script. + + mkoctfile-mpi.diff: adapt for new format of mkoctfile. + + d/control: add shlibs:Depends to liboctave-dev. + * Fix statement about the GUI in NEWS.Debian. + * debian/control: don't mention the FAQ in descriptions, it has been removed. + * Adapt to the fact that JIT is now disabled by default in ./configure script. + * Disable JIT on hurd-i386, LLVM not available there. + + -- Sébastien Villemot Mon, 10 Mar 2014 17:32:29 +0100 + octave (3.8.0-5ubuntu6) trusty; urgency=medium * Disable JIT on all archs to fix LLVM library conflicts. (LP: #1293876) diff -Nru octave-3.8.0/debian/control octave-3.8.1/debian/control --- octave-3.8.0/debian/control 2014-04-07 16:19:06.000000000 +0000 +++ octave-3.8.1/debian/control 2014-04-11 22:17:42.000000000 +0000 @@ -77,7 +77,8 @@ octave-symbolic (<= 1.1.0-2), octave-tsa (<= 4.2.7-1), octave-vlfeat (<= 0.9.17+dfsg0-6), - sdpam (<= 7.3.9+dfsg-1) + sdpam (<= 7.3.9+dfsg-1), + dynare (<= 4.4.1-1) Description: GNU Octave language for numerical computations Octave is a (mostly Matlab (R) compatible) high-level language, primarily intended for numerical computations. It provides a convenient command-line @@ -122,10 +123,10 @@ intended for numerical computations. It provides a convenient command-line interface for solving linear and nonlinear problems numerically. . - This package provides the following documentation in PDF format: - the FAQ, a reference card in a4, letter and legal formats, a document on the - C++ classes used by Octave, as well as the main octave documentation which - is also included in info format in the octave-info package. + This package provides the following documentation in PDF format: a reference + card in a4, letter and legal formats, a document on the C++ classes used by + Octave, as well as the main octave documentation which is also included in + info format in the octave-info package. Package: octave-htmldoc Architecture: all @@ -137,10 +138,9 @@ intended for numerical computations. It provides a convenient command-line interface for solving linear and nonlinear problems numerically. . - This package provides the following documentation in html format: - the FAQ, a document on the C++ classes used by Octave, as well as the main - octave documentation which is also included in info format in the main - Octave package. + This package provides the following documentation in html format: a document + on the C++ classes used by Octave, as well as the main octave documentation + which is also included in info format in the main Octave package. Package: octave-info Architecture: all @@ -153,10 +153,9 @@ intended for numerical computations. It provides a convenient command-line interface for solving linear and nonlinear problems numerically. . - This package provides the following documentation in info format: - the FAQ, a document on the C++ classes used by Octave, as well as the main - octave documentation which is needed for the 'help -i foo' command within - Octave. + This package provides the following documentation in info format: a document + on the C++ classes used by Octave, as well as the main octave documentation + which is needed for the 'help -i foo' command within Octave. Package: liboctave2 Architecture: any @@ -173,7 +172,8 @@ Package: liboctave-dev Architecture: any -Depends: liboctave2 (= ${binary:Version}), octave (= ${binary:Version}), ${misc:Depends}, +Depends: ${shlibs:Depends}, ${misc:Depends}, + liboctave2 (= ${binary:Version}), octave (= ${binary:Version}), libreadline-dev | libreadline6-dev | libreadline5-dev, libncurses5-dev, libhdf5-dev (>= 1.8.8) | libhdf5-openmpi-dev (>= 1.8.8) | libhdf5-mpich2-dev (>= 1.8.8), libgl1-mesa-dev | libgl-dev, diff -Nru octave-3.8.0/debian/copyright octave-3.8.1/debian/copyright --- octave-3.8.0/debian/copyright 2014-04-07 16:18:34.000000000 +0000 +++ octave-3.8.1/debian/copyright 2014-03-10 16:27:09.000000000 +0000 @@ -4,7 +4,7 @@ Source: http://www.octave.org Files: * -Copyright: 1992-2013 John W. Eaton +Copyright: 1992-2014 John W. Eaton 1984-1985, 1987-2013 Free Software Foundation, Inc 1997-2013 David Bateman 2008-2013 VZLU Prague, a.s., Czech Republic @@ -131,10 +131,10 @@ Copyright: Andrew D. Fernandes Dale Scheetz Dirk Eddelbuettel - 2005-2009, 2012, 2013 Rafael Laboissiere - 2006-2012 Thomas Weber - 2011-2013 Sébastien Villemot - 2013 Mike Miller + 2005-2009, 2012-2014 Rafael Laboissiere + 2006-2013 Thomas Weber + 2011-2014 Sébastien Villemot + 2013-2014 Mike Miller License: GPL-3+ Files: liboctave/cruft/amos/* diff -Nru octave-3.8.0/debian/NEWS octave-3.8.1/debian/NEWS --- octave-3.8.0/debian/NEWS 2014-04-07 16:19:06.000000000 +0000 +++ octave-3.8.1/debian/NEWS 2014-04-11 21:28:37.000000000 +0000 @@ -2,8 +2,8 @@ * Starting with this version, the octave package now contains an experimental graphical user interface (GUI) based on the Qt toolkit. - That GUI can be started by running the `octave-gui' executable, or by - giving the `--force-gui' option to the octave binary. + That GUI can be started by giving the `--force-gui' option to the + octave binary. * For those who want to keep the lower memory footprint of a pure text interface, there is the `octave-cli' executable which is not linked diff -Nru octave-3.8.0/debian/octave.postinst octave-3.8.1/debian/octave.postinst --- octave-3.8.0/debian/octave.postinst 2014-04-07 16:18:34.000000000 +0000 +++ octave-3.8.1/debian/octave.postinst 2014-03-06 17:54:50.000000000 +0000 @@ -7,9 +7,6 @@ #DEBHELPER# rebuild_pkg_database () { - # Workaround for #681064 (can be removed after Wheezy) - mkdir -p /usr/share/octave/packages - octave --silent --no-history --no-init-file --no-window-system \ --eval "pkg ('rebuild');" } diff -Nru octave-3.8.0/debian/patches/doc-compressed-info.diff octave-3.8.1/debian/patches/doc-compressed-info.diff --- octave-3.8.0/debian/patches/doc-compressed-info.diff 2014-04-07 16:18:34.000000000 +0000 +++ octave-3.8.1/debian/patches/doc-compressed-info.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -Description: Check for existence of compressed info file -Author: Mike Miller -Origin: http://hg.savannah.gnu.org/hgweb/octave/raw-rev/ab775508dff9 -Bug: https://savannah.gnu.org/bugs/index.php?41054 -Last-Update: 2014-01-05 - ---- a/scripts/help/doc.m -+++ b/scripts/help/doc.m -@@ -80,7 +80,8 @@ function retval = doc (fname) - if (err < 0) - info_file_name = info_file (); - -- if (! exist (info_file_name, "file")) -+ if (! exist (info_file_name, "file") -+ && ! exist ([info_file_name ".gz"], "file")) - __gripe_missing_component__ ("doc", "info-file"); - endif - endif diff -Nru octave-3.8.0/debian/patches/drop_versioned_binaries.diff octave-3.8.1/debian/patches/drop_versioned_binaries.diff --- octave-3.8.0/debian/patches/drop_versioned_binaries.diff 2014-04-07 16:18:34.000000000 +0000 +++ octave-3.8.1/debian/patches/drop_versioned_binaries.diff 2014-03-10 16:27:09.000000000 +0000 @@ -4,7 +4,7 @@ Author: Thomas Weber --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -164,7 +164,7 @@ +@@ -141,7 +141,7 @@ mkoctfile.cc: mkoctfile.in.cc Makefile main.cc: main.in.cc Makefile @$(do_subst_default_vals) @@ -15,7 +15,7 @@ --- a/src/main.in.cc +++ b/src/main.in.cc -@@ -614,7 +614,7 @@ +@@ -500,7 +500,7 @@ main (int argc, char **argv) std::string octave_archlibdir = get_octave_archlibdir (); std::string file @@ -24,7 +24,7 @@ char **new_argv = new char * [argc + 1]; -@@ -635,7 +635,7 @@ +@@ -521,7 +521,7 @@ main (int argc, char **argv) file = octave_archlibdir + dir_sep_char + "octave-gui"; #else @@ -33,7 +33,7 @@ #endif new_argv[k++] = argv[i]; } -@@ -680,7 +680,7 @@ +@@ -566,7 +566,7 @@ main (int argc, char **argv) start_gui = false; gui_libs = false; @@ -44,7 +44,7 @@ { --- a/scripts/miscellaneous/mkoctfile.m +++ b/scripts/miscellaneous/mkoctfile.m -@@ -145,7 +145,7 @@ +@@ -148,7 +148,7 @@ function [output, status] = mkoctfile (v bindir = octave_config_info ("bindir"); ext = octave_config_info ("EXEEXT"); @@ -55,7 +55,7 @@ __gripe_missing_component__ ("mkoctfile", "mkoctfile"); --- a/scripts/pkg/private/configure_make.m +++ b/scripts/pkg/private/configure_make.m -@@ -29,9 +29,9 @@ +@@ -29,9 +29,9 @@ function configure_make (desc, packdir, octave_bindir = octave_config_info ("bindir"); ver = version (); ext = octave_config_info ("EXEEXT"); diff -Nru octave-3.8.0/debian/patches/fix-pkg-depends-hyphen.diff octave-3.8.1/debian/patches/fix-pkg-depends-hyphen.diff --- octave-3.8.0/debian/patches/fix-pkg-depends-hyphen.diff 2014-04-07 16:18:34.000000000 +0000 +++ octave-3.8.1/debian/patches/fix-pkg-depends-hyphen.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -Description: Fix installing packages where dependency name contains '-' -Origin: upstream, http://hg.savannah.gnu.org/hgweb/octave/rev/442bca7dea44 -Bug: http://savannah.gnu.org/bugs/?41087 -Bug-Ubuntu: https://bugs.launchpad.net/bugs/1288136 - ---- a/scripts/pkg/private/fix_depends.m -+++ b/scripts/pkg/private/fix_depends.m -@@ -29,7 +29,7 @@ function deps_cell = fix_depends (depend - deps = strtrim (ostrsplit (tolower (depends), ",")); - deps_cell = cell (1, length (deps)); - dep_pat = ... -- '\s*(?\w+)+\s*(\(\s*(?[<>=]+)\s*(?\d+\.\d+(\.\d+)*)\s*\))*\s*'; -+ '\s*(?[-\w]+)\s*(\(\s*(?[<>=]+)\s*(?\d+\.\d+(\.\d+)*)\s*\))*\s*'; - - ## For each dependency. - for i = 1:length (deps) diff -Nru octave-3.8.0/debian/patches/hurd_path_max.diff octave-3.8.1/debian/patches/hurd_path_max.diff --- octave-3.8.0/debian/patches/hurd_path_max.diff 2014-04-07 16:18:34.000000000 +0000 +++ octave-3.8.1/debian/patches/hurd_path_max.diff 2014-03-10 16:27:09.000000000 +0000 @@ -7,9 +7,9 @@ --- a/libgui/qterminal/libqterminal/unix/kpty.cpp +++ b/libgui/qterminal/libqterminal/unix/kpty.cpp -@@ -145,6 +145,14 @@ extern "C" { - - #define TTY_GROUP "tty" +@@ -153,6 +153,14 @@ extern "C" { + # endif + #endif +#ifndef PATH_MAX +# ifdef MAXPATHLEN diff -Nru octave-3.8.0/debian/patches/kfreebsd_tcgetattr.diff octave-3.8.1/debian/patches/kfreebsd_tcgetattr.diff --- octave-3.8.0/debian/patches/kfreebsd_tcgetattr.diff 2014-04-07 16:18:34.000000000 +0000 +++ octave-3.8.1/debian/patches/kfreebsd_tcgetattr.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ -Description: Detect and use appropriate terminal attribute functions - Based on kfreebsd_support.diff in the kde4libs Debian package. -Author: Mike Miller -Applied-Upstream: http://hg.savannah.gnu.org/hgweb/octave/raw-rev/d033b08e9b0e -Bug: https://savannah.gnu.org/bugs/?41212 -Last-Updated: 2014-01-12 - ---- a/configure.ac -+++ b/configure.ac -@@ -2162,7 +2162,7 @@ AC_CHECK_FUNCS([lgamma lgammaf lgamma_r - AC_CHECK_FUNCS([log1p log1pf pipe]) - AC_CHECK_FUNCS([realpath resolvepath roundl]) - AC_CHECK_FUNCS([select setgrent setpwent siglongjmp strsignal]) --AC_CHECK_FUNCS([tempnam tgammaf toascii]) -+AC_CHECK_FUNCS([tcgetattr tcsetattr tempnam tgammaf toascii]) - AC_CHECK_FUNCS([umask waitpid]) - AC_CHECK_FUNCS([_kbhit]) - ---- a/libgui/qterminal/libqterminal/unix/kpty.cpp -+++ b/libgui/qterminal/libqterminal/unix/kpty.cpp -@@ -116,24 +116,24 @@ extern "C" { - # define _NEW_TTY_CTRL - #endif - --#if defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__bsdi__) || defined(__APPLE__) || defined (__DragonFly__) -+#if defined(HAVE_TCGETATTR) -+# define _tcgetattr(fd, ttmode) tcgetattr(fd, ttmode) -+#elif defined(TIOCGETA) - # define _tcgetattr(fd, ttmode) ioctl(fd, TIOCGETA, (char *)ttmode) -+#elif defined(TCGETS) -+# define _tcgetattr(fd, ttmode) ioctl(fd, TCGETS, (char *)ttmode) - #else --# if defined(_HPUX_SOURCE) || defined(__Lynx__) || defined (__CYGWIN__) --# define _tcgetattr(fd, ttmode) tcgetattr(fd, ttmode) --# else --# define _tcgetattr(fd, ttmode) ioctl(fd, TCGETS, (char *)ttmode) --# endif -+# error No method available to get terminal attributes - #endif - --#if defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__bsdi__) || defined(__APPLE__) || defined (__DragonFly__) -+#if defined(HAVE_TCSETATTR) && defined(TCSANOW) -+# define _tcsetattr(fd, ttmode) tcsetattr(fd, TCSANOW, ttmode) -+#elif defined(TIOCSETA) - # define _tcsetattr(fd, ttmode) ioctl(fd, TIOCSETA, (char *)ttmode) -+#elif defined(TCSETS) -+# define _tcsetattr(fd, ttmode) ioctl(fd, TCSETS, (char *)ttmode) - #else --# if defined(_HPUX_SOURCE) || defined(__CYGWIN__) --# define _tcsetattr(fd, ttmode) tcsetattr(fd, TCSANOW, ttmode) --# else --# define _tcsetattr(fd, ttmode) ioctl(fd, TCSETS, (char *)ttmode) --# endif -+# error No method available to set terminal attributes - #endif - - #include diff -Nru octave-3.8.0/debian/patches/mkoctfile-mpi.diff octave-3.8.1/debian/patches/mkoctfile-mpi.diff --- octave-3.8.0/debian/patches/mkoctfile-mpi.diff 2014-04-07 16:18:34.000000000 +0000 +++ octave-3.8.1/debian/patches/mkoctfile-mpi.diff 2014-03-10 16:27:09.000000000 +0000 @@ -5,14 +5,15 @@ Last-Update: 2012-08-18 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- a/src/mkoctfile.in.sh -+++ b/src/mkoctfile.in.sh -@@ -77,7 +77,7 @@ - : ${CXXFLAGS=%OCTAVE_CONF_CXXFLAGS%} - : ${CXXPICFLAG=%OCTAVE_CONF_CXXPICFLAG%} - : ${XTRA_CFLAGS=%OCTAVE_CONF_XTRA_CFLAGS%} --: ${XTRA_CXXFLAGS=%OCTAVE_CONF_XTRA_CXXFLAGS%} -+: ${XTRA_CXXFLAGS=-I/usr/include/mpi %OCTAVE_CONF_XTRA_CXXFLAGS%} +--- a/src/mkoctfile.in.cc ++++ b/src/mkoctfile.in.cc +@@ -143,7 +143,8 @@ initialize (void) + vars["CXXPICFLAG"] = get_variable ("CXXPICFLAG", %OCTAVE_CONF_CXXPICFLAG%); + vars["XTRA_CFLAGS"] = get_variable ("XTRA_CFLAGS", %OCTAVE_CONF_XTRA_CFLAGS%); + vars["XTRA_CXXFLAGS"] = get_variable ("XTRA_CXXFLAGS", +- %OCTAVE_CONF_XTRA_CXXFLAGS%); ++ std::string("-I/usr/include/mpi ") ++ + %OCTAVE_CONF_XTRA_CXXFLAGS%); - : ${AR=%OCTAVE_CONF_MKOCTFILE_AR%} - : ${RANLIB=%OCTAVE_CONF_MKOCTFILE_RANLIB%} + vars["AR"] = get_variable ("AR", %OCTAVE_CONF_MKOCTFILE_AR%); + vars["RANLIB"] = get_variable ("RANLIB", %OCTAVE_CONF_MKOCTFILE_RANLIB%); diff -Nru octave-3.8.0/debian/patches/octave-cli-manpage.diff octave-3.8.1/debian/patches/octave-cli-manpage.diff --- octave-3.8.0/debian/patches/octave-cli-manpage.diff 2014-04-07 16:18:34.000000000 +0000 +++ octave-3.8.1/debian/patches/octave-cli-manpage.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,105 +0,0 @@ -Description: Add manpage for octave-cli -Author: Rafael Laboissiere -Forwarded: https://savannah.gnu.org/bugs/index.php?41085 -Origin: http://hg.savannah.gnu.org/hgweb/octave/raw-rev/8d7e45ea11fa -Last-Update: 2014-01-04 - ---- a/doc/interpreter/Makefile.am -+++ b/doc/interpreter/Makefile.am -@@ -32,6 +32,7 @@ - - dist_man_MANS = \ - mkoctfile.1 \ -+ octave-cli.1 \ - octave-config.1 \ - octave.1 - ---- /dev/null -+++ b/doc/interpreter/octave-cli.1 -@@ -0,0 +1,86 @@ -+.\" Copyright (C) 1996-2014 John W. Eaton -+.\" -+.\" This file is part of Octave. -+.\" -+.\" Octave is free software; you can redistribute it and/or modify it -+.\" under the terms of the GNU General Public License as published by the -+.\" Free Software Foundation; either version 3 of the License, or (at -+.\" your option) any later version. -+.\" -+.\" Octave is distributed in the hope that it will be useful, but WITHOUT -+.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+.\" for more details. -+.\" -+.\" You should have received a copy of the GNU General Public License -+.\" along with Octave; see the file COPYING. If not, see -+.\" . -+.\" -------------------------------------------------------------------- -+.de Vb \" (V)erbatim (b)egin. Use fixed width font and no justification -+.ft CW -+.nf -+.. -+.de Ve \" (V)erbatim (e)nd. Return to regular font and justification -+.ft R -+.fi -+.. -+.\" -------------------------------------------------------------------- -+.TH OCTAVE-CLI 1 "03 January 2014" "GNU Octave" -+.SH NAME -+octave-cli \- A high-level interactive language for numerical computations. -+.SH SYNOPSIS -+\fBoctave-cli\fP [\fIoptions\fP]... [\fIfile\fP] -+.SH DESCRIPTION -+Octave is a high-level language, primarily intended for numerical -+computations. It provides a convenient command line interface for -+solving linear and nonlinear problems numerically. \fBoctave-cli\fP -+has been compiled without any GUI support (Qt) which makes it smaller -+than the default \fBoctave\fP executable, but also limits it to -+providing just the command line interface (CLI). -+.SH OPTIONS -+The complete set of command-line options for \fBoctave-cli\fP is available -+by running the following command from the shell. -+.Vb -+ -+ octave-cli \-\-help -+.Ve -+.SH DOCUMENTATION -+The primary documentation for Octave is written using Texinfo, the GNU -+documentation system, which allows the same source files to be used to -+produce online and printed versions of the manual. -+.PP -+You can read the online copy of the Octave documentation by issuing -+the following command from within Octave. -+.Vb -+ -+ octave:1> doc -+ -+.Ve -+The Info files may also be read with a stand-alone program such as -+\fBinfo\fP or \fBxinfo\fP. HTML, Postscript, or PDF versions of the -+documentation are installed on many systems as well. -+.SH BUGS -+The Octave project maintains a bug tracker at http://bugs.octave.org. -+Before submitting a new item please read the instructions at -+http://www.octave.org/bugs.html on how to submit a useful report. -+.SH FILES -+Upon startup Octave looks for four initialization files. Each file -+may contain any number of valid Octave commands. -+.TP -+\fIoctave-home\fP/share/octave/site/m/startup/octaverc -+Site-wide initialization file which changes options for all users. -+\fIoctave-home\fP is the directory where Octave was installed such as -+\fB/usr/local\fP. -+.TP -+\fIoctave-home\fP/share/octave/\fIversion\fP/m/startup/octaverc -+Site-wide initialization file for Octave version \fIversion\fP. -+.TP -+~/.octaverc -+User's personal initialization file. -+.TP -+\&\.octaverc -+Project-specific initialization file located in the current directory. -+.SH AUTHOR -+John W. Eaton -+.SH SEE ALSO -+octave (1) diff -Nru octave-3.8.0/debian/patches/save-uint8-in-text-format.diff octave-3.8.1/debian/patches/save-uint8-in-text-format.diff --- octave-3.8.0/debian/patches/save-uint8-in-text-format.diff 2014-04-07 16:18:34.000000000 +0000 +++ octave-3.8.1/debian/patches/save-uint8-in-text-format.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,60 +0,0 @@ -Description: Fix saving int8 and uint8 in plain text format -Origin: upstream, http://hg.savannah.gnu.org/hgweb/octave/raw-rev/284e5c87f27b -Bug: http://savannah.gnu.org/bugs/?40980 -Bug-Debian: http://bugs.debian.org/732659 -Reviewed-By: Rafael Laboissiere -Last-Update: 2014-01-11 - ---- octave-3.8.0.orig/liboctave/util/oct-inttypes.h -+++ octave-3.8.0/liboctave/util/oct-inttypes.h -@@ -1023,6 +1023,50 @@ operator >> (std::istream& is, octave_in - return is; - } - -+// We need to specialise for char and unsigned char because -+// std::operator<< and std::operator>> are overloaded to input and -+// output the ASCII character values instead of a representation of -+// their numerical value (e.g. os << char(10) outputs a space instead -+// of outputting the characters '1' and '0') -+ -+template <> -+inline std::ostream& -+operator << (std::ostream& os, const octave_int& ival) -+{ -+ os << static_cast (ival.value ()); -+ return os; -+} -+ -+template <> -+inline std::ostream& -+operator << (std::ostream& os, const octave_int& ival) -+{ -+ os << static_cast (ival.value ()); -+ return os; -+} -+ -+ -+template <> -+inline std::istream& -+operator >> (std::istream& is, octave_int& ival) -+{ -+ int tmp = 0; -+ is >> tmp; -+ ival = static_cast (tmp); -+ return is; -+} -+ -+template <> -+inline std::istream& -+operator >> (std::istream& is, octave_int& ival) -+{ -+ unsigned int tmp = 0; -+ is >> tmp; -+ ival = static_cast (tmp); -+ return is; -+} -+ -+ - // Bitwise operations - - #define OCTAVE_INT_BITCMP_OP(OP) \ diff -Nru octave-3.8.0/debian/patches/series octave-3.8.1/debian/patches/series --- octave-3.8.0/debian/patches/series 2014-04-07 16:18:34.000000000 +0000 +++ octave-3.8.1/debian/patches/series 2014-03-10 16:27:09.000000000 +0000 @@ -4,11 +4,6 @@ no_pdf_in_print.diff add_info_dir_categories mkoctfile-mpi.diff -octave-cli-manpage.diff -doc-compressed-info.diff dblquad-s390x.diff -kfreebsd_tcgetattr.diff hurd_path_max.diff -save-uint8-in-text-format.diff always-build-octave-jar.patch -fix-pkg-depends-hyphen.diff diff -Nru octave-3.8.0/debian/rules octave-3.8.1/debian/rules --- octave-3.8.0/debian/rules 2014-04-07 16:19:06.000000000 +0000 +++ octave-3.8.1/debian/rules 2014-04-11 23:06:32.000000000 +0000 @@ -30,10 +30,13 @@ WITH_JAVA_FLAGS := --with-java-homedir=$(JAVA_HOME) --with-java-libdir=$(JAVA_LIBDIR) endif -# Disable the experimental JIT unconditionally for now. The LLVM library -# interface is unstable. Linking with LLVM may also cause conflicts with other -# libraries, for example the mesa graphics stack which also uses LLVM. -JIT_FLAG := --disable-jit +# Enable the JIT on some archs. On other archs, either LLVM is unavailable, or +# JIT unit tests currently segfault. This arch list must be kept in sync with +# the arch list qualifying llvm-dev in debian/control. +JIT_ARCHS := +ifneq (,$(filter $(DEB_HOST_ARCH),$(JIT_ARCHS))) +JIT_FLAG := --enable-jit +endif %: dh $@ --with autoreconf --parallel diff -Nru octave-3.8.0/doc/doxyhtml/Makefile.in octave-3.8.1/doc/doxyhtml/Makefile.in --- octave-3.8.0/doc/doxyhtml/Makefile.in 2013-12-27 22:01:51.000000000 +0000 +++ octave-3.8.1/doc/doxyhtml/Makefile.in 2014-03-06 19:42:50.000000000 +0000 @@ -1214,10 +1214,12 @@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OCTAVE_API_VERSION = @OCTAVE_API_VERSION@ -OCTAVE_API_VERSION_NUMBER = @OCTAVE_API_VERSION_NUMBER@ OCTAVE_COPYRIGHT = @OCTAVE_COPYRIGHT@ OCTAVE_DLL_DEFS = @OCTAVE_DLL_DEFS@ OCTAVE_IDX_TYPE = @OCTAVE_IDX_TYPE@ +OCTAVE_MAJOR_VERSION = @OCTAVE_MAJOR_VERSION@ +OCTAVE_MINOR_VERSION = @OCTAVE_MINOR_VERSION@ +OCTAVE_PATCH_VERSION = @OCTAVE_PATCH_VERSION@ OCTAVE_RELEASE_DATE = @OCTAVE_RELEASE_DATE@ OCTAVE_VERSION = @OCTAVE_VERSION@ OCTGRAPHICS_DLL_DEFS = @OCTGRAPHICS_DLL_DEFS@ diff -Nru octave-3.8.0/doc/icons/Makefile.in octave-3.8.1/doc/icons/Makefile.in --- octave-3.8.0/doc/icons/Makefile.in 2013-12-27 22:01:51.000000000 +0000 +++ octave-3.8.1/doc/icons/Makefile.in 2014-03-06 19:42:50.000000000 +0000 @@ -1244,10 +1244,12 @@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OCTAVE_API_VERSION = @OCTAVE_API_VERSION@ -OCTAVE_API_VERSION_NUMBER = @OCTAVE_API_VERSION_NUMBER@ OCTAVE_COPYRIGHT = @OCTAVE_COPYRIGHT@ OCTAVE_DLL_DEFS = @OCTAVE_DLL_DEFS@ OCTAVE_IDX_TYPE = @OCTAVE_IDX_TYPE@ +OCTAVE_MAJOR_VERSION = @OCTAVE_MAJOR_VERSION@ +OCTAVE_MINOR_VERSION = @OCTAVE_MINOR_VERSION@ +OCTAVE_PATCH_VERSION = @OCTAVE_PATCH_VERSION@ OCTAVE_RELEASE_DATE = @OCTAVE_RELEASE_DATE@ OCTAVE_VERSION = @OCTAVE_VERSION@ OCTGRAPHICS_DLL_DEFS = @OCTGRAPHICS_DLL_DEFS@ diff -Nru octave-3.8.0/doc/interpreter/basics.texi octave-3.8.1/doc/interpreter/basics.texi --- octave-3.8.0/doc/interpreter/basics.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/basics.texi 2014-03-06 19:53:58.000000000 +0000 @@ -750,7 +750,7 @@ resulting cache is saved in the file @var{out_file}. The cache is used to speed up @code{lookfor}. -If no directory is given (or it is the empty matrix), a cache for builtin +If no directory is given (or it is the empty matrix), a cache for built-in operators, etc. is generated. @seealso{@ref{XREFdoc_cache_file,,doc_cache_file}, @ref{XREFlookfor,,lookfor}, @ref{XREFpath,,path}} diff -Nru octave-3.8.0/doc/interpreter/container.texi octave-3.8.1/doc/interpreter/container.texi --- octave-3.8.0/doc/interpreter/container.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/container.texi 2014-03-06 19:53:58.000000000 +0000 @@ -180,6 +180,7 @@ When called from inside a function with the @qcode{"local"} option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function. +@seealso{@ref{XREFprint_struct_array_contents,,print_struct_array_contents}} @end deftypefn @@ -189,14 +190,17 @@ @deftypefnx {Built-in Function} {@var{old_val} =} print_struct_array_contents (@var{new_val}) @deftypefnx {Built-in Function} {} print_struct_array_contents (@var{new_val}, "local") Query or set the internal variable that specifies whether to print struct -array contents. If true, values of struct array elements are printed. -This variable does not affect scalar structures. Their elements -are always printed. In both cases, however, printing will be limited to +array contents. + +If true, values of struct array elements are printed. +This variable does not affect scalar structures whose elements are always +printed. In both cases, however, printing will be limited to the number of levels specified by @var{struct_levels_to_print}. When called from inside a function with the @qcode{"local"} option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function. +@seealso{@ref{XREFstruct_levels_to_print,,struct_levels_to_print}} @end deftypefn @@ -526,12 +530,14 @@ @c struct libinterp/octave-value/ov-struct.cc @anchor{XREFstruct} -@deftypefn {Built-in Function} {} struct (@var{field1}, @var{value1}, @var{field2}, @var{value2}, @dots{}) +@deftypefn {Built-in Function} {@var{s} =} struct () +@deftypefnx {Built-in Function} {@var{s} =} struct (@var{field1}, @var{value1}, @var{field2}, @var{value2}, @dots{}) +@deftypefnx {Built-in Function} {@var{s} =} struct (@var{obj}) Create a scalar or array structure and initialize its values. The -@var{field1}, @var{field2}, @dots{} variables are strings giving the +@var{field1}, @var{field2}, @dots{} variables are strings specifying the names of the fields and the @var{value1}, @var{value2}, @dots{} -variables can be any type. +variables can be of any type. If the values are cell arrays, create a structure array and initialize its values. The dimensions of each cell array of values must match. @@ -566,7 +572,7 @@ @end example @noindent -The first case is an ordinary scalar struct, one field, one value. The +The first case is an ordinary scalar struct---one field, one value. The second produces an empty struct array with one field and no values, since s being passed an empty cell array of struct array values. When the value is a cell array containing a single entry, this becomes a scalar struct with @@ -575,6 +581,7 @@ Finally, if the value is a non-scalar cell array, then @code{struct} produces a struct @strong{array}. +@seealso{@ref{XREFcell2struct,,cell2struct}, @ref{XREFfieldnames,,fieldnames}, @ref{XREForderfields,,orderfields}, @ref{XREFgetfield,,getfield}, @ref{XREFsetfield,,setfield}, @ref{XREFrmfield,,rmfield}, @ref{XREFstructfun,,structfun}} @end deftypefn @@ -598,6 +605,7 @@ @anchor{XREFnfields} @deftypefn {Built-in Function} {} nfields (@var{s}) Return the number of fields of the structure @var{s}. +@seealso{@ref{XREFfieldnames,,fieldnames}} @end deftypefn @@ -619,16 +627,18 @@ When the input is a Java object @var{javaobj} or Java classname @var{jclassname} the name are the public data elements of the object or class. -@seealso{@ref{XREFstruct,,struct}, @ref{XREFmethods,,methods}} +@seealso{@ref{XREFnfields,,nfields}, @ref{XREFisfield,,isfield}, @ref{XREForderfields,,orderfields}, @ref{XREFstruct,,struct}, @ref{XREFmethods,,methods}} @end deftypefn @c isfield libinterp/octave-value/ov-struct.cc @anchor{XREFisfield} -@deftypefn {Built-in Function} {} isfield (@var{x}, @var{name}) -Return true if the @var{x} is a structure and it -includes an element named @var{name}. If @var{name} is a cell -array of strings then a logical array of equal dimension is returned. +@deftypefn {Built-in Function} {} isfield (@var{x}, "@var{name}") +@deftypefnx {Built-in Function} {} isfield (@var{x}, @var{name}) +Return true if the @var{x} is a structure and it includes an element named +@var{name}. If @var{name} is a cell array of strings then a logical array of +equal dimension is returned. +@seealso{@ref{XREFfieldnames,,fieldnames}} @end deftypefn @@ -711,7 +721,7 @@ @var{SA}(2).bar(3).baz = 6 @end group @end example -@seealso{@ref{XREFgetfield,,getfield}, @ref{XREFrmfield,,rmfield}, @ref{XREFisfield,,isfield}, @ref{XREFisstruct,,isstruct}, @ref{XREFfieldnames,,fieldnames}, @ref{XREFstruct,,struct}} +@seealso{@ref{XREFgetfield,,getfield}, @ref{XREFrmfield,,rmfield}, @ref{XREFisfield,,isfield}, @ref{XREFfieldnames,,fieldnames}, @ref{XREFisstruct,,isstruct}, @ref{XREFstruct,,struct}} @end deftypefn @@ -723,7 +733,7 @@ is the same as @code{setfield}, except it omits the final @var{val} argument, returning this value instead of setting it. -@seealso{@ref{XREFsetfield,,setfield}, @ref{XREFrmfield,,rmfield}, @ref{XREFisfield,,isfield}, @ref{XREFisstruct,,isstruct}, @ref{XREFfieldnames,,fieldnames}, @ref{XREFstruct,,struct}} +@seealso{@ref{XREFsetfield,,setfield}, @ref{XREFrmfield,,rmfield}, @ref{XREFisfield,,isfield}, @ref{XREFfieldnames,,fieldnames}, @ref{XREFisstruct,,isstruct}, @ref{XREFstruct,,struct}} @end deftypefn @@ -731,10 +741,10 @@ @anchor{XREFrmfield} @deftypefn {Built-in Function} {@var{s} =} rmfield (@var{s}, "@var{f}") @deftypefnx {Built-in Function} {@var{s} =} rmfield (@var{s}, @var{f}) -Return a copy of the structure (array) @var{s} with the field @var{f} +Return a @emph{copy} of the structure (array) @var{s} with the field @var{f} removed. If @var{f} is a cell array of strings or a character array, remove each of the named fields. -@seealso{@ref{XREFcellstr,,cellstr}, @ref{XREFiscellstr,,iscellstr}, @ref{XREFsetfield,,setfield}} +@seealso{@ref{XREForderfields,,orderfields}, @ref{XREFfieldnames,,fieldnames}} @end deftypefn @@ -853,11 +863,11 @@ @c struct2cell libinterp/octave-value/ov-cell.cc @anchor{XREFstruct2cell} -@deftypefn {Built-in Function} {} struct2cell (@var{S}) +@deftypefn {Built-in Function} {@var{c} =} struct2cell (@var{s}) Create a new cell array from the objects stored in the struct object. If @var{f} is the number of fields in the structure, the resulting cell array will have a dimension vector corresponding to -@code{[@var{F} size(@var{S})]}. For example: +@code{[@var{f} size(@var{s})]}. For example: @example @group @@ -1077,10 +1087,12 @@ @deftypefnx {Built-in Function} {} cell (@var{m}, @var{n}, @var{k}, @dots{}) @deftypefnx {Built-in Function} {} cell ([@var{m} @var{n} @dots{}]) Create a new cell array object. + If invoked with a single scalar integer argument, return a square @nospell{NxN} cell array. If invoked with two or more scalar integer arguments, or a vector of integer values, return an array with the given dimensions. +@seealso{@ref{XREFcellstr,,cellstr}, @ref{XREFmat2cell,,mat2cell}, @ref{XREFnum2cell,,num2cell}, @ref{XREFstruct2cell,,struct2cell}} @end deftypefn @@ -1373,9 +1385,15 @@ @c cellstr libinterp/octave-value/ov-cell.cc @anchor{XREFcellstr} -@deftypefn {Built-in Function} {} cellstr (@var{string}) +@deftypefn {Built-in Function} {@var{cstr} =} cellstr (@var{strmat}) Create a new cell array object from the elements of the string -array @var{string}. +array @var{strmat}. + +Each row of @var{strmat} becomes an element of @var{cstr}. Any trailing +spaces in a row are deleted before conversion. + +To convert back from a cellstr to a character array use @code{char}. +@seealso{@ref{XREFcell,,cell}, @ref{XREFchar,,char}} @end deftypefn @@ -1444,7 +1462,8 @@ @c cell2struct libinterp/octave-value/ov-struct.cc @anchor{XREFcell2struct} -@deftypefn {Built-in Function} {} cell2struct (@var{cell}, @var{fields}, @var{dim}) +@deftypefn {Built-in Function} {} cell2struct (@var{cell}, @var{fields}) +@deftypefnx {Built-in Function} {} cell2struct (@var{cell}, @var{fields}, @var{dim}) Convert @var{cell} to a structure. The number of fields in @var{fields} must match the number of elements in @var{cell} along dimension @var{dim}, that is @code{numel (@var{fields}) == size (@var{cell}, @var{dim})}. @@ -1464,6 +1483,7 @@ @end group @end example +@seealso{@ref{XREFstruct2cell,,struct2cell}, @ref{XREFcell2mat,,cell2mat}, @ref{XREFstruct,,struct}} @end deftypefn diff -Nru octave-3.8.0/doc/interpreter/contrib.texi octave-3.8.1/doc/interpreter/contrib.texi --- octave-3.8.0/doc/interpreter/contrib.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/contrib.texi 2014-03-06 19:53:58.000000000 +0000 @@ -38,10 +38,10 @@ @node How to Contribute @section How to Contribute -The mailing list for Octave development discussion is +The mailing list for Octave development discussions is @email{maintainers@@octave.org}. Patches should be submitted to @url{https://savannah.gnu.org/patch/?func=additem&group=octave, Octave's patch tracker}. -This concerns the development of Octave core, i.e., code that goes to Octave +This concerns the development of Octave core, i.e., code that goes in to Octave directly. You may consider developing and publishing a package instead; a great place for this is the allied Octave-Forge project (@url{http://octave.sourceforge.net}). Note that the Octave core @@ -50,7 +50,7 @@ @node Building the Development Sources @section Building the Development Sources -The directions for building from the Development sources change from +The directions for building from the development sources change from time to time, so you should read the resources for developers on the web or in the development sources archive. Start here: @url{http://www.octave.org/get-involved.html}. @@ -58,8 +58,8 @@ @node Basics of Generating a Changeset @section Basics of Generating a Changeset -The preferable form of contribution is creating a Mercurial changeset -and submit it to the @url{http://savannah.gnu.org/bugs/?group=octave, bug} or +The best way to contribute is to create a Mercurial changeset and submit it to +the @url{http://savannah.gnu.org/bugs/?group=octave, bug} or @url{http://savannah.gnu.org/patch/?func=additem&group=octave, patch} trackers@footnote{Please use the patch tracker only for patches which add new features. If you have a patch to submit that fixes a bug, you should use the @@ -70,7 +70,7 @@ make more contributions, you should really get familiar with Mercurial. A good place to start is @url{http://www.selenic.com/mercurial/wiki/index.cgi/Tutorial}. There -you will also find help how to install Mercurial. +you will also find help about how to install Mercurial. A simple contribution sequence could look like this: @@ -92,7 +92,7 @@ @end example You may want to get familiar with Mercurial queues to manage your -changesets. For working with queues you have to activate the extension +changesets. To work with queues you must activate the extension @nospell{mq} with the following entry in Mercurial's configuration file @file{.hgrc} (or @file{Mercurial.ini} on Windows): @@ -169,7 +169,7 @@ Sometimes a few further improvements for the pager extension are necessary. The following options should not be enabled unless paging -isn't working correctly: +is not working correctly. @example @group @@ -187,13 +187,13 @@ Enabling the described extensions should immediately lead to a difference when using the command line version of @nospell{hg}. Of these options, the only one that enables a new command is @nospell{graphlog}. It is recommanded -that you use the command @code{hg glog} instead of @code{hg log} for a better -feel what commits are being based on. +that to use the command @code{hg glog}, instead of @code{hg log}, for a better +feel about what commits are being based on. @node General Guidelines @section General Guidelines -All Octave's sources are distributed under the General Public License +All Octave's sources are distributed under the GNU General Public License (GPL). Currently, Octave uses GPL version 3. For details about this license, see @url{http://www.gnu.org/licenses/gpl.html}. Therefore, whenever you create a new source file, it should have the following @@ -204,20 +204,18 @@ ## ## This file is part of Octave. ## -## Octave is free software; you can redistribute it and/or -## modify it under the terms of the GNU General Public -## License as published by the Free Software Foundation; -## either version 3 of the License, or (at your option) any -## later version. +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or +## (at your option) any later version. ## -## Octave is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied -## warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -## PURPOSE. See the GNU General Public License for more -## details. +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. ## -## You should have received a copy of the GNU General Public -## License along with Octave; see the file COPYING. If not, +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, ## see . @end example @@ -225,13 +223,13 @@ changes, record and briefly describe the changes in your commit message. You should have previously configured your @file{.hgrc} (or @file{Mercurial.ini} on Windows) with your name and email, which will -get automatically added to your commit message. Your commit message +be automatically added to your commit message. Your commit message should have a brief one-line explanation of what the commit does. If you are patching a bug, this one-line explanation should mention the bug -number at the end. If your change is small and only touches one file, -this is typically sufficient. If you are modifying several files or +number at the end. If your change is small and only touches one file then +this is typically sufficient. If you are modifying several files, or several parts of one file, you should enumerate your changes roughly -following the GNU coding standards on changelogs, like the following +following the GNU coding standards for changelogs, as in the following example: @example @@ -250,12 +248,12 @@ @end example @noindent -In this example, the names of files is mentioned, and in parentheses the -name of the function in that file that was modified. There is no need to -mention the function for m-files that only contain one function. The -commit message should describe what is changed, not why. Any explanation -of why a change is needed should appear as comments in the code, -particularly if there is something that might not be obvious to someone +In this example, the names of the file changed is listed first, and in +parentheses the name of the function in that file that was modified. There +is no need to mention the function for m-files that only contain one function. +The commit message should describe what was changed, not why it was changed. +Any explanation for why a change is needed should appear as comments in the +code, particularly if there is something that might not be obvious to someone reading it later. When submitting code which addresses a known bug on the Octave bug @@ -269,14 +267,14 @@ @end example The preferred comment mark for places that may need further attention is -FIXME. +@code{FIXME:}. @node Octave Sources (m-files) @section Octave Sources (m-files) Don't use tabs. Tabs cause trouble. If you are used to them, set up your editor so that it converts tabs to spaces. Indent the bodies of -the statement blocks. Recommended indent is 2 spaces. When calling +statement blocks. The recommended indent is 2 spaces. When calling functions, put spaces after commas and before the calling parentheses, like this: @@ -285,17 +283,18 @@ @end example @noindent -An exception are matrix and vector constructors: +An exception are matrix or cell constructors: @example [sin(x), cos(x)] + @{sin(x), cos(x)@} @end example @noindent Here, putting spaces after @code{sin}, @code{cos} would result in a -parse error. In indexing expression, do not put a space after the +parse error. For an indexing expression, do not put a space after the identifier (this differentiates indexing and function calls nicely). -The space after comma is not necessary if index expressions are simple, +The space after a comma is not necessary if index expressions are simple, i.e., you may write @example @@ -315,10 +314,10 @@ wisely. Always use a specific end-of-block statement (like @code{endif}, -@code{endswitch}) rather than generic @code{end}. +@code{endswitch}) rather than the generic @code{end}. -Enclose the @code{if}, @code{while}, @code{until} and @code{switch} -conditions in parentheses, like in C: +Enclose the @code{if}, @code{while}, @code{until}, and @code{switch} +conditions in parentheses, as in C: @example @group @@ -361,7 +360,7 @@ You should put a space before the left open parenthesis and after commas, for both function definitions and function calls. -Recommended indent is 2 spaces. When indenting, indent the statement +The recommended indent is 2 spaces. When indenting, indent the statement after control structures (like @code{if}, @code{while}, etc.). If there is a compound statement, indent @emph{both} the curly braces and the body of the statement (so that the body gets indented by @emph{two} @@ -397,12 +396,12 @@ @end example @noindent -Consider putting extra braces around a multiline expression to make it +Consider putting extra braces around a multi-line expression to make it more readable, even if they are not necessary. Also, do not hesitate to put extra braces anywhere if it improves clarity. -Declare variables just before they're needed. Use local variables of -blocks---it helps optimization. Don't write multi-line variable +Declare variables just before they are needed. Use local variables of +blocks---it helps optimization. Don't write a multi-line variable declaration with a single type specification and multiple variables. If the variables don't fit on single line, repeat the type specification. Example: diff -Nru octave-3.8.0/doc/interpreter/contrib.txi octave-3.8.1/doc/interpreter/contrib.txi --- octave-3.8.0/doc/interpreter/contrib.txi 2013-12-27 21:57:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/contrib.txi 2014-03-06 19:37:51.000000000 +0000 @@ -36,10 +36,10 @@ @node How to Contribute @section How to Contribute -The mailing list for Octave development discussion is +The mailing list for Octave development discussions is @email{maintainers@@octave.org}. Patches should be submitted to @url{https://savannah.gnu.org/patch/?func=additem&group=octave, Octave's patch tracker}. -This concerns the development of Octave core, i.e., code that goes to Octave +This concerns the development of Octave core, i.e., code that goes in to Octave directly. You may consider developing and publishing a package instead; a great place for this is the allied Octave-Forge project (@url{http://octave.sourceforge.net}). Note that the Octave core @@ -48,7 +48,7 @@ @node Building the Development Sources @section Building the Development Sources -The directions for building from the Development sources change from +The directions for building from the development sources change from time to time, so you should read the resources for developers on the web or in the development sources archive. Start here: @url{http://www.octave.org/get-involved.html}. @@ -56,8 +56,8 @@ @node Basics of Generating a Changeset @section Basics of Generating a Changeset -The preferable form of contribution is creating a Mercurial changeset -and submit it to the @url{http://savannah.gnu.org/bugs/?group=octave, bug} or +The best way to contribute is to create a Mercurial changeset and submit it to +the @url{http://savannah.gnu.org/bugs/?group=octave, bug} or @url{http://savannah.gnu.org/patch/?func=additem&group=octave, patch} trackers@footnote{Please use the patch tracker only for patches which add new features. If you have a patch to submit that fixes a bug, you should use the @@ -68,7 +68,7 @@ make more contributions, you should really get familiar with Mercurial. A good place to start is @url{http://www.selenic.com/mercurial/wiki/index.cgi/Tutorial}. There -you will also find help how to install Mercurial. +you will also find help about how to install Mercurial. A simple contribution sequence could look like this: @@ -90,7 +90,7 @@ @end example You may want to get familiar with Mercurial queues to manage your -changesets. For working with queues you have to activate the extension +changesets. To work with queues you must activate the extension @nospell{mq} with the following entry in Mercurial's configuration file @file{.hgrc} (or @file{Mercurial.ini} on Windows): @@ -167,7 +167,7 @@ Sometimes a few further improvements for the pager extension are necessary. The following options should not be enabled unless paging -isn't working correctly: +is not working correctly. @example @group @@ -185,13 +185,13 @@ Enabling the described extensions should immediately lead to a difference when using the command line version of @nospell{hg}. Of these options, the only one that enables a new command is @nospell{graphlog}. It is recommanded -that you use the command @code{hg glog} instead of @code{hg log} for a better -feel what commits are being based on. +that to use the command @code{hg glog}, instead of @code{hg log}, for a better +feel about what commits are being based on. @node General Guidelines @section General Guidelines -All Octave's sources are distributed under the General Public License +All Octave's sources are distributed under the GNU General Public License (GPL). Currently, Octave uses GPL version 3. For details about this license, see @url{http://www.gnu.org/licenses/gpl.html}. Therefore, whenever you create a new source file, it should have the following @@ -202,20 +202,18 @@ ## ## This file is part of Octave. ## -## Octave is free software; you can redistribute it and/or -## modify it under the terms of the GNU General Public -## License as published by the Free Software Foundation; -## either version 3 of the License, or (at your option) any -## later version. +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or +## (at your option) any later version. ## -## Octave is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied -## warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -## PURPOSE. See the GNU General Public License for more -## details. +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. ## -## You should have received a copy of the GNU General Public -## License along with Octave; see the file COPYING. If not, +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, ## see . @end example @@ -223,13 +221,13 @@ changes, record and briefly describe the changes in your commit message. You should have previously configured your @file{.hgrc} (or @file{Mercurial.ini} on Windows) with your name and email, which will -get automatically added to your commit message. Your commit message +be automatically added to your commit message. Your commit message should have a brief one-line explanation of what the commit does. If you are patching a bug, this one-line explanation should mention the bug -number at the end. If your change is small and only touches one file, -this is typically sufficient. If you are modifying several files or +number at the end. If your change is small and only touches one file then +this is typically sufficient. If you are modifying several files, or several parts of one file, you should enumerate your changes roughly -following the GNU coding standards on changelogs, like the following +following the GNU coding standards for changelogs, as in the following example: @example @@ -248,12 +246,12 @@ @end example @noindent -In this example, the names of files is mentioned, and in parentheses the -name of the function in that file that was modified. There is no need to -mention the function for m-files that only contain one function. The -commit message should describe what is changed, not why. Any explanation -of why a change is needed should appear as comments in the code, -particularly if there is something that might not be obvious to someone +In this example, the names of the file changed is listed first, and in +parentheses the name of the function in that file that was modified. There +is no need to mention the function for m-files that only contain one function. +The commit message should describe what was changed, not why it was changed. +Any explanation for why a change is needed should appear as comments in the +code, particularly if there is something that might not be obvious to someone reading it later. When submitting code which addresses a known bug on the Octave bug @@ -267,14 +265,14 @@ @end example The preferred comment mark for places that may need further attention is -FIXME. +@code{FIXME:}. @node Octave Sources (m-files) @section Octave Sources (m-files) Don't use tabs. Tabs cause trouble. If you are used to them, set up your editor so that it converts tabs to spaces. Indent the bodies of -the statement blocks. Recommended indent is 2 spaces. When calling +statement blocks. The recommended indent is 2 spaces. When calling functions, put spaces after commas and before the calling parentheses, like this: @@ -283,17 +281,18 @@ @end example @noindent -An exception are matrix and vector constructors: +An exception are matrix or cell constructors: @example [sin(x), cos(x)] + @{sin(x), cos(x)@} @end example @noindent Here, putting spaces after @code{sin}, @code{cos} would result in a -parse error. In indexing expression, do not put a space after the +parse error. For an indexing expression, do not put a space after the identifier (this differentiates indexing and function calls nicely). -The space after comma is not necessary if index expressions are simple, +The space after a comma is not necessary if index expressions are simple, i.e., you may write @example @@ -313,10 +312,10 @@ wisely. Always use a specific end-of-block statement (like @code{endif}, -@code{endswitch}) rather than generic @code{end}. +@code{endswitch}) rather than the generic @code{end}. -Enclose the @code{if}, @code{while}, @code{until} and @code{switch} -conditions in parentheses, like in C: +Enclose the @code{if}, @code{while}, @code{until}, and @code{switch} +conditions in parentheses, as in C: @example @group @@ -359,7 +358,7 @@ You should put a space before the left open parenthesis and after commas, for both function definitions and function calls. -Recommended indent is 2 spaces. When indenting, indent the statement +The recommended indent is 2 spaces. When indenting, indent the statement after control structures (like @code{if}, @code{while}, etc.). If there is a compound statement, indent @emph{both} the curly braces and the body of the statement (so that the body gets indented by @emph{two} @@ -395,12 +394,12 @@ @end example @noindent -Consider putting extra braces around a multiline expression to make it +Consider putting extra braces around a multi-line expression to make it more readable, even if they are not necessary. Also, do not hesitate to put extra braces anywhere if it improves clarity. -Declare variables just before they're needed. Use local variables of -blocks---it helps optimization. Don't write multi-line variable +Declare variables just before they are needed. Use local variables of +blocks---it helps optimization. Don't write a multi-line variable declaration with a single type specification and multiple variables. If the variables don't fit on single line, repeat the type specification. Example: diff -Nru octave-3.8.0/doc/interpreter/contributors.in octave-3.8.1/doc/interpreter/contributors.in --- octave-3.8.0/doc/interpreter/contributors.in 2013-12-27 21:57:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/contributors.in 2014-03-06 19:37:51.000000000 +0000 @@ -133,7 +133,7 @@ Mumit Khan Paul Kienzle Aaron A. King -Erik Kjelsson +Erik Kjellson Arno J. Klaassen Alexander Klein Geoffrey Knauth diff -Nru octave-3.8.0/doc/interpreter/contributors.texi octave-3.8.1/doc/interpreter/contributors.texi --- octave-3.8.0/doc/interpreter/contributors.texi 2013-12-27 22:12:00.000000000 +0000 +++ octave-3.8.1/doc/interpreter/contributors.texi 2014-03-06 19:53:56.000000000 +0000 @@ -44,7 +44,7 @@ @item Jarkko Kaleva @tab Mohamed Kamoun @tab Lute Kamstra @item Fotios Kasolis @tab Thomas Kasper @tab Joel Keay @item Mumit Khan @tab Paul Kienzle @tab Aaron A. King -@item Erik Kjelsson @tab Arno J. Klaassen @tab Alexander Klein +@item Erik Kjellson @tab Arno J. Klaassen @tab Alexander Klein @item Geoffrey Knauth @tab Heine Kolltveit @tab Ken Kouno @item Kacper Kowalik @tab Daniel Kraft @tab Nir Krakauer @item Aravindh Krishnamoorthy @tab Oyvind Kristiansen @tab Artem Krosheninnikov diff -Nru octave-3.8.0/doc/interpreter/convhull.eps octave-3.8.1/doc/interpreter/convhull.eps --- octave-3.8.0/doc/interpreter/convhull.eps 2013-12-27 22:12:04.000000000 +0000 +++ octave-3.8.1/doc/interpreter/convhull.eps 2014-03-06 19:53:59.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: convhull.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:04 2013 +%%CreationDate: Thu Mar 6 14:53:59 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:04 2013) + /CreationDate (Thu Mar 6 14:53:59 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/convhull.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/convhull.pdf differ diff -Nru octave-3.8.0/doc/interpreter/data.texi octave-3.8.1/doc/interpreter/data.texi --- octave-3.8.0/doc/interpreter/data.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/data.texi 2014-03-06 19:53:58.000000000 +0000 @@ -40,8 +40,9 @@ @deftypefnx {Built-in Function} {} typeinfo (@var{expr}) Return the type of the expression @var{expr}, as a string. If -@var{expr} is omitted, return an cell array of strings containing all the +@var{expr} is omitted, return a cell array of strings containing all the currently installed data types. +@seealso{@ref{XREFclass,,class}, @ref{XREFisa,,isa}} @end deftypefn diff -Nru octave-3.8.0/doc/interpreter/debug.texi octave-3.8.1/doc/interpreter/debug.texi --- octave-3.8.0/doc/interpreter/debug.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/debug.texi 2014-03-06 19:53:58.000000000 +0000 @@ -46,10 +46,10 @@ There are two basic means of interrupting the execution of an Octave script. These are breakpoints (@pxref{Breakpoints}), discussed in the next -section and interruption based on some condition. +section, and interruption based on some condition. Octave supports three means to stop execution based on the values set in -the functions @code{debug_on_interrupt}, @code{debug_on_warning} and +the functions @code{debug_on_interrupt}, @code{debug_on_warning}, and @code{debug_on_error}. @c debug_on_interrupt libinterp/corefcn/sighandlers.cc @@ -104,8 +104,8 @@ @node Leaving Debug Mode @section Leaving Debug Mode -To leave the debug mode, use either @code{dbcont} -or @code{return}. +Use either @code{dbcont} or @code{return} to leave the debug mode and +continue the normal execution of the script. @c dbcont libinterp/corefcn/debug.cc @anchor{XREFdbcont} @@ -115,8 +115,8 @@ @end deftypefn -To quit debug mode and return directly to the prompt @code{dbquit} -should be used instead +To quit debug mode and return directly to the prompt without executing +any additional code use @code{dbquit}. @c dbquit libinterp/corefcn/debug.cc @anchor{XREFdbquit} @@ -133,7 +133,7 @@ @node Breakpoints @section Breakpoints -Breakpoints can be set in any Octave function, using the @code{dbstop} +Breakpoints can be set in any m-file function by using the @code{dbstop} function. @c dbstop libinterp/corefcn/debug.cc @@ -168,12 +168,15 @@ @noindent -Note that breakpoints cannot be set in built-in functions -(e.g., @code{sin}, etc.) or dynamically loaded function (i.e., oct-files). To -set a breakpoint immediately on entering a function, the breakpoint -should be set to line 1. The leading comment block will be ignored and -the breakpoint will be set to the first executable statement in the -function. For example: +Breakpoints in class methods are also supported (e.g., +@code{dbstop ("@@class/method")}). However, breakpoints cannot be set in +built-in functions (e.g., @code{sin}, etc.) or dynamically loaded functions +(i.e., oct-files). + +To set a breakpoint immediately upon entering a function use line number 1, or +omit the line number entirely and just give the function name. When setting +the breakpoint Octave will ignore the leading comment block, and the breakpoint +will be set on the first executable statement in the function. For example: @example @group @@ -185,7 +188,7 @@ @noindent Note that the return value of @code{29} means that the breakpoint was effectively set to line 29. The status of breakpoints in a function can -be queried with the @code{dbstatus} function. +be queried with @code{dbstatus}. @c dbstatus libinterp/corefcn/debug.cc @anchor{XREFdbstatus} @@ -252,12 +255,6 @@ @noindent -These functions can be used together to clear all the breakpoints in a -particular function. For example: - -@example -dbclear ("asind", dbstatus ("asind")); -@end example A breakpoint may also be set in a subfunction. For example, if a file contains the functions @@ -274,8 +271,7 @@ @end example @noindent -then a breakpoint can be set at the start of the subfunction directly -with +then a breakpoint can be set at the start of the subfunction directly with @example @group @@ -284,8 +280,14 @@ @end group @end example -Note that @code{filemarker} returns a character that marks the -subfunctions from the file containing them. +Note that @code{filemarker} returns the character that marks subfunctions from +the file containing them. Unless the default has been changed this character +is @samp{>}. Thus, a quicker and more normal way to set the breakpoint would +be + +@example +dbstop func1>func2 +@end example Another simple way of setting a breakpoint in an Octave script is the use of the @code{keyboard} function. @@ -309,16 +311,16 @@ @noindent -The @code{keyboard} function is typically placed in a script at the -point where the user desires that the execution be stopped. It -automatically sets the running script into the debug mode. +The @code{keyboard} function is placed in a script at the point where the user +desires that the execution be stopped. It automatically sets the running +script into the debug mode. @node Debug Mode @section Debug Mode There are three additional support functions that allow the user to -interrogate where in the execution of a script Octave entered the debug -mode and to print the code in the script surrounding the point where +find out where in the execution of a script Octave entered the debug +mode, and to print the code in the script surrounding the point where Octave entered debug mode. @c dbwhere libinterp/corefcn/debug.cc @@ -399,14 +401,21 @@ @end deftypefn -When in debug mode the @key{RETURN} will execute the last entered command. +When in debug mode the @key{RETURN} key will execute the last entered command. This is useful, for example, after hitting a breakpoint and entering -@code{dbstep}. After that one can advance line by line through the code +@code{dbstep} once. After that, one can advance line by line through the code with only a single key stroke. @node Call Stack @section Call Stack +The function being debugged may be the leaf node of a series of function calls. +After examining values in the current subroutine it may turn out that the +problem occurred in earlier pieces of code. Use @code{dbup} and @code{dbdown} +to move up and down through the series of function calls to locate where +variables first took on the wrong values. @code{dbstack} shows the entire +series of function calls and at what level debugging is currently taking place. + @c dbstack libinterp/corefcn/debug.cc @anchor{XREFdbstack} @deftypefn {Command} {} dbstack diff -Nru octave-3.8.0/doc/interpreter/debug.txi octave-3.8.1/doc/interpreter/debug.txi --- octave-3.8.0/doc/interpreter/debug.txi 2013-12-27 21:57:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/debug.txi 2014-03-06 19:37:51.000000000 +0000 @@ -44,10 +44,10 @@ There are two basic means of interrupting the execution of an Octave script. These are breakpoints (@pxref{Breakpoints}), discussed in the next -section and interruption based on some condition. +section, and interruption based on some condition. Octave supports three means to stop execution based on the values set in -the functions @code{debug_on_interrupt}, @code{debug_on_warning} and +the functions @code{debug_on_interrupt}, @code{debug_on_warning}, and @code{debug_on_error}. @DOCSTRING(debug_on_interrupt) @@ -59,13 +59,13 @@ @node Leaving Debug Mode @section Leaving Debug Mode -To leave the debug mode, use either @code{dbcont} -or @code{return}. +Use either @code{dbcont} or @code{return} to leave the debug mode and +continue the normal execution of the script. @DOCSTRING(dbcont) -To quit debug mode and return directly to the prompt @code{dbquit} -should be used instead +To quit debug mode and return directly to the prompt without executing +any additional code use @code{dbquit}. @DOCSTRING(dbquit) @@ -75,18 +75,21 @@ @node Breakpoints @section Breakpoints -Breakpoints can be set in any Octave function, using the @code{dbstop} +Breakpoints can be set in any m-file function by using the @code{dbstop} function. @DOCSTRING(dbstop) @noindent -Note that breakpoints cannot be set in built-in functions -(e.g., @code{sin}, etc.) or dynamically loaded function (i.e., oct-files). To -set a breakpoint immediately on entering a function, the breakpoint -should be set to line 1. The leading comment block will be ignored and -the breakpoint will be set to the first executable statement in the -function. For example: +Breakpoints in class methods are also supported (e.g., +@code{dbstop ("@@class/method")}). However, breakpoints cannot be set in +built-in functions (e.g., @code{sin}, etc.) or dynamically loaded functions +(i.e., oct-files). + +To set a breakpoint immediately upon entering a function use line number 1, or +omit the line number entirely and just give the function name. When setting +the breakpoint Octave will ignore the leading comment block, and the breakpoint +will be set on the first executable statement in the function. For example: @example @group @@ -98,7 +101,7 @@ @noindent Note that the return value of @code{29} means that the breakpoint was effectively set to line 29. The status of breakpoints in a function can -be queried with the @code{dbstatus} function. +be queried with @code{dbstatus}. @DOCSTRING(dbstatus) @@ -110,12 +113,6 @@ @DOCSTRING(dbclear) @noindent -These functions can be used together to clear all the breakpoints in a -particular function. For example: - -@example -dbclear ("asind", dbstatus ("asind")); -@end example A breakpoint may also be set in a subfunction. For example, if a file contains the functions @@ -132,8 +129,7 @@ @end example @noindent -then a breakpoint can be set at the start of the subfunction directly -with +then a breakpoint can be set at the start of the subfunction directly with @example @group @@ -142,8 +138,14 @@ @end group @end example -Note that @code{filemarker} returns a character that marks the -subfunctions from the file containing them. +Note that @code{filemarker} returns the character that marks subfunctions from +the file containing them. Unless the default has been changed this character +is @samp{>}. Thus, a quicker and more normal way to set the breakpoint would +be + +@example +dbstop func1>func2 +@end example Another simple way of setting a breakpoint in an Octave script is the use of the @code{keyboard} function. @@ -151,16 +153,16 @@ @DOCSTRING(keyboard) @noindent -The @code{keyboard} function is typically placed in a script at the -point where the user desires that the execution be stopped. It -automatically sets the running script into the debug mode. +The @code{keyboard} function is placed in a script at the point where the user +desires that the execution be stopped. It automatically sets the running +script into the debug mode. @node Debug Mode @section Debug Mode There are three additional support functions that allow the user to -interrogate where in the execution of a script Octave entered the debug -mode and to print the code in the script surrounding the point where +find out where in the execution of a script Octave entered the debug +mode, and to print the code in the script surrounding the point where Octave entered debug mode. @DOCSTRING(dbwhere) @@ -179,14 +181,21 @@ @DOCSTRING(dbstep) -When in debug mode the @key{RETURN} will execute the last entered command. +When in debug mode the @key{RETURN} key will execute the last entered command. This is useful, for example, after hitting a breakpoint and entering -@code{dbstep}. After that one can advance line by line through the code +@code{dbstep} once. After that, one can advance line by line through the code with only a single key stroke. @node Call Stack @section Call Stack +The function being debugged may be the leaf node of a series of function calls. +After examining values in the current subroutine it may turn out that the +problem occurred in earlier pieces of code. Use @code{dbup} and @code{dbdown} +to move up and down through the series of function calls to locate where +variables first took on the wrong values. @code{dbstack} shows the entire +series of function calls and at what level debugging is currently taking place. + @DOCSTRING(dbstack) @DOCSTRING(dbup) diff -Nru octave-3.8.0/doc/interpreter/delaunay.eps octave-3.8.1/doc/interpreter/delaunay.eps --- octave-3.8.0/doc/interpreter/delaunay.eps 2013-12-27 22:12:04.000000000 +0000 +++ octave-3.8.1/doc/interpreter/delaunay.eps 2014-03-06 19:54:00.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: delaunay.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:04 2013 +%%CreationDate: Thu Mar 6 14:54:00 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:04 2013) + /CreationDate (Thu Mar 6 14:54:00 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/delaunay.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/delaunay.pdf differ diff -Nru octave-3.8.0/doc/interpreter/diagperm.texi octave-3.8.1/doc/interpreter/diagperm.texi --- octave-3.8.0/doc/interpreter/diagperm.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/diagperm.texi 2014-03-06 19:53:58.000000000 +0000 @@ -20,6 +20,8 @@ @node Diagonal and Permutation Matrices @chapter Diagonal and Permutation Matrices +@cindex diagonal and permutation matrices +@cindex matrices, diagonal and permutation @menu * Basic Usage:: Creation and Manipulation of Diagonal/Permutation Matrices @@ -226,6 +228,7 @@ @node Expressions Involving Diagonal Matrices @subsection Expressions Involving Diagonal Matrices +@cindex diagonal matrix expressions Assume @var{D} is a diagonal matrix. If @var{M} is a full matrix, then @code{D*M} will scale the rows of @var{M}. That means, @@ -262,6 +265,7 @@ i.e., null rows are appended to the result. The situation for right-multiplication @code{M*D} is analogous. +@cindex pseudoinverse The expressions @code{D \ M} and @code{M / D} perform inverse scaling. They are equivalent to solving a diagonal (or rectangular diagonal) in a least-squares minimum-norm sense. In exact arithmetic, this is @@ -272,12 +276,12 @@ The matrix division algorithms do, in fact, use division rather than multiplication by reciprocals for better numerical accuracy; otherwise, they honor the above definition. Note that a diagonal matrix is never truncated due -to ill-conditioning; otherwise, it would not be much useful for scaling. This +to ill-conditioning; otherwise, it would not be of much use for scaling. This is typically consistent with linear algebra needs. A full matrix that only -happens to be diagonal (an is thus not a special object) is of course treated +happens to be diagonal (and is thus not a special object) is of course treated normally. -Multiplication and division by diagonal matrices works efficiently also when +Multiplication and division by diagonal matrices work efficiently also when combined with sparse matrices, i.e., @code{D*S}, where @var{D} is a diagonal matrix and @var{S} is a sparse matrix scales the rows of the sparse matrix and returns a sparse matrix. The expressions @code{S*D}, @code{D\S}, @code{S/D} @@ -401,6 +405,8 @@ @node Permutation Matrix Functions @subsection Permutation Matrix Functions +@cindex matrix, permutation functions +@cindex permutation matrix functions @dfn{inv} and @dfn{pinv} will invert a permutation matrix, preserving its specialness. @dfn{det} can be applied to a permutation matrix, efficiently @@ -457,7 +463,7 @@ @end example @noindent -Finally, here's how you solve a linear system @code{A*x = b} +Finally, here's how to solve a linear system @code{A*x = b} with Tikhonov regularization (ridge regression) using SVD (a skeleton only): @example @@ -479,16 +485,17 @@ @node Zeros Treatment @section Differences in Treatment of Zero Elements +@cindex matrix, zero elements Making diagonal and permutation matrices special matrix objects in their own right and the consequent usage of smarter algorithms for certain operations implies, as a side effect, small differences in treating zeros. -The contents of this section applies also to sparse matrices, discussed in -the following chapter. +The contents of this section apply also to sparse matrices, discussed in +the following chapter. (@pxref{Sparse Matrices}) -The IEEE standard defines the result of the expressions @code{0*Inf} and -@code{0*NaN} as @code{NaN}, as it has been generally agreed that this is the -best compromise. +The IEEE floating point standard defines the result of the expressions @code{0*Inf} and +@code{0*NaN} as @code{NaN}. This is widely agreed to be a good +compromise. Numerical software dealing with structured and sparse matrices (including Octave) however, almost always makes a distinction between a "numerical zero" and an "assumed zero". diff -Nru octave-3.8.0/doc/interpreter/diagperm.txi octave-3.8.1/doc/interpreter/diagperm.txi --- octave-3.8.0/doc/interpreter/diagperm.txi 2013-12-27 21:57:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/diagperm.txi 2014-03-06 19:37:51.000000000 +0000 @@ -18,6 +18,8 @@ @node Diagonal and Permutation Matrices @chapter Diagonal and Permutation Matrices +@cindex diagonal and permutation matrices +@cindex matrices, diagonal and permutation @menu * Basic Usage:: Creation and Manipulation of Diagonal/Permutation Matrices @@ -224,6 +226,7 @@ @node Expressions Involving Diagonal Matrices @subsection Expressions Involving Diagonal Matrices +@cindex diagonal matrix expressions Assume @var{D} is a diagonal matrix. If @var{M} is a full matrix, then @code{D*M} will scale the rows of @var{M}. That means, @@ -260,6 +263,7 @@ i.e., null rows are appended to the result. The situation for right-multiplication @code{M*D} is analogous. +@cindex pseudoinverse The expressions @code{D \ M} and @code{M / D} perform inverse scaling. They are equivalent to solving a diagonal (or rectangular diagonal) in a least-squares minimum-norm sense. In exact arithmetic, this is @@ -270,12 +274,12 @@ The matrix division algorithms do, in fact, use division rather than multiplication by reciprocals for better numerical accuracy; otherwise, they honor the above definition. Note that a diagonal matrix is never truncated due -to ill-conditioning; otherwise, it would not be much useful for scaling. This +to ill-conditioning; otherwise, it would not be of much use for scaling. This is typically consistent with linear algebra needs. A full matrix that only -happens to be diagonal (an is thus not a special object) is of course treated +happens to be diagonal (and is thus not a special object) is of course treated normally. -Multiplication and division by diagonal matrices works efficiently also when +Multiplication and division by diagonal matrices work efficiently also when combined with sparse matrices, i.e., @code{D*S}, where @var{D} is a diagonal matrix and @var{S} is a sparse matrix scales the rows of the sparse matrix and returns a sparse matrix. The expressions @code{S*D}, @code{D\S}, @code{S/D} @@ -399,6 +403,8 @@ @node Permutation Matrix Functions @subsection Permutation Matrix Functions +@cindex matrix, permutation functions +@cindex permutation matrix functions @dfn{inv} and @dfn{pinv} will invert a permutation matrix, preserving its specialness. @dfn{det} can be applied to a permutation matrix, efficiently @@ -455,7 +461,7 @@ @end example @noindent -Finally, here's how you solve a linear system @code{A*x = b} +Finally, here's how to solve a linear system @code{A*x = b} with Tikhonov regularization (ridge regression) using SVD (a skeleton only): @example @@ -477,16 +483,17 @@ @node Zeros Treatment @section Differences in Treatment of Zero Elements +@cindex matrix, zero elements Making diagonal and permutation matrices special matrix objects in their own right and the consequent usage of smarter algorithms for certain operations implies, as a side effect, small differences in treating zeros. -The contents of this section applies also to sparse matrices, discussed in -the following chapter. +The contents of this section apply also to sparse matrices, discussed in +the following chapter. (@pxref{Sparse Matrices}) -The IEEE standard defines the result of the expressions @code{0*Inf} and -@code{0*NaN} as @code{NaN}, as it has been generally agreed that this is the -best compromise. +The IEEE floating point standard defines the result of the expressions @code{0*Inf} and +@code{0*NaN} as @code{NaN}. This is widely agreed to be a good +compromise. Numerical software dealing with structured and sparse matrices (including Octave) however, almost always makes a distinction between a "numerical zero" and an "assumed zero". diff -Nru octave-3.8.0/doc/interpreter/doc-cache octave-3.8.1/doc/interpreter/doc-cache --- octave-3.8.0/doc/interpreter/doc-cache 2013-12-27 22:12:54.000000000 +0000 +++ octave-3.8.1/doc/interpreter/doc-cache 2014-03-06 19:54:53.000000000 +0000 @@ -1,4 +1,4 @@ -# doc-cache created by Octave 3.8.0, Fri Dec 27 17:12:54 2013 EST +# doc-cache created by Octave 3.8.1, Thu Mar 06 14:54:53 2014 EST # name: cache # type: cell # rows: 3 @@ -3087,7 +3087,7 @@ # name: # type: sq_string # elements: 1 -# length: 665 +# length: 696 -- Function File: NAMES = fieldnames (STRUCT) -- Function File: NAMES = fieldnames (OBJ) -- Function File: NAMES = fieldnames (JAVAOBJ) @@ -3105,7 +3105,7 @@ JCLASSNAME the name are the public data elements of the object or class. - See also: struct, methods. + See also: nfields, isfield, orderfields, struct, methods. @@ -3395,22 +3395,26 @@ # name: # type: sq_string # elements: 1 -# length: 2876 +# length: 3061 -- Function File: YI = interp1 (X, Y, XI) -- Function File: YI = interp1 (Y, XI) -- Function File: YI = interp1 (..., METHOD) -- Function File: YI = interp1 (..., EXTRAP) + -- Function File: YI = interp1 (..., "left") + -- Function File: YI = interp1 (..., "right") -- Function File: PP = interp1 (..., "pp") - One-dimensional interpolation. Interpolates to determine the value - of YI at the points, XI. If not specified, X is taken to be the - indices of Y. If Y is a matrix or an N-dimensional array, the - interpolation is performed on each column of Y. + One-dimensional interpolation. + + Interpolate input data to determine the value of YI at the points + XI. If not specified, X is taken to be the indices of Y. If Y is + a matrix or an N-dimensional array, the interpolation is performed + on each column of Y. Method is one of: "nearest" - Return the nearest neighbor. + Return the nearest neighbor "linear" Linear interpolation from nearest neighbors @@ -3425,28 +3429,29 @@ Cubic spline interpolation--smooth first and second derivatives throughout the curve - Appending '*' to the start of the above method forces 'interp1' to + Adding '*' to the start of any method above forces 'interp1' to assume that X is uniformly spaced, and only 'X(1)' and 'X(2)' are referenced. This is usually faster, and is never slower. The default method is "linear". If EXTRAP is the string "extrap", then extrapolate values beyond - the endpoints. If EXTRAP is a number, replace values beyond the - endpoints with that number. If EXTRAP is missing, assume NA. + the endpoints using the current METHOD. If EXTRAP is a number, + then replace values beyond the endpoints with that number. When + unspecified, EXTRAP defaults to NA. If the string argument "pp" is specified, then XI should not be - supplied and 'interp1' returns the piecewise polynomial that can - later be used with 'ppval' to evaluate the interpolation. There is - an equivalence, such that 'ppval (interp1 (X, Y, METHOD, "pp"), XI) - == interp1 (X, Y, XI, METHOD, "extrap")'. + supplied and 'interp1' returns a piecewise polynomial object. This + object can later be used with 'ppval' to evaluate the + interpolation. There is an equivalence, such that 'ppval (interp1 + (X, Y, METHOD, "pp"), XI) == interp1 (X, Y, XI, METHOD, "extrap")'. Duplicate points in X specify a discontinuous interpolant. There may be at most 2 consecutive points with the same value. If X is increasing, the default discontinuous interpolant is right-continuous. If X is decreasing, the default discontinuous interpolant is left-continuous. The continuity condition of the - interpolant may be specified by using the options, "-left" or - "-right", to select a left-continuous or right-continuous + interpolant may be specified by using the options, "left" or + "right", to select a left-continuous or right-continuous interpolant, respectively. Discontinuous interpolation is only allowed for "nearest" and "linear" methods; in all other cases, the X-values must be unique. @@ -3465,7 +3470,7 @@ xf, cub, "c", xf, near, "m", xp, yp, "r*"); legend ("original", "linear", "spline", "cubic", "nearest"); - See also: interpft. + See also: interpft, interp2, interp3, interpn. @@ -6982,7 +6987,7 @@ # name: # type: sq_string # elements: 1 -# length: 480 +# length: 481 -- Function File: doc_cache_create (OUT_FILE, DIRECTORY) Generate documentation caches for all functions in a given directory. @@ -6992,7 +6997,7 @@ used to speed up 'lookfor'. If no directory is given (or it is the empty matrix), a cache for - builtin operators, etc. is generated. + built-in operators, etc. is generated. See also: doc_cache_file, lookfor, path. @@ -11327,7 +11332,7 @@ # name: # type: sq_string # elements: 1 -# length: 2099 +# length: 2209 -- Function File: debug () Summary of debugging commands. For more information on each command and available options use 'help CMD'. @@ -11348,8 +11353,12 @@ stopped. 'dbtype' - List the function where execution is currently stopped, - enumerating the line numbers. + Display the code of the function being debugged, enumerating + the line numbers. + + 'dblist' + List 10 lines of code centered around the line number where + execution is stopped. 'dbstep' 'dbnext' @@ -12032,7 +12041,7 @@ syntax is the same as 'setfield', except it omits the final VAL argument, returning this value instead of setting it. - See also: setfield, rmfield, isfield, isstruct, fieldnames, struct. + See also: setfield, rmfield, isfield, fieldnames, isstruct, struct. @@ -12547,9 +12556,9 @@ # name: # type: sq_string # elements: 1 -# length: 3852 +# length: 4216 -- Command: mkoctfile [-options] file ... - -- Function File: [OUTPUT, STATUS = mkoctfile (...) + -- Function File: [OUTPUT, STATUS] = mkoctfile (...) The 'mkoctfile' function compiles source code written in C, C++, or Fortran. Depending on the options used with 'mkoctfile', the @@ -12607,30 +12616,33 @@ Print the configuration variable VAR. Recognized variables are: - ALL_CFLAGS FFTW3F_LIBS - ALL_CXXFLAGS FLIBS - ALL_FFLAGS FPICFLAG - ALL_LDFLAGS INCFLAGS - BLAS_LIBS LAPACK_LIBS - CC LDFLAGS - CFLAGS LD_CXX - CPICFLAG LD_STATIC_FLAG - CPPFLAGS LFLAGS - CXX LIBOCTAVE - CXXFLAGS LIBOCTINTERP - CXXPICFLAG LIBS - DEPEND_EXTRA_SED_PATTERN OCTAVE_LIBS - DEPEND_FLAGS OCTAVE_LINK_DEPS - DL_LD OCT_LINK_DEPS - DL_LDFLAGS RDYNAMIC_FLAG - EXEEXT READLINE_LIBS - F77 SED - F77_INTEGER_8_FLAG XTRA_CFLAGS - FFLAGS XTRA_CXXFLAGS - FFTW3_LDFLAGS - FFTW3_LIBS - FFTW3F_LDFLAGS - + ALL_CFLAGS INCFLAGS + ALL_CXXFLAGS INCLUDEDIR + ALL_FFLAGS LAPACK_LIBS + ALL_LDFLAGS LD_CXX + AR LDFLAGS + BLAS_LIBS LD_STATIC_FLAG + CC LFLAGS + CFLAGS LIBDIR + CPICFLAG LIBOCTAVE + CPPFLAGS LIBOCTINTERP + CXX LIBS + CXXFLAGS OCTAVE_HOME + CXXPICFLAG OCTAVE_LIBS + DEPEND_EXTRA_SED_PATTERN OCTAVE_LINK_DEPS + DEPEND_FLAGS OCTAVE_LINK_OPTS + DL_LD OCTAVE_PREFIX + DL_LDFLAGS OCTINCLUDEDIR + F77 OCTLIBDIR + F77_INTEGER8_FLAG OCT_LINK_DEPS + FFLAGS OCT_LINK_OPTS + FFTW3F_LDFLAGS RANLIB + FFTW3F_LIBS RDYNAMIC_FLAG + FFTW3_LDFLAGS READLINE_LIBS + FFTW3_LIBS SED + FFTW_LIBS SPECIAL_MATH_LIB + FLIBS XTRA_CFLAGS + FPICFLAG XTRA_CXXFLAGS '--link-stand-alone' Link a stand-alone executable file. @@ -13246,7 +13258,7 @@ SA.foo = 1; SA(2).bar(3).baz = 6 - See also: getfield, rmfield, isfield, isstruct, fieldnames, struct. + See also: getfield, rmfield, isfield, fieldnames, isstruct, struct. @@ -18520,42 +18532,73 @@ # name: # type: sq_string # elements: 1 -# length: 2576 - -- Function File: errorbar (ARGS) +# length: 4384 + -- Function File: errorbar (Y, EY) + -- Function File: errorbar (Y, ..., FMT) + -- Function File: errorbar (X, Y, EY) + -- Function File: errorbar (X, Y, ERR, FMT) + -- Function File: errorbar (X, Y, LERR, UERR, FMT) + -- Function File: errorbar (X, Y, EX, EY, FMT) + -- Function File: errorbar (X, Y, LX, UX, LY, UY, FMT) + -- Function File: errorbar (X1, Y1, ..., FMT, XN, YN, ...) -- Function File: errorbar (HAX, ...) -- Function File: H = errorbar (...) - Create a 2-D with errorbars. + Create a 2-D plot with errorbars. Many different combinations of arguments are possible. The simplest form is errorbar (Y, EY) - where the first argument is taken as the set of Y coordinates and - the second argument EY is taken as the errors of the Y values. X - coordinates are taken to be the indices of the elements, starting - with 1. - - If more than two arguments are given, they are interpreted as - - errorbar (X, Y, ..., FMT, ...) - - where after X and Y there can be up to four error parameters such - as EY, EX, LY, UY, etc., depending on the plot type. Any number of - argument sets may appear, as long as they are separated with a - format string FMT. - - If Y is a matrix, X and error parameters must also be matrices - having same dimensions. The columns of Y are plotted versus the - corresponding columns of X and errorbars are drawn from the - corresponding columns of error parameters. - - If FMT is missing, yerrorbars ("~") plot style is assumed. - - If the FMT argument is supplied, it is interpreted as in normal - plots. In addition, FMT may include an errorbar style which must - precede the line and marker format. The following plot styles are - supported by errorbar: + where the first argument is taken as the set of Y coordinates, the + second argument EY are the errors around the Y values, and the X + coordinates are taken to be the indices of the elements ('1:numel + (Y)'). + + The general form of the function is + + errorbar (X, Y, ERR1, ..., FMT, ...) + + After the X and Y arguments there can be 1, 2, or 4 parameters + specifying the error values depending on the nature of the error + values and the plot format FMT. + + ERR (scalar) + When the error is a scalar all points share the same error + value. The errorbars are symmetric and are drawn from + DATA-ERR to DATA+ERR. The FMT argument determines whether ERR + is in the x-direction, y-direction (default), or both. + + ERR (vector or matrix) + Each data point has a particular error value. The errorbars + are symmetric and are drawn from DATA(n)-ERR(n) to + DATA(n)+ERR(n). + + LERR, UERR (scalar) + The errors have a single low-side value and a single + upper-side value. The errorbars are not symmetric and are + drawn from DATA-LERR to DATA+UERR. + + LERR, UERR (vector or matrix) + Each data point has a low-side error and an upper-side error. + The errorbars are not symmetric and are drawn from + DATA(n)-LERR(n) to DATA(n)+UERR(n). + + Any number of data sets (X1,Y1, X2,Y2, ...) may appear as long as + they are separated by a format string FMT. + + If Y is a matrix, X and the error parameters must also be matrices + having the same dimensions. The columns of Y are plotted versus + the corresponding columns of X and errorbars are taken from the + corresponding columns of the error parameters. + + If FMT is missing, the yerrorbars ("~") plot style is assumed. + + If the FMT argument is supplied then it is interpreted, as in + normal plots, to specify the line style, marker, and color. In + addition, FMT may include an errorbar style which *must precede* + the ordinary format codes. The following errorbar styles are + supported: '~' Set yerrorbars plot style (default). @@ -18566,14 +18609,14 @@ '~>' Set xyerrorbars plot style. - '#' - Set boxes plot style. - '#~' - Set boxerrorbars plot style. + Set yboxes plot style. + + '#' + Set xboxes plot style. '#~>' - Set boxxyerrorbars plot style. + Set xyboxes plot style. If the first argument HAX is an axes handle, then plot into this axis, rather than the current axes returned by 'gca'. @@ -18581,12 +18624,20 @@ The optional return value H is a handle to the hggroup object representing the data plot and errorbars. + Note: For compatibility with MATLAB a line is drawn through all + data points. However, most scientific errorbar plots are a scatter + plot of points with errorbars. To accomplish this, add a marker + style to the FMT argument such as ".". Alternatively, remove the + line by modifying the returned graphic handle with 'set (h, + "linestyle", "none")'. + Examples: - errorbar (X, Y, EX, ">") + errorbar (X, Y, EX, ">.r") produces an xerrorbar plot of Y versus X with X errorbars drawn - from X-EX to X+EX. + from X-EX to X+EX. The marker "." is used so no connecting line + is drawn and the errorbars appear in red. errorbar (X, Y1, EY, "~", X, Y2, LY, UY) @@ -18608,8 +18659,8 @@ # name: # type: sq_string # elements: 1 -# length: 28 -Create a 2-D with errorbars. +# length: 33 +Create a 2-D plot with errorbars. @@ -19748,8 +19799,15 @@ # name: # type: sq_string # elements: 1 -# length: 725 - -- Function File: loglogerr (ARGS) +# length: 1075 + -- Function File: loglogerr (Y, EY) + -- Function File: loglogerr (Y, ..., FMT) + -- Function File: loglogerr (X, Y, EY) + -- Function File: loglogerr (X, Y, ERR, FMT) + -- Function File: loglogerr (X, Y, LERR, UERR, FMT) + -- Function File: loglogerr (X, Y, EX, EY, FMT) + -- Function File: loglogerr (X, Y, LX, UX, LY, UY, FMT) + -- Function File: loglogerr (X1, Y1, ..., FMT, XN, YN, ...) -- Function File: loglogerr (HAX, ...) -- Function File: H = loglogerr (...) Produce 2-D plots on a double logarithm axis with errorbars. @@ -21167,10 +21225,17 @@ # name: # type: sq_string # elements: 1 -# length: 770 - -- Function File: semilogxerr (ARGS) - -- Function File: semilogxerr (HAX, ARGS) - -- Function File: H = semilogxerr (ARGS) +# length: 1132 + -- Function File: semilogxerr (Y, EY) + -- Function File: semilogxerr (Y, ..., FMT) + -- Function File: semilogxerr (X, Y, EY) + -- Function File: semilogxerr (X, Y, ERR, FMT) + -- Function File: semilogxerr (X, Y, LERR, UERR, FMT) + -- Function File: semilogxerr (X, Y, EX, EY, FMT) + -- Function File: semilogxerr (X, Y, LX, UX, LY, UY, FMT) + -- Function File: semilogxerr (X1, Y1, ..., FMT, XN, YN, ...) + -- Function File: semilogxerr (HAX, ...) + -- Function File: H = semilogxerr (...) Produce 2-D plots using a logarithmic scale for the x-axis and errorbars at each data point. @@ -21249,10 +21314,17 @@ # name: # type: sq_string # elements: 1 -# length: 770 - -- Function File: semilogyerr (ARGS) - -- Function File: semilogyerr (HAX, ARGS) - -- Function File: H = semilogyerr (ARGS) +# length: 1132 + -- Function File: semilogyerr (Y, EY) + -- Function File: semilogyerr (Y, ..., FMT) + -- Function File: semilogyerr (X, Y, EY) + -- Function File: semilogyerr (X, Y, ERR, FMT) + -- Function File: semilogyerr (X, Y, LERR, UERR, FMT) + -- Function File: semilogyerr (X, Y, EX, EY, FMT) + -- Function File: semilogyerr (X, Y, LX, UX, LY, UY, FMT) + -- Function File: semilogyerr (X1, Y1, ..., FMT, XN, YN, ...) + -- Function File: semilogyerr (HAX, ...) + -- Function File: H = semilogyerr (...) Produce 2-D plots using a logarithmic scale for the y-axis and errorbars at each data point. @@ -23455,14 +23527,14 @@ # name: # type: sq_string # elements: 1 -# length: 282 +# length: 302 -- Function File: RES = isprop (H, "PROP") Return true if PROP is a property of the object with handle H. H may also be an array of handles in which case RES will be a logical array indicating whether each handle has the property PROP. - See also: get, set. + See also: get, set, ismethod, isobject. @@ -26517,8 +26589,11 @@ # name: # type: sq_string # elements: 1 -# length: 1328 +# length: 1463 -- Function File: [H, W] = freqz (B, A, N, "whole") + -- Function File: [H, W] = freqz (B) + -- Function File: [H, W] = freqz (B, A) + -- Function File: [H, W] = freqz (B, A, N) -- Function File: H = freqz (B, A, W) -- Function File: [...] = freqz (..., FS) -- Function File: freqz (...) @@ -26533,10 +26608,8 @@ If A is omitted, the denominator is assumed to be 1 (this corresponds to a simple FIR filter). - If N is omitted, a value of 512 is assumed. - - For fastest computation, N should factor into a small number of - small primes. + If N is omitted, a value of 512 is assumed. For fastest + computation, N should factor into a small number of small primes. If the fourth argument, "whole", is omitted the response is evaluated at frequencies between 0 and pi. @@ -26555,8 +26628,10 @@ 'freqz (...)' - Plot the pass band, stop band and phase response of H rather than - returning them. + Plot the magnitude and phase response of H rather than returning + them. + + See also: freqz_plot. @@ -26578,17 +26653,24 @@ # name: # type: sq_string # elements: 1 -# length: 100 +# length: 345 -- Function File: freqz_plot (W, H) - Plot the pass band, stop band and phase response of H. + -- Function File: freqz_plot (W, H, FREQ_NORM) + Plot the magnitude and phase response of H. + + If the optional FREQ_NORM argument is true, the frequency vector W + is in units of normalized radians. If FREQ_NORM is false, or not + given, then W is measured in Hertz. + + See also: freqz. # name: # type: sq_string # elements: 1 -# length: 54 -Plot the pass band, stop band and phase response of H. +# length: 43 +Plot the magnitude and phase response of H. @@ -30038,7 +30120,7 @@ # name: # type: sq_string # elements: 1 -# length: 870 +# length: 1228 -- Function File: cov (X) -- Function File: cov (X, OPT) -- Function File: cov (X, Y) @@ -30066,6 +30148,12 @@ normalize with N, this provides the second moment around the mean + MATLAB compatibility: Octave always computes the covariance matrix. + For two inputs, however, MATLAB will calculate 'cov (X(:), Y(:))' + whenever the number of elements in X and Y are equal. This will + result in a scalar rather than a matrix output. Code relying on + this odd definition will need to be changed when running in Octave. + See also: corr. @@ -32857,7 +32945,7 @@ logarithm is normally distributed with mean MU and standard deviation SIGMA. - Default values are MU = 1, SIGMA = 1. + Default values are MU = 0, SIGMA = 1. @@ -32879,16 +32967,16 @@ # name: # type: sq_string # elements: 1 -# length: 407 +# length: 409 -- Function File: logninv (X) -- Function File: logninv (X, MU, SIGMA) For each element of X, compute the quantile (the inverse of the CDF) at X of the lognormal distribution with parameters MU and SIGMA. If a random variable follows this distribution, its - logarithm is normally distributed with mean 'log (MU)' and variance - SIGMA. + logarithm is normally distributed with mean MU and standard + deviation SIGMA. - Default values are MU = 1, SIGMA = 1. + Default values are MU = 0, SIGMA = 1. @@ -32919,7 +33007,7 @@ logarithm is normally distributed with mean MU and standard deviation SIGMA. - Default values are MU = 1, SIGMA = 1. + Default values are MU = 0, SIGMA = 1. @@ -35964,22 +36052,21 @@ # name: # type: sq_string # elements: 1 -# length: 750 +# length: 745 -- Function File: STR = strjoin (CSTR) -- Function File: STR = strjoin (CSTR, DELIMITER) - Join the elements of the cell-string array, CSTR, into a single + Join the elements of the cell string array, CSTR, into a single string. If no DELIMITER is specified, the elements of CSTR separated by a space. - If DELIMITER is specified as a string, the cell-string array is + If DELIMITER is specified as a string, the cell string array is joined using the string. Escape sequences are supported. - If DELIMITER is a cell-string array whose length is one less than - CSTR, then the elements of CSTR are joined by interleaving the - cell-string elements of DELIMITER. Escape sequences are not - supported. + If DELIMITER is a cell string array whose length is one less than + CSTR, then the elements of CSTR are joined by interleaving the cell + string elements of DELIMITER. Escape sequences are not supported. strjoin ({'Octave','Scilab','Lush','Yorick'}, '*') => 'Octave*Scilab*Lush*Yorick' @@ -35992,7 +36079,7 @@ # type: sq_string # elements: 1 # length: 72 -Join the elements of the cell-string array, CSTR, into a single string. +Join the elements of the cell string array, CSTR, into a single string. @@ -36094,19 +36181,19 @@ # name: # type: sq_string # elements: 1 -# length: 3087 +# length: 3052 -- Function File: [CSTR] = strsplit (S) -- Function File: [CSTR] = strsplit (S, DEL) -- Function File: [CSTR] = strsplit (..., NAME, VALUE) -- Function File: [CSTR, MATCHES] = strsplit (...) Split the string S using the delimiters specified by DEL and return - a cell-string array of sub-strings. If a delimiter is not - specified the string, S, is split at whitespace. The delimiter, - DEL may be a string, a scalar cell-string, or cell-string array. - DEL must be a cell-string array. By default, consecutive - delimiters in the input string, S, are collapsed into one. + a cell string array of substrings. If a delimiter is not specified + the string, S, is split at whitespace. The delimiter, DEL may be a + string, a scalar cell string, or cell string array. By default, + consecutive delimiters in the input string S are collapsed into + one. - The second output, MATCHES, returns the delmiters which were + The second output, MATCHES, returns the delimiters which were matched in the original string. Example: @@ -36201,8 +36288,8 @@ # name: # type: sq_string # elements: 1 -# length: 104 -Split the string S using the delimiters specified by DEL and return a cell-string array of sub-strings. +# length: 103 +Split the string S using the delimiters specified by DEL and return a cell string array of substrings. @@ -37747,9 +37834,16 @@ # name: # type: sq_string # elements: 1 -# length: 108 +# length: 420 -- Built-in Function: logical (X) - Convert X to logical type. + Convert the numeric object X to logical type. + + Any non-zero values will be converted to true (1) while zero values + will be converted to false (0). The non-numeric value NaN cannot + be converted and will produce an error. + + Compatibility Note: Octave accepts complex values as input, whereas + MATLAB issues an error. See also: double, single, char. @@ -37758,8 +37852,8 @@ # name: # type: sq_string # elements: 1 -# length: 26 -Convert X to logical type. +# length: 45 +Convert the numeric object X to logical type. @@ -37799,15 +37893,19 @@ # name: # type: sq_string # elements: 1 -# length: 417 +# length: 480 -- Built-in Function: cell (N) -- Built-in Function: cell (M, N) -- Built-in Function: cell (M, N, K, ...) -- Built-in Function: cell ([M N ...]) - Create a new cell array object. If invoked with a single scalar - integer argument, return a square NxN cell array. If invoked with - two or more scalar integer arguments, or a vector of integer - values, return an array with the given dimensions. + Create a new cell array object. + + If invoked with a single scalar integer argument, return a square + NxN cell array. If invoked with two or more scalar integer + arguments, or a vector of integer values, return an array with the + given dimensions. + + See also: cellstr, mat2cell, num2cell, struct2cell. @@ -37856,10 +37954,17 @@ # name: # type: sq_string # elements: 1 -# length: 130 - -- Built-in Function: cellstr (STRING) +# length: 354 + -- Built-in Function: CSTR = cellstr (STRMAT) Create a new cell array object from the elements of the string - array STRING. + array STRMAT. + + Each row of STRMAT becomes an element of CSTR. Any trailing spaces + in a row are deleted before conversion. + + To convert back from a cellstr to a character array use 'char'. + + See also: cell, char. @@ -37867,7 +37972,7 @@ # type: sq_string # elements: 1 # length: 77 -Create a new cell array object from the elements of the string array STRING. +Create a new cell array object from the elements of the string array STRMAT. @@ -37881,8 +37986,8 @@ # name: # type: sq_string # elements: 1 -# length: 826 - -- Built-in Function: struct2cell (S) +# length: 830 + -- Built-in Function: C = struct2cell (S) Create a new cell array from the objects stored in the struct object. If F is the number of fields in the structure, the resulting cell array will have a dimension vector corresponding to @@ -37985,12 +38090,12 @@ # name: # type: sq_string # elements: 1 -# length: 167 +# length: 175 -- Built-in Function: ismethod (X, METHOD) Return true if X is a class object and the string METHOD is a method of this class. - See also: isobject. + See also: isprop, isobject. @@ -38012,12 +38117,14 @@ # name: # type: sq_string # elements: 1 -# length: 319 +# length: 347 -- Built-in Function: superiorto (CLASS_NAME, ...) When called from a class constructor, mark the object currently constructed as having a higher precedence than CLASS_NAME. More that one such class can be specified in a single call. This function may only be called from a class constructor. + + See also: inferiorto. @@ -38039,12 +38146,14 @@ # name: # type: sq_string # elements: 1 -# length: 318 +# length: 346 -- Built-in Function: inferiorto (CLASS_NAME, ...) When called from a class constructor, mark the object currently constructed as having a lower precedence than CLASS_NAME. More that one such class can be specified in a single call. This function may only be called from a class constructor. + + See also: superiorto. @@ -38066,18 +38175,54 @@ # name: # type: sq_string # elements: 1 -# length: 136 - -- Built-in Function: functions (FCN_HANDLE) - Return a struct containing information about the function handle +# length: 1161 + -- Built-in Function: S = functions (FCN_HANDLE) + Return a structure containing information about the function handle FCN_HANDLE. + + The structure S always contains these 3 fields: + + function + The function name. For an anonymous function (no name) this + will be the actual function definition. + + type + Type of the function. + + anonymous + The function is anonymous. + + private + The function is private. + + overloaded + The function overloads an existing function. + + simple + The function is a built-in or m-file function. + + subfunction + The function is a subfunction within an m-file. + + file + The m-file that will be called to perform the function. This + field is empty for anonymous and built-in functions. + + In addition, some function types may return more information in + additional fields. + + *Warning:* 'functions' is provided for debugging purposes only. + It's behavior may change in the future and programs should not + depend on a particular output. + # name: # type: sq_string # elements: 1 -# length: 77 -Return a struct containing information about the function handle FCN_HANDLE. +# length: 80 +Return a structure containing information about the function handle FCN_HANDLE. @@ -38091,10 +38236,12 @@ # name: # type: sq_string # elements: 1 -# length: 156 +# length: 193 -- Built-in Function: func2str (FCN_HANDLE) Return a string containing the name of the function referenced by the function handle FCN_HANDLE. + + See also: str2func, functions. @@ -38116,12 +38263,14 @@ # name: # type: sq_string # elements: 1 -# length: 276 +# length: 310 -- Built-in Function: str2func (FCN_NAME) -- Built-in Function: str2func (FCN_NAME, "global") Return a function handle constructed from the string FCN_NAME. If the optional "global" argument is passed, locally visible functions are ignored in the lookup. + + See also: func2str, inline. @@ -38143,11 +38292,11 @@ # name: # type: sq_string # elements: 1 -# length: 131 +# length: 142 -- Built-in Function: is_function_handle (X) Return true if X is a function handle. - See also: isa, typeinfo, class. + See also: isa, typeinfo, class, functions. @@ -38169,19 +38318,20 @@ # name: # type: sq_string # elements: 1 -# length: 987 +# length: 1266 -- Built-in Function: inline (STR) -- Built-in Function: inline (STR, ARG1, ...) -- Built-in Function: inline (STR, N) - Create an inline function from the character string STR. If called - with a single argument, the arguments of the generated function are - extracted from the function itself. The generated function - arguments will then be in alphabetical order. It should be noted - that i, and j are ignored as arguments due to the ambiguity between - their use as a variable or their use as an inbuilt constant. All - arguments followed by a parenthesis are considered to be functions. - If no arguments are found, a function taking a single argument - named 'x' will be created. + Create an inline function from the character string STR. + + If called with a single argument, the arguments of the generated + function are extracted from the function itself. The generated + function arguments will then be in alphabetical order. It should + be noted that i, and j are ignored as arguments due to the + ambiguity between their use as a variable or their use as an + inbuilt constant. All arguments followed by a parenthesis are + considered to be functions. If no arguments are found, a function + taking a single argument named 'x' will be created. If the second and subsequent arguments are character strings, they are the names of the arguments of the function. @@ -38189,7 +38339,12 @@ If the second argument is an integer N, the arguments are "x", "P1", ..., "PN". - See also: argnames, formula, vectorize. + Programming Note: The use of 'inline' is discouraged and it may be + removed from a future version of Octave. The preferred way to + create functions from strings is through the use of anonymous + functions (*note Anonymous Functions::) or 'str2func'. + + See also: argnames, formula, vectorize, str2func. @@ -38591,15 +38746,15 @@ # name: # type: sq_string # elements: 1 -# length: 514 - -- Built-in Function: C = onCleanup (ACTION) +# length: 520 + -- Built-in Function: OBJ = onCleanup (FUNCTION) Create a special object that executes a given function upon destruction. If the object is copied to multiple variables (or - cell or struct array elements) or returned from a function, ACTION - will be executed after clearing the last copy of the object. Note - that if multiple local onCleanup variables are created, the order - in which they are called is unspecified. For similar functionality - *Note The unwind_protect Statement::. + cell or struct array elements) or returned from a function, + FUNCTION will be executed after clearing the last copy of the + object. Note that if multiple local onCleanup variables are + created, the order in which they are called is unspecified. For + similar functionality *Note The unwind_protect Statement::. @@ -38684,12 +38839,15 @@ # name: # type: sq_string # elements: 1 -# length: 1759 - -- Built-in Function: struct (FIELD1, VALUE1, FIELD2, VALUE2, ...) +# length: 1951 + -- Built-in Function: S = struct () + -- Built-in Function: S = struct (FIELD1, VALUE1, FIELD2, VALUE2, ...) + -- Built-in Function: S = struct (OBJ) Create a scalar or array structure and initialize its values. The - FIELD1, FIELD2, ... variables are strings giving the names of the - fields and the VALUE1, VALUE2, ... variables can be any type. + FIELD1, FIELD2, ... variables are strings specifying the names of + the fields and the VALUE1, VALUE2, ... variables can be of any + type. If the values are cell arrays, create a structure array and initialize its values. The dimensions of each cell array of values @@ -38719,7 +38877,7 @@ foo - The first case is an ordinary scalar struct, one field, one value. + The first case is an ordinary scalar struct--one field, one value. The second produces an empty struct array with one field and no values, since s being passed an empty cell array of struct array values. When the value is a cell array containing a single entry, @@ -38728,6 +38886,9 @@ Finally, if the value is a non-scalar cell array, then 'struct' produces a struct *array*. + + See also: cell2struct, fieldnames, orderfields, getfield, setfield, + rmfield, structfun. @@ -38775,11 +38936,14 @@ # name: # type: sq_string # elements: 1 -# length: 223 +# length: 294 + -- Built-in Function: isfield (X, "NAME") -- Built-in Function: isfield (X, NAME) Return true if the X is a structure and it includes an element named NAME. If NAME is a cell array of strings then a logical array of equal dimension is returned. + + See also: fieldnames. @@ -38801,9 +38965,11 @@ # name: # type: sq_string # elements: 1 -# length: 91 +# length: 119 -- Built-in Function: nfields (S) Return the number of fields of the structure S. + + See also: fieldnames. @@ -38825,7 +38991,8 @@ # name: # type: sq_string # elements: 1 -# length: 578 +# length: 675 + -- Built-in Function: cell2struct (CELL, FIELDS) -- Built-in Function: cell2struct (CELL, FIELDS, DIM) Convert CELL to a structure. The number of fields in FIELDS must match the number of elements in CELL along dimension DIM, that is @@ -38842,6 +39009,8 @@ Height = 185 } + + See also: struct2cell, cell2mat, struct. @@ -38863,22 +39032,22 @@ # name: # type: sq_string # elements: 1 -# length: 304 +# length: 302 -- Built-in Function: S = rmfield (S, "F") -- Built-in Function: S = rmfield (S, F) - Return a copy of the structure (array) S with the field F removed. - If F is a cell array of strings or a character array, remove each - of the named fields. + Return a _copy_ of the structure (array) S with the field F + removed. If F is a cell array of strings or a character array, + remove each of the named fields. - See also: cellstr, iscellstr, setfield. + See also: orderfields, fieldnames. # name: # type: sq_string # elements: 1 -# length: 66 -Return a copy of the structure (array) S with the field F removed. +# length: 69 +Return a _copy_ of the structure (array) S with the field F removed. @@ -38892,7 +39061,7 @@ # name: # type: sq_string # elements: 1 -# length: 520 +# length: 565 -- Built-in Function: VAL = struct_levels_to_print () -- Built-in Function: OLD_VAL = struct_levels_to_print (NEW_VAL) -- Built-in Function: struct_levels_to_print (NEW_VAL, "local") @@ -38903,6 +39072,8 @@ variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function. + + See also: print_struct_array_contents. @@ -38924,21 +39095,24 @@ # name: # type: sq_string # elements: 1 -# length: 803 +# length: 842 -- Built-in Function: VAL = print_struct_array_contents () -- Built-in Function: OLD_VAL = print_struct_array_contents (NEW_VAL) -- Built-in Function: print_struct_array_contents (NEW_VAL, "local") Query or set the internal variable that specifies whether to print - struct array contents. If true, values of struct array elements - are printed. This variable does not affect scalar structures. - Their elements are always printed. In both cases, however, - printing will be limited to the number of levels specified by - STRUCT_LEVELS_TO_PRINT. + struct array contents. + + If true, values of struct array elements are printed. This + variable does not affect scalar structures whose elements are + always printed. In both cases, however, printing will be limited + to the number of levels specified by STRUCT_LEVELS_TO_PRINT. When called from inside a function with the "local" option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function. + + See also: struct_levels_to_print. @@ -38960,13 +39134,15 @@ # name: # type: sq_string # elements: 1 -# length: 250 +# length: 277 -- Built-in Function: typeinfo () -- Built-in Function: typeinfo (EXPR) Return the type of the expression EXPR, as a string. If EXPR is - omitted, return an cell array of strings containing all the + omitted, return a cell array of strings containing all the currently installed data types. + + See also: class, isa. @@ -38988,17 +39164,29 @@ # name: # type: sq_string # elements: 1 -# length: 585 +# length: 798 -- Built-in Function: nargin () -- Built-in Function: nargin (FCN) Within a function, return the number of arguments passed to the function. At the top level, return the number of command line arguments passed to Octave. - If called with the optional argument FCN, a function name or - handle, return the declared number of arguments that the function - can accept. If the last argument is VARARGIN the returned value is - negative. This feature does not work on builtin functions. + If called with the optional argument FCN--a function name or + handle-- return the declared number of arguments that the function + can accept. + + If the last argument to FCN is VARARGIN the returned value is + negative. For example, the function 'union' for sets is declared + as + + function [y, ia, ib] = union (a, b, varargin) + + and + + nargin ("union") + => -3 + + Programming Note: 'nargin' does not work on built-in functions. See also: nargout, varargin, isargout, varargout, nthargout. @@ -39022,12 +39210,12 @@ # name: # type: sq_string # elements: 1 -# length: 1064 +# length: 1105 -- Built-in Function: nargout () -- Built-in Function: nargout (FCN) Within a function, return the number of values the caller expects - to receive. If called with the optional argument FCN, a function - name or handle, return the number of declared output values that + to receive. If called with the optional argument FCN--a function + name or handle--return the number of declared output values that the function can produce. If the final output argument is VARARGOUT the returned value is negative. @@ -39047,13 +39235,14 @@ will return 2, because 'histc' has two outputs, whereas - nargout (@deal) + nargout (@imread) - will return -1, because 'deal' has a variable number of outputs. + will return -2, because 'imread' has two outputs and the second is + VARARGOUT. - At the top level, 'nargout' with no argument is undefined. - 'nargout' does not work on builtin functions. 'nargout' returns -1 - for all anonymous functions. + At the top level, 'nargout' with no argument is undefined and will + produce an error. 'nargout' does not work for built-in functions + and returns -1 for all anonymous functions. See also: nargin, varargin, isargout, varargout, nthargout. @@ -39077,14 +39266,15 @@ # name: # type: sq_string # elements: 1 -# length: 630 +# length: 634 -- Built-in Function: VAL = optimize_subsasgn_calls () -- Built-in Function: OLD_VAL = optimize_subsasgn_calls (NEW_VAL) -- Built-in Function: optimize_subsasgn_calls (NEW_VAL, "local") Query or set the internal flag for subsasgn method call - optimizations. If true, Octave will attempt to eliminate the - redundant copying when calling subsasgn method of a user-defined - class. + optimizations. + + If true, Octave will attempt to eliminate the redundant copying + when calling the subsasgn method of a user-defined class. When called from inside a function with the "local" option, the variable is changed locally for the function and any subroutines it @@ -39114,7 +39304,7 @@ # length: 748 -- Built-in Function: isargout (K) Within a function, return a logical value indicating whether the - argument K will be assigned on output to a variable. If the result + argument K will be assigned to a variable on output. If the result is false, the argument has been ignored during the function call through the use of the tilde (~) special output argument. Functions can use 'isargout' to avoid performing unnecessary @@ -39133,7 +39323,7 @@ # type: sq_string # elements: 1 # length: 118 -Within a function, return a logical value indicating whether the argument K will be assigned on output to a variable. +Within a function, return a logical value indicating whether the argument K will be assigned to a variable on output. @@ -39183,7 +39373,7 @@ '"."'. The 'subs' field may be either '":"' or a cell array of index values. - The following example shows how to extract the two first columns of + The following example shows how to extract the first two columns of a matrix val = magic (3) @@ -39324,9 +39514,11 @@ # name: # type: sq_string # elements: 1 -# length: 75 +# length: 142 -- Built-in Function: int16 (X) Convert X to 16-bit integer type. + + See also: int8, uint8, uint16, int32, uint32, int64, uint64. @@ -39348,9 +39540,11 @@ # name: # type: sq_string # elements: 1 -# length: 75 +# length: 142 -- Built-in Function: int32 (X) Convert X to 32-bit integer type. + + See also: int8, uint8, int16, uint16, uint32, int64, uint64. @@ -39372,9 +39566,11 @@ # name: # type: sq_string # elements: 1 -# length: 75 +# length: 142 -- Built-in Function: int64 (X) Convert X to 64-bit integer type. + + See also: int8, uint8, int16, uint16, int32, uint32, uint64. @@ -39396,9 +39592,11 @@ # name: # type: sq_string # elements: 1 -# length: 73 +# length: 141 -- Built-in Function: int8 (X) Convert X to 8-bit integer type. + + See also: uint8, int16, uint16, int32, uint32, int64, uint64. @@ -39420,9 +39618,11 @@ # name: # type: sq_string # elements: 1 -# length: 85 +# length: 151 -- Built-in Function: uint16 (X) Convert X to unsigned 16-bit integer type. + + See also: int8, uint8, int16, int32, uint32, int64, uint64. @@ -39444,9 +39644,11 @@ # name: # type: sq_string # elements: 1 -# length: 85 +# length: 151 -- Built-in Function: uint32 (X) Convert X to unsigned 32-bit integer type. + + See also: int8, uint8, int16, uint16, int32, int64, uint64. @@ -39468,9 +39670,11 @@ # name: # type: sq_string # elements: 1 -# length: 85 +# length: 151 -- Built-in Function: uint64 (X) Convert X to unsigned 64-bit integer type. + + See also: int8, uint8, int16, uint16, int32, uint32, int64. @@ -39492,9 +39696,11 @@ # name: # type: sq_string # elements: 1 -# length: 83 +# length: 150 -- Built-in Function: uint8 (X) Convert X to unsigned 8-bit integer type. + + See also: int8, int16, uint16, int32, uint32, int64, uint64. @@ -39661,14 +39867,13 @@ # name: # type: sq_string # elements: 1 -# length: 772 +# length: 765 -- Built-in Function: VAL = string_fill_char () -- Built-in Function: OLD_VAL = string_fill_char (NEW_VAL) -- Built-in Function: string_fill_char (NEW_VAL, "local") Query or set the internal variable used to pad all rows of a - character matrix to the same length. It must be a single - character. The default value is " " (a single space). For - example: + character matrix to the same length; It must be a single character. + The default value is " " (a single space). For example: string_fill_char ("X"); [ "these"; "are"; "strings" ] @@ -39686,8 +39891,8 @@ # name: # type: sq_string # elements: 1 -# length: 98 -Query or set the internal variable used to pad all rows of a character matrix to the same length. +# length: 129 +Query or set the internal variable used to pad all rows of a character matrix to the same length; It must be a single character. @@ -54494,17 +54699,18 @@ # name: # type: sq_string # elements: 1 -# length: 1116 +# length: 1136 -- Built-in Function: VAL = fixed_point_format () -- Built-in Function: OLD_VAL = fixed_point_format (NEW_VAL) -- Built-in Function: fixed_point_format (NEW_VAL, "local") Query or set the internal variable that controls whether Octave - will use a scaled format to print matrix values such that the - largest element may be written with a single leading digit with the - scaling factor is printed on the first line of output. For - example: + will use a scaled format to print matrix values. - octave:1> logspace (1, 7, 5)' + The scaled format prints a scaling factor on the first line of + output chosen such that the largest matrix element can be written + with a single leading digit. For example: + + logspace (1, 7, 5)' ans = 1.0e+07 * @@ -54515,9 +54721,9 @@ 0.03162 1.00000 - Notice that first value appears to be zero when it is actually 1. - For this reason, you should be careful when setting - 'fixed_point_format' to a nonzero value. + Notice that the first value appears to be 0 when it is actually 1. + Because of the possibilty for confusion you should be careful about + enabling 'fixed_point_format'. When called from inside a function with the "local" option, the variable is changed locally for the function and any subroutines it @@ -54531,8 +54737,8 @@ # name: # type: sq_string # elements: 1 -# length: 251 -Query or set the internal variable that controls whether Octave will use a scaled format to print matrix values such that the largest element may be written with a single leading digit with the scaling factor is printed on the first line of output. +# length: 113 +Query or set the internal variable that controls whether Octave will use a scaled format to print matrix values. @@ -54977,8 +55183,8 @@ # elements: 1 # length: 3321 -- Built-in Function: rand (N) - -- Built-in Function: rand (N, M, ...) - -- Built-in Function: rand ([N M ...]) + -- Built-in Function: rand (M, N, ...) + -- Built-in Function: rand ([M N ...]) -- Built-in Function: V = rand ("state") -- Built-in Function: rand ("state", V) -- Built-in Function: rand ("state", "reset") @@ -55073,8 +55279,8 @@ # elements: 1 # length: 1145 -- Built-in Function: randn (N) - -- Built-in Function: randn (N, M, ...) - -- Built-in Function: randn ([N M ...]) + -- Built-in Function: randn (M, N, ...) + -- Built-in Function: randn ([M N ...]) -- Built-in Function: V = randn ("state") -- Built-in Function: randn ("state", V) -- Built-in Function: randn ("state", "reset") @@ -55121,8 +55327,8 @@ # elements: 1 # length: 1121 -- Built-in Function: rande (N) - -- Built-in Function: rande (N, M, ...) - -- Built-in Function: rande ([N M ...]) + -- Built-in Function: rande (M, N, ...) + -- Built-in Function: rande ([M N ...]) -- Built-in Function: V = rande ("state") -- Built-in Function: rande ("state", V) -- Built-in Function: rande ("state", "reset") @@ -55169,8 +55375,8 @@ # elements: 1 # length: 2037 -- Built-in Function: randg (N) - -- Built-in Function: randg (N, M, ...) - -- Built-in Function: randg ([N M ...]) + -- Built-in Function: randg (M, N, ...) + -- Built-in Function: randg ([M N ...]) -- Built-in Function: V = randg ("state") -- Built-in Function: randg ("state", V) -- Built-in Function: randg ("state", "reset") @@ -55258,8 +55464,8 @@ # elements: 1 # length: 1903 -- Built-in Function: randp (L, N) - -- Built-in Function: randp (L, N, M, ...) - -- Built-in Function: randp (L, [N M ...]) + -- Built-in Function: randp (L, M, N, ...) + -- Built-in Function: randp (L, [M N ...]) -- Built-in Function: V = randp ("state") -- Built-in Function: randp ("state", V) -- Built-in Function: randp ("state", "reset") @@ -60843,15 +61049,16 @@ # name: # type: sq_string # elements: 1 -# length: 1198 +# length: 1256 + -- Built-in Function: AUTOLOAD_MAP = autoload () -- Built-in Function: autoload (FUNCTION, FILE) -- Built-in Function: autoload (..., "remove") Define FUNCTION to autoload from FILE. The second argument, FILE, should be an absolute file name or a file name in the same directory as the function or script from - which the autoload command was run. FILE should not depend on the - Octave load path. + which the autoload command was run. FILE _should not_ depend on + the Octave load path. Normally, calls to 'autoload' appear in PKG_ADD script files that are evaluated when a directory is added to Octave's load path. To @@ -60861,7 +61068,8 @@ autoload ("foo", "bar.oct"); will load the function 'foo' from the file 'bar.oct'. The above - usage when 'bar.oct' is not in the same directory or usages such as + usage when 'bar.oct' is not in the same directory, or usages such + as autoload ("foo", file_in_loadpath ("bar.oct")) @@ -60870,7 +61078,7 @@ With no arguments, return a structure containing the current autoload map. - If a third argument 'remove' is given, the function is cleared and + If a third argument "remove" is given, the function is cleared and not loaded anymore during the current Octave session. See also: PKG_ADD. @@ -60895,15 +61103,16 @@ # name: # type: sq_string # elements: 1 -# length: 450 +# length: 467 -- Built-in Function: mfilename () -- Built-in Function: mfilename ("fullpath") -- Built-in Function: mfilename ("fullpathext") - Return the name of the currently executing file. At the top-level, - return the empty string. Given the argument "fullpath", include - the directory part of the file name, but not the extension. Given - the argument "fullpathext", include the directory part of the file - name and the extension. + Return the name of the currently executing file. + + When called from outside an m-file return the empty string. Given + the argument "fullpath", include the directory part of the file + name, but not the extension. Given the argument "fullpathext", + include the directory part of the file name and the extension. @@ -60925,11 +61134,14 @@ # name: # type: sq_string # elements: 1 -# length: 210 +# length: 231 -- Built-in Function: source (FILE) - Parse and execute the contents of FILE. This is equivalent to - executing commands from a script file, but without requiring the - file to be named 'FILE.m'. + Parse and execute the contents of FILE. + + This is equivalent to executing commands from a script file, but + without requiring the file to be named 'FILE.m'. + + See also: run. @@ -60999,7 +61211,7 @@ # type: sq_string # elements: 1 # length: 642 - -- Loadable Function: [...] = builtin (F, ...) + -- Built-in Function: [...] = builtin (F, ...) Call the base function F even if F is overloaded to another function for the given type signature. @@ -61038,7 +61250,7 @@ # name: # type: sq_string # elements: 1 -# length: 984 +# length: 1226 -- Built-in Function: eval (TRY) -- Built-in Function: eval (TRY, CATCH) Parse the string TRY and evaluate it as if it were an Octave @@ -61046,22 +61258,25 @@ string TRY is evaluated in the current context, so any results remain available after 'eval' returns. - The following example makes the variable A with the approximate - value 3.1416 available. + The following example creates the variable A with the approximate + value of 3.1416 in the current workspace. eval ("A = acos(-1);"); - If an error occurs during the evaluation of TRY the CATCH string is - evaluated, as the following example shows: + If an error occurs during the evaluation of TRY then the CATCH + string is evaluated, as the following example shows: eval ('error ("This is a bad example");', 'printf ("This error occurred:\n%s\n", lasterr ());'); -| This error occurred: This is a bad example - Consider using try/catch blocks instead if you are only using - 'eval' as an error-capturing mechanism rather than for the - execution of arbitrary code strings. + Programming Note: if you are only using 'eval' as an + error-capturing mechanism, rather than for the execution of + arbitrary code strings, Consider using try/catch blocks or + unwind_protect/unwind_protect_cleanup blocks instead. These + techniques have higher performance and don't introduce the security + considerations that the evaluation of arbitrary code does. See also: evalin. @@ -62178,7 +62393,7 @@ min norm(A x - b) for overdetermined systems of equations (i.e., A is a tall, thin - matrix). The QR factorization is 'Q * Q = A' where Q is an + matrix). The QR factorization is 'Q * R = A' where Q is an orthogonal matrix and R is upper triangular. If given a second argument of '0', 'qr' returns an economy-sized @@ -62568,9 +62783,10 @@ # name: # type: sq_string # elements: 1 -# length: 254 - -- Keyword: case {VALUE} - A case statement in an switch. Octave cases are exclusive and do +# length: 282 + -- Keyword: case VALUE + -- Keyword: case {VALUE, ...} + A case statement in a switch. Octave cases are exclusive and do not fall-through as do C-language cases. A switch statement must have at least one case. See 'switch' for an example. @@ -62581,8 +62797,8 @@ # name: # type: sq_string # elements: 1 -# length: 30 -A case statement in an switch. +# length: 29 +A case statement in a switch. @@ -62596,8 +62812,9 @@ # name: # type: sq_string # elements: 1 -# length: 93 +# length: 118 -- Keyword: catch + -- Keyword: catch VALUE Begin the cleanup part of a try-catch block. See also: try. @@ -63037,8 +63254,8 @@ # name: # type: sq_string # elements: 1 -# length: 179 - -- Keyword: global +# length: 183 + -- Keyword: global VAR Declare variables to have global scope. global X; @@ -63221,9 +63438,9 @@ # name: # type: sq_string # elements: 1 -# length: 114 +# length: 117 -- Keyword: static - This function has been deprecated in favor of persistent. + This statement has been deprecated in favor of 'persistent'. See also: persistent. @@ -63232,8 +63449,8 @@ # name: # type: sq_string # elements: 1 -# length: 57 -This function has been deprecated in favor of persistent. +# length: 60 +This statement has been deprecated in favor of 'persistent'. @@ -63315,8 +63532,8 @@ # name: # type: sq_string # elements: 1 -# length: 94 - -- Keyword: until +# length: 101 + -- Keyword: until (COND) End a do-until loop. See 'do' for an example. See also: do. diff -Nru octave-3.8.0/doc/interpreter/errorbar.eps octave-3.8.1/doc/interpreter/errorbar.eps --- octave-3.8.0/doc/interpreter/errorbar.eps 2013-12-27 22:12:05.000000000 +0000 +++ octave-3.8.1/doc/interpreter/errorbar.eps 2014-03-06 19:54:00.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: errorbar.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:05 2013 +%%CreationDate: Thu Mar 6 14:54:00 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:05 2013) + /CreationDate (Thu Mar 6 14:54:00 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/errorbar.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/errorbar.pdf differ diff -Nru octave-3.8.0/doc/interpreter/errors.texi octave-3.8.1/doc/interpreter/errors.texi --- octave-3.8.0/doc/interpreter/errors.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/errors.texi 2014-03-06 19:53:58.000000000 +0000 @@ -318,6 +318,22 @@ @end group @end example +@noindent +Alternatively, the output of the @code{lasterror} function can be found +in a variable indicated immediately after the @code{catch} keyword, as +in the example below showing how to redirect an error as a warning: + +@example +@group +try + @dots{} +catch err + warning(err.identifier, err.message); + @dots{} +end_try_catch +@end group +@end example + @c lasterror libinterp/corefcn/error.cc @anchor{XREFlasterror} @deftypefn {Built-in Function} {@var{lasterr} =} lasterror () @@ -530,10 +546,10 @@ @c onCleanup libinterp/octave-value/ov-oncleanup.cc @anchor{XREFonCleanup} -@deftypefn {Built-in Function} {@var{c} =} onCleanup (@var{action}) +@deftypefn {Built-in Function} {@var{obj} =} onCleanup (@var{function}) Create a special object that executes a given function upon destruction. If the object is copied to multiple variables (or cell or struct array -elements) or returned from a function, @var{action} will be executed after +elements) or returned from a function, @var{function} will be executed after clearing the last copy of the object. Note that if multiple local onCleanup variables are created, the order in which they are called is unspecified. For similar functionality @xref{The unwind_protect Statement}. diff -Nru octave-3.8.0/doc/interpreter/errors.txi octave-3.8.1/doc/interpreter/errors.txi --- octave-3.8.0/doc/interpreter/errors.txi 2013-12-27 21:57:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/errors.txi 2014-03-06 19:37:51.000000000 +0000 @@ -176,6 +176,22 @@ @end group @end example +@noindent +Alternatively, the output of the @code{lasterror} function can be found +in a variable indicated immediately after the @code{catch} keyword, as +in the example below showing how to redirect an error as a warning: + +@example +@group +try + @dots{} +catch err + warning(err.identifier, err.message); + @dots{} +end_try_catch +@end group +@end example + @DOCSTRING(lasterror) @DOCSTRING(lasterr) diff -Nru octave-3.8.0/doc/interpreter/eval.texi octave-3.8.1/doc/interpreter/eval.texi --- octave-3.8.0/doc/interpreter/eval.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/eval.texi 2014-03-06 19:53:58.000000000 +0000 @@ -38,14 +38,14 @@ The string @var{try} is evaluated in the current context, so any results remain available after @code{eval} returns. -The following example makes the variable @var{A} with the approximate -value 3.1416 available. +The following example creates the variable @var{A} with the approximate +value of 3.1416 in the current workspace. @example eval ("A = acos(-1);"); @end example -If an error occurs during the evaluation of @var{try} the @var{catch} +If an error occurs during the evaluation of @var{try} then the @var{catch} string is evaluated, as the following example shows: @example @@ -57,9 +57,11 @@ @end group @end example -Consider using try/catch blocks instead if you are only using @code{eval} -as an error-capturing mechanism rather than for the execution of arbitrary -code strings. +Programming Note: if you are only using @code{eval} as an error-capturing +mechanism, rather than for the execution of arbitrary code strings, +Consider using try/catch blocks or unwind_protect/unwind_protect_cleanup +blocks instead. These techniques have higher performance and don't introduce +the security considerations that the evaluation of arbitrary code does. @seealso{@ref{XREFevalin,,evalin}} @end deftypefn diff -Nru octave-3.8.0/doc/interpreter/extended.eps octave-3.8.1/doc/interpreter/extended.eps --- octave-3.8.0/doc/interpreter/extended.eps 2013-12-27 22:12:05.000000000 +0000 +++ octave-3.8.1/doc/interpreter/extended.eps 2014-03-06 19:54:01.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: extended.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:05 2013 +%%CreationDate: Thu Mar 6 14:54:01 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:05 2013) + /CreationDate (Thu Mar 6 14:54:01 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/extended.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/extended.pdf differ diff -Nru octave-3.8.0/doc/interpreter/external.texi octave-3.8.1/doc/interpreter/external.texi --- octave-3.8.0/doc/interpreter/external.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/external.texi 2014-03-06 19:53:58.000000000 +0000 @@ -149,7 +149,7 @@ @c mkoctfile scripts/miscellaneous/mkoctfile.m @anchor{XREFmkoctfile} @deftypefn {Command} {} mkoctfile [-options] file @dots{} -@deftypefnx {Function File} {[@var{output}, @var{status} =} mkoctfile (@dots{}) +@deftypefnx {Function File} {[@var{output}, @var{status}] =} mkoctfile (@dots{}) The @code{mkoctfile} function compiles source code written in C, C++, or Fortran. Depending on the options used with @code{mkoctfile}, the @@ -209,30 +209,33 @@ Print the configuration variable VAR@. Recognized variables are: @example - ALL_CFLAGS FFTW3F_LIBS - ALL_CXXFLAGS FLIBS - ALL_FFLAGS FPICFLAG - ALL_LDFLAGS INCFLAGS - BLAS_LIBS LAPACK_LIBS - CC LDFLAGS - CFLAGS LD_CXX - CPICFLAG LD_STATIC_FLAG - CPPFLAGS LFLAGS - CXX LIBOCTAVE - CXXFLAGS LIBOCTINTERP - CXXPICFLAG LIBS - DEPEND_EXTRA_SED_PATTERN OCTAVE_LIBS - DEPEND_FLAGS OCTAVE_LINK_DEPS - DL_LD OCT_LINK_DEPS - DL_LDFLAGS RDYNAMIC_FLAG - EXEEXT READLINE_LIBS - F77 SED - F77_INTEGER_8_FLAG XTRA_CFLAGS - FFLAGS XTRA_CXXFLAGS - FFTW3_LDFLAGS - FFTW3_LIBS - FFTW3F_LDFLAGS - + ALL_CFLAGS INCFLAGS + ALL_CXXFLAGS INCLUDEDIR + ALL_FFLAGS LAPACK_LIBS + ALL_LDFLAGS LD_CXX + AR LDFLAGS + BLAS_LIBS LD_STATIC_FLAG + CC LFLAGS + CFLAGS LIBDIR + CPICFLAG LIBOCTAVE + CPPFLAGS LIBOCTINTERP + CXX LIBS + CXXFLAGS OCTAVE_HOME + CXXPICFLAG OCTAVE_LIBS + DEPEND_EXTRA_SED_PATTERN OCTAVE_LINK_DEPS + DEPEND_FLAGS OCTAVE_LINK_OPTS + DL_LD OCTAVE_PREFIX + DL_LDFLAGS OCTINCLUDEDIR + F77 OCTLIBDIR + F77_INTEGER8_FLAG OCT_LINK_DEPS + FFLAGS OCT_LINK_OPTS + FFTW3F_LDFLAGS RANLIB + FFTW3F_LIBS RDYNAMIC_FLAG + FFTW3_LDFLAGS READLINE_LIBS + FFTW3_LIBS SED + FFTW_LIBS SPECIAL_MATH_LIB + FLIBS XTRA_CFLAGS + FPICFLAG XTRA_CXXFLAGS @end example @item --link-stand-alone @@ -653,7 +656,7 @@ @example @group octave_value_list retval; -charNDArray c; +charNDArray ch; @dots{} // Create single quoted string retval(1) = octave_value (ch); // default constructor is sq_string @@ -939,7 +942,8 @@ @example @group -int nz = 4, nr = 3, nc = 4; +int nz, nr, nc; +nz = 4, nr = 3, nc = 4; ColumnVector ridx (nz); ColumnVector cidx (nz); @@ -975,7 +979,8 @@ @example @group -int nz = 4, nr = 3, nc = 4; +int nz, nr, nc; +nz = 4, nr = 3, nc = 4; SparseMatrix sm (nr, nc, nz); sm(0,0) = 1; sm(0,1) = 2; sm(1,3) = 3; sm(2,3) = 4; @end group @@ -994,7 +999,8 @@ @example @group -int nz = 4, nr = 3, nc = 4; +int nr, nc; +nr = 3, nc = 4; SparseMatrix sm (nr, nc, 0); sm(0,0) = 1; sm(0,1) = 2; sm(1,3) = 3; sm(2,3) = 4; @end group @@ -1023,7 +1029,8 @@ @example @group -int nz = 6, nr = 3, nc = 4; +int nz, nr, nc; +nz = 6, nr = 3, nc = 4; SparseMatrix sm1 (nr, nc, nz); sm1(0,0) = 1; sm1(0,1) = 2; sm1(1,3) = 3; sm1(2,3) = 4; @@ -1046,7 +1053,8 @@ @example octave_value arg; @dots{} -int nz = 6, nr = 3, nc = 4; // Assume we know the max # nz +int nz, nr, nc; +nz = 6, nr = 3, nc = 4; // Assume we know the max # nz SparseMatrix sm (nr, nc, nz); Matrix m = arg.matrix_value (); @@ -1080,7 +1088,8 @@ @example octave_value arg; @dots{} -int nz = 6, nr = 3, nc = 4; // Assume we know the max # nz +int nz, nr, nc; +nz = 6, nr = 3, nc = 4; // Assume we know the max # nz SparseMatrix sm (nr, nc, nz); Matrix m = arg.matrix_value (); @@ -1363,11 +1372,11 @@ extern "C" { F77_RET_T - F77_FUNC (fortsub, FORTSUB) + F77_FUNC (fortransub, FORTSUB) (const int&, double*, F77_CHAR_ARG_DECL F77_CHAR_ARG_LEN_DECL); } -DEFUN_DLD (fortdemo, args, , "Fortran Demo") +DEFUN_DLD (fortrandemo, args, , "Fortran Demo") { octave_value_list retval; int nargin = args.length (); @@ -1383,7 +1392,7 @@ octave_idx_type na = a.numel (); OCTAVE_LOCAL_BUFFER (char, ctmp, 128); - F77_XFCN (fortsub, FORTSUB, + F77_XFCN (fortransub, FORTSUB, (na, av, ctmp F77_CHAR_ARG_LEN (128))); retval(1) = std::string (ctmp); @@ -1401,14 +1410,14 @@ @example @verbatim - subroutine fortsub (n, a, s) + subroutine fortransub (n, a, s) implicit none character*(*) s real*8 a(*) integer*4 i, n, ioerr do i = 1, n if (a(i) .eq. 0d0) then - call xstopx ('fortsub: divide by zero') + call xstopx ('fortransub: divide by zero') else a(i) = 1d0 / a(i) endif @@ -1417,7 +1426,7 @@ $ 'There are ', n, $ ' values in the input vector', char(0) if (ioerr .ne. 0) then - call xstopx ('fortsub: error writing string') + call xstopx ('fortransub: error writing string') endif return end @@ -1433,13 +1442,13 @@ @example @group -mkoctfile fortdemo.cc fortsub.f -[b, s] = fortdemo (1:3) +mkoctfile fortrandemo.cc fortransub.f +[b, s] = fortrandemo (1:3) @result{} b = 1.00000 0.50000 0.33333 s = There are 3 values in the input vector -[b, s] = fortdemo (0:3) -error: fortdemo: fortsub: divide by zero +[b, s] = fortrandemo (0:3) +error: fortrandemo: fortransub: divide by zero @end group @end example @@ -1530,9 +1539,9 @@ @group paramdemo ([1, 2, NaN, Inf]) @result{} Properties of input array: - includes Inf or NaN values - includes other values than 1 and 0 - includes only int, Inf or NaN values + includes Inf or NaN values + includes other values than 1 and 0 + includes only int, Inf or NaN values @end group @end example @@ -2055,8 +2064,8 @@ @example @group mystring (["First String"; "Second String"]) -@result{} s1 = Second String - First String +@result{} Second String + First String @end group @end example @@ -2224,32 +2233,22 @@ @example a(1).f1 = "f11"; a(1).f2 = "f12"; a(2).f1 = "f21"; a(2).f2 = "f22"; -b = mystruct (a) -@result{} field f1(0) = f11 +b = mystruct (a); +@result{} field f1(0) = f11 field f1(1) = f21 field f2(0) = f12 field f2(1) = f22 - b = - @{ - this = - - (, - [1] = this1 - [2] = this2 - [3] = this3 - [4] = this4 - ,) - - that = - - (, - [1] = that1 - [2] = that2 - [3] = that3 - [4] = that4 - ,) +b +@result{} 2x2 struct array containing the fields: + + this + that + +b(3) +@result{} scalar structure containing the fields: - @} + this = this3 + that = that3 @end example @node Sparse Matrices with Mex-Files @@ -2428,6 +2427,18 @@ @end example +A sample usage of @code{mysparse} is + +@example +@group +sm = sparse ([1, 0; 0, pi]); +mysparse (sm) +@result{} +Matrix is 2-by-2 real sparse matrix with 2 elements +last non-zero element (2, 2) = 3.14159 +@end group +@end example + @node Calling Other Functions in Mex-Files @subsection Calling Other Functions in Mex-Files @@ -2445,7 +2456,7 @@ { char *str; - mexPrintf ("Hello, World!\n"); + mexPrintf ("Starting file myfeval.mex\n"); mexPrintf ("I have %d inputs and %d outputs\n", nrhs, nlhs); @@ -2456,7 +2467,11 @@ mexPrintf ("I'm going to call the function %s\n", str); - mexCallMATLAB (nlhs, plhs, nrhs-1, (mxArray*)prhs+1, str); + if (nlhs == 0) + nlhs = 1; // Octave's automatic 'ans' variable + + /* Cast prhs just to get rid of 'const' qualifier and stop compile warning */ + mexCallMATLAB (nlhs, plhs, nrhs-1, (mxArray**)prhs+1, str); mxFree (str); } @@ -2469,12 +2484,11 @@ @example @group -myfeval ("sin", 1) a = myfeval ("sin", 1) -@result{} Hello, World! - I have 2 inputs and 1 outputs - I'm going to call the interpreter function sin - a = 0.84147 +@result{} Starting file myfeval.mex + I have 2 inputs and 1 outputs + I'm going to call the interpreter function sin + a = 0.84147 @end group @end example @@ -2538,7 +2552,7 @@ Note that the application @code{standalone} will be dynamically linked against the Octave libraries and any Octave support libraries. The above allows the Octave math libraries to be used by an application. It does -not, however, allow the script files, oct-files, or builtin functions of +not, however, allow the script files, oct-files, or built-in functions of Octave to be used by the application. To do that the Octave interpreter needs to be initialized first. An example of how to do this can then be seen in the code @@ -2596,17 +2610,17 @@ @end group @end example -It is worth noting that, if only builtin functions are to be called from +It is worth noting that, if only built-in functions are to be called from a C++ standalone program, then it does not need to initialize the -interpreter to do so. The general rule is that, for a builtin +interpreter to do so. The general rule is that, for a built-in function named @code{function_name} in the interpreter, there will be a C++ function named @code{Ffunction_name} (note the prepended capital -@code{F}) accessible in the C++ API@. The declarations for all builtin +@code{F}) accessible in the C++ API@. The declarations for all built-in functions are collected in the header file @code{builtin-defun-decls.h}. This feature should be used with care as the list of built-in functions can change. No guarantees can be made that a function that is currently built in won't be implemented as a .m file or as a dynamically linked function in the -future. An example of how to call builtin functions from C++ can be seen in the +future. An example of how to call built-in functions from C++ can be seen in the code @example @@ -2618,7 +2632,6 @@ int main (void) { - int n = 2; Matrix a_matrix = Matrix (n, n); @@ -2626,10 +2639,8 @@ for (octave_idx_type j = 0; j < n; j++) a_matrix(i,j) = (i + 1) * 10 + (j + 1); - std::cout << "This is a matrix:" - << std::endl - << a_matrix - << std::endl; + std::cout << "This is a matrix:" << std::endl + << a_matrix << std::endl; octave_value_list in; in(0) = a_matrix; @@ -2637,10 +2648,8 @@ octave_value_list out = Fnorm (in, 1); double norm_of_the_matrix = out(0).double_value (); - std::cout << "This is the norm of the matrix:" - << std::endl - << norm_of_the_matrix - << std::endl; + std::cout << "This is the norm of the matrix:" << std::endl + << norm_of_the_matrix << std::endl; return 0; } @@ -2661,8 +2670,7 @@ This is the norm of the matrix: 34.4952 - +$ @end group @end example - diff -Nru octave-3.8.0/doc/interpreter/external.txi octave-3.8.1/doc/interpreter/external.txi --- octave-3.8.0/doc/interpreter/external.txi 2013-12-27 21:57:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/external.txi 2014-03-06 19:37:51.000000000 +0000 @@ -461,7 +461,7 @@ @example @group octave_value_list retval; -charNDArray c; +charNDArray ch; @dots{} // Create single quoted string retval(1) = octave_value (ch); // default constructor is sq_string @@ -675,7 +675,8 @@ @example @group -int nz = 4, nr = 3, nc = 4; +int nz, nr, nc; +nz = 4, nr = 3, nc = 4; ColumnVector ridx (nz); ColumnVector cidx (nz); @@ -711,7 +712,8 @@ @example @group -int nz = 4, nr = 3, nc = 4; +int nz, nr, nc; +nz = 4, nr = 3, nc = 4; SparseMatrix sm (nr, nc, nz); sm(0,0) = 1; sm(0,1) = 2; sm(1,3) = 3; sm(2,3) = 4; @end group @@ -730,7 +732,8 @@ @example @group -int nz = 4, nr = 3, nc = 4; +int nr, nc; +nr = 3, nc = 4; SparseMatrix sm (nr, nc, 0); sm(0,0) = 1; sm(0,1) = 2; sm(1,3) = 3; sm(2,3) = 4; @end group @@ -759,7 +762,8 @@ @example @group -int nz = 6, nr = 3, nc = 4; +int nz, nr, nc; +nz = 6, nr = 3, nc = 4; SparseMatrix sm1 (nr, nc, nz); sm1(0,0) = 1; sm1(0,1) = 2; sm1(1,3) = 3; sm1(2,3) = 4; @@ -782,7 +786,8 @@ @example octave_value arg; @dots{} -int nz = 6, nr = 3, nc = 4; // Assume we know the max # nz +int nz, nr, nc; +nz = 6, nr = 3, nc = 4; // Assume we know the max # nz SparseMatrix sm (nr, nc, nz); Matrix m = arg.matrix_value (); @@ -816,7 +821,8 @@ @example octave_value arg; @dots{} -int nz = 6, nr = 3, nc = 4; // Assume we know the max # nz +int nz, nr, nc; +nz = 6, nr = 3, nc = 4; // Assume we know the max # nz SparseMatrix sm (nr, nc, nz); Matrix m = arg.matrix_value (); @@ -1031,14 +1037,14 @@ given in the following example, where the C++ wrapper is @example -@EXAMPLEFILE(fortdemo.cc) +@EXAMPLEFILE(fortrandemo.cc) @end example @noindent and the Fortran function is @example -@EXAMPLEFILE(fortsub.f) +@EXAMPLEFILE(fortransub.f) @end example This example demonstrates most of the features needed to link to an @@ -1048,13 +1054,13 @@ @example @group -mkoctfile fortdemo.cc fortsub.f -[b, s] = fortdemo (1:3) +mkoctfile fortrandemo.cc fortransub.f +[b, s] = fortrandemo (1:3) @result{} b = 1.00000 0.50000 0.33333 s = There are 3 values in the input vector -[b, s] = fortdemo (0:3) -error: fortdemo: fortsub: divide by zero +[b, s] = fortrandemo (0:3) +error: fortrandemo: fortransub: divide by zero @end group @end example @@ -1113,9 +1119,9 @@ @group paramdemo ([1, 2, NaN, Inf]) @result{} Properties of input array: - includes Inf or NaN values - includes other values than 1 and 0 - includes only int, Inf or NaN values + includes Inf or NaN values + includes other values than 1 and 0 + includes only int, Inf or NaN values @end group @end example @@ -1492,8 +1498,8 @@ @example @group mystring (["First String"; "Second String"]) -@result{} s1 = Second String - First String +@result{} Second String + First String @end group @end example @@ -1603,32 +1609,22 @@ @example a(1).f1 = "f11"; a(1).f2 = "f12"; a(2).f1 = "f21"; a(2).f2 = "f22"; -b = mystruct (a) -@result{} field f1(0) = f11 +b = mystruct (a); +@result{} field f1(0) = f11 field f1(1) = f21 field f2(0) = f12 field f2(1) = f22 - b = - @{ - this = - - (, - [1] = this1 - [2] = this2 - [3] = this3 - [4] = this4 - ,) - - that = - - (, - [1] = that1 - [2] = that2 - [3] = that3 - [4] = that4 - ,) +b +@result{} 2x2 struct array containing the fields: - @} + this + that + +b(3) +@result{} scalar structure containing the fields: + + this = this3 + that = that3 @end example @node Sparse Matrices with Mex-Files @@ -1688,6 +1684,18 @@ @EXAMPLEFILE(mysparse.c) @end example +A sample usage of @code{mysparse} is + +@example +@group +sm = sparse ([1, 0; 0, pi]); +mysparse (sm) +@result{} +Matrix is 2-by-2 real sparse matrix with 2 elements +last non-zero element (2, 2) = 3.14159 +@end group +@end example + @node Calling Other Functions in Mex-Files @subsection Calling Other Functions in Mex-Files @@ -1704,12 +1712,11 @@ @example @group -myfeval ("sin", 1) a = myfeval ("sin", 1) -@result{} Hello, World! - I have 2 inputs and 1 outputs - I'm going to call the interpreter function sin - a = 0.84147 +@result{} Starting file myfeval.mex + I have 2 inputs and 1 outputs + I'm going to call the interpreter function sin + a = 0.84147 @end group @end example @@ -1752,7 +1759,7 @@ Note that the application @code{standalone} will be dynamically linked against the Octave libraries and any Octave support libraries. The above allows the Octave math libraries to be used by an application. It does -not, however, allow the script files, oct-files, or builtin functions of +not, however, allow the script files, oct-files, or built-in functions of Octave to be used by the application. To do that the Octave interpreter needs to be initialized first. An example of how to do this can then be seen in the code @@ -1773,17 +1780,17 @@ @end group @end example -It is worth noting that, if only builtin functions are to be called from +It is worth noting that, if only built-in functions are to be called from a C++ standalone program, then it does not need to initialize the -interpreter to do so. The general rule is that, for a builtin +interpreter to do so. The general rule is that, for a built-in function named @code{function_name} in the interpreter, there will be a C++ function named @code{Ffunction_name} (note the prepended capital -@code{F}) accessible in the C++ API@. The declarations for all builtin +@code{F}) accessible in the C++ API@. The declarations for all built-in functions are collected in the header file @code{builtin-defun-decls.h}. This feature should be used with care as the list of built-in functions can change. No guarantees can be made that a function that is currently built in won't be implemented as a .m file or as a dynamically linked function in the -future. An example of how to call builtin functions from C++ can be seen in the +future. An example of how to call built-in functions from C++ can be seen in the code @example @@ -1803,8 +1810,7 @@ This is the norm of the matrix: 34.4952 - +$ @end group @end example - diff -Nru octave-3.8.0/doc/interpreter/func.texi octave-3.8.1/doc/interpreter/func.texi --- octave-3.8.0/doc/interpreter/func.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/func.texi 2014-03-06 19:53:58.000000000 +0000 @@ -280,10 +280,24 @@ At the top level, return the number of command line arguments passed to Octave. -If called with the optional argument @var{fcn}, a function name or handle, +If called with the optional argument @var{fcn}---a function name or handle--- return the declared number of arguments that the function can accept. -If the last argument is @var{varargin} the returned value is negative. -This feature does not work on builtin functions. + +If the last argument to @var{fcn} is @var{varargin} the returned value is +negative. For example, the function @code{union} for sets is declared as + +@example +@group +function [y, ia, ib] = union (a, b, varargin) + +and + +nargin ("union") +@result{} -3 +@end group +@end example + +Programming Note: @code{nargin} does not work on built-in functions. @seealso{@ref{XREFnargout,,nargout}, @ref{XREFvarargin,,varargin}, @ref{XREFisargout,,isargout}, @ref{XREFvarargout,,varargout}, @ref{XREFnthargout,,nthargout}} @end deftypefn @@ -464,8 +478,8 @@ @deftypefn {Built-in Function} {} nargout () @deftypefnx {Built-in Function} {} nargout (@var{fcn}) Within a function, return the number of values the caller expects to -receive. If called with the optional argument @var{fcn}, a function -name or handle, return the number of declared output values that the +receive. If called with the optional argument @var{fcn}---a function +name or handle---return the number of declared output values that the function can produce. If the final output argument is @var{varargout} the returned value is negative. @@ -483,8 +497,7 @@ @end example @noindent -will cause @code{nargout} to return 2 inside the function -@code{f}. +will cause @code{nargout} to return 2 inside the function @code{f}. In the second usage, @@ -496,15 +509,16 @@ will return 2, because @code{histc} has two outputs, whereas @example -nargout (@@deal) +nargout (@@imread) @end example @noindent -will return -1, because @code{deal} has a variable number of outputs. +will return -2, because @code{imread} has two outputs and the second is +@var{varargout}. -At the top level, @code{nargout} with no argument is undefined. -@code{nargout} does not work on builtin functions. -@code{nargout} returns -1 for all anonymous functions. +At the top level, @code{nargout} with no argument is undefined and will +produce an error. @code{nargout} does not work for built-in functions and +returns -1 for all anonymous functions. @seealso{@ref{XREFnargin,,nargin}, @ref{XREFvarargin,,varargin}, @ref{XREFisargout,,isargout}, @ref{XREFvarargout,,varargout}, @ref{XREFnthargout,,nthargout}} @end deftypefn @@ -756,7 +770,7 @@ @anchor{XREFisargout} @deftypefn {Built-in Function} {} isargout (@var{k}) Within a function, return a logical value indicating whether the argument -@var{k} will be assigned on output to a variable. If the result is false, +@var{k} will be assigned to a variable on output. If the result is false, the argument has been ignored during the function call through the use of the tilde (~) special output argument. Functions can use @code{isargout} to avoid performing unnecessary calculations for outputs which are unwanted. @@ -1123,11 +1137,12 @@ @deftypefn {Built-in Function} {} mfilename () @deftypefnx {Built-in Function} {} mfilename ("fullpath") @deftypefnx {Built-in Function} {} mfilename ("fullpathext") -Return the name of the currently executing file. At the top-level, -return the empty string. Given the argument @qcode{"fullpath"}, -include the directory part of the file name, but not the extension. -Given the argument @qcode{"fullpathext"}, include the directory part -of the file name and the extension. +Return the name of the currently executing file. + +When called from outside an m-file return the empty string. Given the +argument @qcode{"fullpath"}, include the directory part of the file name, +but not the extension. Given the argument @qcode{"fullpathext"}, include +the directory part of the file name and the extension. @end deftypefn @@ -1569,7 +1584,7 @@ @c builtin libinterp/parse-tree/oct-parse.cc @anchor{XREFbuiltin} -@deftypefn {Loadable Function} {[@dots{}] =} builtin (@var{f}, @dots{}) +@deftypefn {Built-in Function} {[@dots{}] =} builtin (@var{f}, @dots{}) Call the base function @var{f} even if @var{f} is overloaded to another function for the given type signature. @@ -1610,13 +1625,14 @@ @c autoload libinterp/parse-tree/oct-parse.cc @anchor{XREFautoload} -@deftypefn {Built-in Function} {} autoload (@var{function}, @var{file}) -@deftypefnx {Built-in Function} {} autoload (@dots{}, @asis{"remove"}) +@deftypefn {Built-in Function} {@var{autoload_map} =} autoload () +@deftypefnx {Built-in Function} {} autoload (@var{function}, @var{file}) +@deftypefnx {Built-in Function} {} autoload (@dots{}, "remove") Define @var{function} to autoload from @var{file}. The second argument, @var{file}, should be an absolute file name or a file name in the same directory as the function or script from which -the autoload command was run. @var{file} should not depend on the +the autoload command was run. @var{file} @emph{should not} depend on the Octave load path. Normally, calls to @code{autoload} appear in PKG_ADD script files that @@ -1630,7 +1646,7 @@ @noindent will load the function @code{foo} from the file @code{bar.oct}. The above -usage when @code{bar.oct} is not in the same directory or usages such as +usage when @code{bar.oct} is not in the same directory, or usages such as @example autoload ("foo", file_in_loadpath ("bar.oct")) @@ -1641,7 +1657,7 @@ With no arguments, return a structure containing the current autoload map. -If a third argument @asis{'remove'} is given, the function is cleared and +If a third argument @qcode{"remove"} is given, the function is cleared and not loaded anymore during the current Octave session. @seealso{@ref{XREFPKG_ADD,,PKG_ADD}} @@ -1660,18 +1676,22 @@ As an example, @example -mlock ("my_function"); +@group +function my_function () + mlock (); + @dots{} +@end group @end example @noindent -prevents @code{my_function} from being removed from memory, even if -@code{clear} is called. It is possible to determine if a function is -locked into memory with the @code{mislocked}, and to unlock a function -with @code{munlock}, which the following illustrates. +prevents @code{my_function} from being removed from memory after it is +called, even if @code{clear} is called. It is possible to determine if +a function is locked into memory with the @code{mislocked}, and to unlock +a function with @code{munlock}, which the following illustrates. @example @group -mlock ("my_function"); +my_function (); mislocked ("my_function") @result{} ans = 1 munlock ("my_function"); @@ -1686,11 +1706,11 @@ @example @group function count_calls () + mlock (); persistent calls = 0; printf ("'count_calls' has been called %d times\n", ++calls); endfunction -mlock ("count_calls"); count_calls (); @print{} 'count_calls' has been called 1 times @@ -1701,22 +1721,6 @@ @end group @end example -@noindent -It is, however, often inconvenient to lock a function from the prompt, -so it is also possible to lock a function from within its body. This -is simply done by calling @code{mlock} from within the function. - -@example -@group -function count_calls () - mlock (); - persistent calls = 0; - printf ("'count_calls' has been called %d times\n", - ++calls); -endfunction -@end group -@end example - @code{mlock} might equally be used to prevent changes to a function from having effect in Octave, though a similar effect can be had with the @code{ignore_function_time_stamp} function. @@ -1773,9 +1777,6 @@ An overloaded function of a class as in chapter @ref{Object Oriented Programming}. -@item Legacy Dispatch -An overloaded function as defined by @code{dispatch}. - @item Command-line Function A function that has been defined on the command-line. @@ -1788,8 +1789,8 @@ between these versions are in that order. @item Built-in function -A function that is builtin to Octave itself such as @code{numel}, -@code{size}, etc. +A function that is a part of core Octave such as @code{numel}, @code{size}, +etc. @end enumerate @node Script Files @@ -1897,9 +1898,11 @@ @c source libinterp/parse-tree/oct-parse.cc @anchor{XREFsource} @deftypefn {Built-in Function} {} source (@var{file}) -Parse and execute the contents of @var{file}. This is equivalent to -executing commands from a script file, but without requiring the file to -be named @file{@var{file}.m}. +Parse and execute the contents of @var{file}. + +This is equivalent to executing commands from a script file, but without +requiring the file to be named @file{@var{file}.m}. +@seealso{@ref{XREFrun,,run}} @end deftypefn @@ -1972,15 +1975,55 @@ @anchor{XREFis_function_handle} @deftypefn {Built-in Function} {} is_function_handle (@var{x}) Return true if @var{x} is a function handle. -@seealso{@ref{XREFisa,,isa}, @ref{XREFtypeinfo,,typeinfo}, @ref{XREFclass,,class}} +@seealso{@ref{XREFisa,,isa}, @ref{XREFtypeinfo,,typeinfo}, @ref{XREFclass,,class}, @ref{XREFfunctions,,functions}} @end deftypefn @c functions libinterp/octave-value/ov-fcn-handle.cc @anchor{XREFfunctions} -@deftypefn {Built-in Function} {} functions (@var{fcn_handle}) -Return a struct containing information about the function handle +@deftypefn {Built-in Function} {@var{s} =} functions (@var{fcn_handle}) +Return a structure containing information about the function handle @var{fcn_handle}. + +The structure @var{s} always contains these 3 fields: + +@table @asis +@item function +The function name. For an anonymous function (no name) this will be the +actual function definition. + +@item type +Type of the function. + +@table @asis +@item anonymous +The function is anonymous. + +@item private +The function is private. + +@item overloaded +The function overloads an existing function. + +@item simple +The function is a built-in or m-file function. + +@item subfunction +The function is a subfunction within an m-file. +@end table + +@item file +The m-file that will be called to perform the function. This field is empty +for anonymous and built-in functions. +@end table + +In addition, some function types may return more information in additional +fields. + +@strong{Warning:} @code{functions} is provided for debugging purposes only. +It's behavior may change in the future and programs should not depend on a +particular output. + @end deftypefn @@ -1989,6 +2032,7 @@ @deftypefn {Built-in Function} {} func2str (@var{fcn_handle}) Return a string containing the name of the function referenced by the function handle @var{fcn_handle}. +@seealso{@ref{XREFstr2func,,str2func}, @ref{XREFfunctions,,functions}} @end deftypefn @@ -1999,6 +2043,7 @@ Return a function handle constructed from the string @var{fcn_name}. If the optional @qcode{"global"} argument is passed, locally visible functions are ignored in the lookup. +@seealso{@ref{XREFfunc2str,,func2str}, @ref{XREFinline,,inline}} @end deftypefn @@ -2076,6 +2121,7 @@ @deftypefnx {Built-in Function} {} inline (@var{str}, @var{arg1}, @dots{}) @deftypefnx {Built-in Function} {} inline (@var{str}, @var{n}) Create an inline function from the character string @var{str}. + If called with a single argument, the arguments of the generated function are extracted from the function itself. The generated function arguments will then be in alphabetical order. It should @@ -2090,7 +2136,12 @@ If the second argument is an integer @var{n}, the arguments are @qcode{"x"}, @qcode{"P1"}, @dots{}, @qcode{"P@var{N}"}. -@seealso{@ref{XREFargnames,,argnames}, @ref{XREFformula,,formula}, @ref{XREFvectorize,,vectorize}} + +Programming Note: The use of @code{inline} is discouraged and it may be +removed from a future version of Octave. The preferred way to create +functions from strings is through the use of anonymous functions +(@pxref{Anonymous Functions}) or @code{str2func}. +@seealso{@ref{XREFargnames,,argnames}, @ref{XREFformula,,formula}, @ref{XREFvectorize,,vectorize}, @ref{XREFstr2func,,str2func}} @end deftypefn diff -Nru octave-3.8.0/doc/interpreter/func.txi octave-3.8.1/doc/interpreter/func.txi --- octave-3.8.0/doc/interpreter/func.txi 2013-12-27 21:58:17.000000000 +0000 +++ octave-3.8.1/doc/interpreter/func.txi 2014-03-06 19:37:51.000000000 +0000 @@ -1052,18 +1052,22 @@ As an example, @example -mlock ("my_function"); +@group +function my_function () + mlock (); + @dots{} +@end group @end example @noindent -prevents @code{my_function} from being removed from memory, even if -@code{clear} is called. It is possible to determine if a function is -locked into memory with the @code{mislocked}, and to unlock a function -with @code{munlock}, which the following illustrates. +prevents @code{my_function} from being removed from memory after it is +called, even if @code{clear} is called. It is possible to determine if +a function is locked into memory with the @code{mislocked}, and to unlock +a function with @code{munlock}, which the following illustrates. @example @group -mlock ("my_function"); +my_function (); mislocked ("my_function") @result{} ans = 1 munlock ("my_function"); @@ -1078,11 +1082,11 @@ @example @group function count_calls () + mlock (); persistent calls = 0; printf ("'count_calls' has been called %d times\n", ++calls); endfunction -mlock ("count_calls"); count_calls (); @print{} 'count_calls' has been called 1 times @@ -1093,22 +1097,6 @@ @end group @end example -@noindent -It is, however, often inconvenient to lock a function from the prompt, -so it is also possible to lock a function from within its body. This -is simply done by calling @code{mlock} from within the function. - -@example -@group -function count_calls () - mlock (); - persistent calls = 0; - printf ("'count_calls' has been called %d times\n", - ++calls); -endfunction -@end group -@end example - @code{mlock} might equally be used to prevent changes to a function from having effect in Octave, though a similar effect can be had with the @code{ignore_function_time_stamp} function. @@ -1143,9 +1131,6 @@ An overloaded function of a class as in chapter @ref{Object Oriented Programming}. -@item Legacy Dispatch -An overloaded function as defined by @code{dispatch}. - @item Command-line Function A function that has been defined on the command-line. @@ -1158,8 +1143,8 @@ between these versions are in that order. @item Built-in function -A function that is builtin to Octave itself such as @code{numel}, -@code{size}, etc. +A function that is a part of core Octave such as @code{numel}, @code{size}, +etc. @end enumerate @node Script Files diff -Nru octave-3.8.0/doc/interpreter/gplot.eps octave-3.8.1/doc/interpreter/gplot.eps --- octave-3.8.0/doc/interpreter/gplot.eps 2013-12-27 22:12:05.000000000 +0000 +++ octave-3.8.1/doc/interpreter/gplot.eps 2014-03-06 19:54:01.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: gplot.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:05 2013 +%%CreationDate: Thu Mar 6 14:54:01 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:05 2013) + /CreationDate (Thu Mar 6 14:54:01 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/gplot.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/gplot.pdf differ diff -Nru octave-3.8.0/doc/interpreter/griddata.eps octave-3.8.1/doc/interpreter/griddata.eps --- octave-3.8.0/doc/interpreter/griddata.eps 2013-12-27 22:12:04.000000000 +0000 +++ octave-3.8.1/doc/interpreter/griddata.eps 2014-03-06 19:53:59.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: griddata.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:04 2013 +%%CreationDate: Thu Mar 6 14:53:59 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:04 2013) + /CreationDate (Thu Mar 6 14:53:59 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/griddata.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/griddata.pdf differ diff -Nru octave-3.8.0/doc/interpreter/grid.eps octave-3.8.1/doc/interpreter/grid.eps --- octave-3.8.0/doc/interpreter/grid.eps 2013-12-27 22:12:07.000000000 +0000 +++ octave-3.8.1/doc/interpreter/grid.eps 2014-03-06 19:54:02.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: grid.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:07 2013 +%%CreationDate: Thu Mar 6 14:54:02 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:07 2013) + /CreationDate (Thu Mar 6 14:54:02 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/grid.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/grid.pdf differ diff -Nru octave-3.8.0/doc/interpreter/hist.eps octave-3.8.1/doc/interpreter/hist.eps --- octave-3.8.0/doc/interpreter/hist.eps 2013-12-27 22:12:05.000000000 +0000 +++ octave-3.8.1/doc/interpreter/hist.eps 2014-03-06 19:54:00.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: hist.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:05 2013 +%%CreationDate: Thu Mar 6 14:54:00 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:05 2013) + /CreationDate (Thu Mar 6 14:54:00 2014) /DOCINFO pdfmark end } ifelse @@ -639,56 +639,46 @@ 0 -88 V stroke 0.00 0.00 0.00 C 980 440 M -[ [({}) 200.0 0.0 true true 0 (-6)] -] -66.7 MCshow -0.500 UL -LTb -1957 640 M -0 88 V -0 3711 R -0 -88 V -stroke -0.00 0.00 0.00 C 1957 440 M [ [({}) 200.0 0.0 true true 0 (-4)] ] -66.7 MCshow 0.500 UL LTb -2933 640 M +2152 640 M 0 88 V 0 3711 R 0 -88 V stroke -0.00 0.00 0.00 C 2933 440 M +0.00 0.00 0.00 C 2152 440 M [ [({}) 200.0 0.0 true true 0 (-2)] ] -66.7 MCshow 0.500 UL LTb -3910 640 M +3324 640 M 0 88 V 0 3711 R 0 -88 V stroke -0.00 0.00 0.00 C 3910 440 M +0.00 0.00 0.00 C 3324 440 M [ [({}) 200.0 0.0 true true 0 (0)] ] -66.7 MCshow 0.500 UL LTb -4886 640 M +4495 640 M 0 88 V 0 3711 R 0 -88 V stroke -0.00 0.00 0.00 C 4886 440 M +0.00 0.00 0.00 C 4495 440 M [ [({}) 200.0 0.0 true true 0 (2)] ] -66.7 MCshow 0.500 UL LTb -5863 640 M +5667 640 M 0 88 V 0 3711 R 0 -88 V stroke -0.00 0.00 0.00 C 5863 440 M +0.00 0.00 0.00 C 5667 440 M [ [({}) 200.0 0.0 true true 0 (4)] ] -66.7 MCshow 0.500 UL @@ -730,597 +720,601 @@ % Begin plot #1 1.000 UL LT0 -0.00 0.00 0.50 C gsave 1920 640 N 0 0 V 0 3 V 107 0 V 0 -3 V 1 PolyFill -1920 640 M -0 3 V -107 0 V -0 -3 V +0.00 0.00 0.50 C gsave 1108 640 N 0 0 V 0 9 V 123 0 V 0 -9 V 1 PolyFill +1108 640 M +0 9 V +123 0 V +0 -9 V % End plot #1 % Begin plot #2 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 1920 640 M -0 3 V -107 0 V -0 -3 V --107 0 V +0.00 0.00 0.00 C 1108 640 M +0 9 V +123 0 V +0 -9 V +-123 0 V % End plot #2 % Begin plot #3 stroke 1.000 UL LT2 -0.00 0.00 0.50 C gsave 2054 640 N 0 0 V 0 0 V 107 0 V 0 0 V 1 PolyFill -2054 640 M -107 0 V +0.00 0.00 0.50 C gsave 1262 640 N 0 0 V 0 3 V 123 0 V 0 -3 V 1 PolyFill +1262 640 M +0 3 V +123 0 V +0 -3 V % End plot #3 % Begin plot #4 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 2054 640 M -107 0 V --107 0 V +0.00 0.00 0.00 C 1262 640 M +0 3 V +123 0 V +0 -3 V +-123 0 V % End plot #4 % Begin plot #5 stroke 1.000 UL LT4 -0.00 0.00 0.50 C gsave 2188 640 N 0 0 V 0 16 V 107 0 V 0 -16 V 1 PolyFill -2188 640 M -0 16 V -107 0 V -0 -16 V +0.00 0.00 0.50 C gsave 1416 640 N 0 0 V 0 28 V 123 0 V 0 -28 V 1 PolyFill +1416 640 M +0 28 V +123 0 V +0 -28 V % End plot #5 % Begin plot #6 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 2188 640 M -0 16 V -107 0 V -0 -16 V --107 0 V +0.00 0.00 0.00 C 1416 640 M +0 28 V +123 0 V +0 -28 V +-123 0 V % End plot #6 % Begin plot #7 stroke 1.000 UL LT6 -0.00 0.00 0.50 C gsave 2322 640 N 0 0 V 0 16 V 108 0 V 0 -16 V 1 PolyFill -2322 640 M -0 16 V -108 0 V -0 -16 V +0.00 0.00 0.50 C gsave 1570 640 N 0 0 V 0 44 V 124 0 V 0 -44 V 1 PolyFill +1570 640 M +0 44 V +124 0 V +0 -44 V % End plot #7 % Begin plot #8 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 2322 640 M -0 16 V -108 0 V -0 -16 V --108 0 V +0.00 0.00 0.00 C 1570 640 M +0 44 V +124 0 V +0 -44 V +-124 0 V % End plot #8 % Begin plot #9 stroke 1.000 UL LT8 -0.00 0.00 0.50 C gsave 2456 640 N 0 0 V 0 54 V 108 0 V 0 -54 V 1 PolyFill -2456 640 M -0 54 V -108 0 V -0 -54 V +0.00 0.00 0.50 C gsave 1725 640 N 0 0 V 0 101 V 123 0 V 0 -101 V 1 PolyFill +1725 640 M +0 101 V +123 0 V +0 -101 V % End plot #9 % Begin plot #10 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 2456 640 M -0 54 V -108 0 V -0 -54 V --108 0 V +0.00 0.00 0.00 C 1725 640 M +0 101 V +123 0 V +0 -101 V +-123 0 V % End plot #10 % Begin plot #11 stroke 1.000 UL LT1 -0.00 0.00 0.50 C gsave 2591 640 N 0 0 V 0 123 V 107 0 V 0 -123 V 1 PolyFill -2591 640 M -0 123 V -107 0 V -0 -123 V +0.00 0.00 0.50 C gsave 1879 640 N 0 0 V 0 209 V 123 0 V 0 -209 V 1 PolyFill +1879 640 M +0 209 V +123 0 V +0 -209 V % End plot #11 % Begin plot #12 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 2591 640 M -0 123 V -107 0 V -0 -123 V --107 0 V +0.00 0.00 0.00 C 1879 640 M +0 209 V +123 0 V +0 -209 V +-123 0 V % End plot #12 % Begin plot #13 stroke 1.000 UL LT3 -0.00 0.00 0.50 C gsave 2725 640 N 0 0 V 0 225 V 107 0 V 0 -225 V 1 PolyFill -2725 640 M -0 225 V -107 0 V -0 -225 V +0.00 0.00 0.50 C gsave 2033 640 N 0 0 V 0 389 V 123 0 V 0 -389 V 1 PolyFill +2033 640 M +0 389 V +123 0 V +0 -389 V % End plot #13 % Begin plot #14 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 2725 640 M -0 225 V -107 0 V -0 -225 V --107 0 V +0.00 0.00 0.00 C 2033 640 M +0 389 V +123 0 V +0 -389 V +-123 0 V % End plot #14 % Begin plot #15 stroke 1.000 UL LT5 -0.00 0.00 0.50 C gsave 2859 640 N 0 0 V 0 399 V 108 0 V 0 -399 V 1 PolyFill -2859 640 M -0 399 V -108 0 V -0 -399 V +0.00 0.00 0.50 C gsave 2187 640 N 0 0 V 0 595 V 124 0 V 0 -595 V 1 PolyFill +2187 640 M +0 595 V +124 0 V +0 -595 V % End plot #15 % Begin plot #16 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 2859 640 M -0 399 V -108 0 V -0 -399 V --108 0 V +0.00 0.00 0.00 C 2187 640 M +0 595 V +124 0 V +0 -595 V +-124 0 V % End plot #16 % Begin plot #17 stroke 1.000 UL LT7 -0.00 0.00 0.50 C gsave 2993 640 N 0 0 V 0 763 V 108 0 V 0 -763 V 1 PolyFill -2993 640 M -0 763 V -108 0 V -0 -763 V +0.00 0.00 0.50 C gsave 2341 640 N 0 0 V 0 934 V 124 0 V 0 -934 V 1 PolyFill +2341 640 M +0 934 V +124 0 V +0 -934 V % End plot #17 % Begin plot #18 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 2993 640 M -0 763 V -108 0 V -0 -763 V --108 0 V +0.00 0.00 0.00 C 2341 640 M +0 934 V +124 0 V +0 -934 V +-124 0 V % End plot #18 % Begin plot #19 stroke 1.000 UL LT0 -0.00 0.00 0.50 C gsave 3128 640 N 0 0 V 0 1130 V 107 0 V 0 -1130 V 1 PolyFill -3128 640 M -0 1130 V -107 0 V -0 -1130 V +0.00 0.00 0.50 C gsave 2496 640 N 0 0 V 0 1412 V 123 0 V 0 -1412 V 1 PolyFill +2496 640 M +0 1412 V +123 0 V +0 -1412 V % End plot #19 % Begin plot #20 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 3128 640 M -0 1130 V -107 0 V -0 -1130 V --107 0 V +0.00 0.00 0.00 C 2496 640 M +0 1412 V +123 0 V +0 -1412 V +-123 0 V % End plot #20 % Begin plot #21 stroke 1.000 UL LT2 -0.00 0.00 0.50 C gsave 3262 640 N 0 0 V 0 1586 V 107 0 V 0 -1586 V 1 PolyFill -3262 640 M -0 1586 V -107 0 V -0 -1586 V +0.00 0.00 0.50 C gsave 2650 640 N 0 0 V 0 1915 V 123 0 V 0 -1915 V 1 PolyFill +2650 640 M +0 1915 V +123 0 V +0 -1915 V % End plot #21 % Begin plot #22 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 3262 640 M -0 1586 V -107 0 V -0 -1586 V --107 0 V +0.00 0.00 0.00 C 2650 640 M +0 1915 V +123 0 V +0 -1915 V +-123 0 V % End plot #22 % Begin plot #23 stroke 1.000 UL LT4 -0.00 0.00 0.50 C gsave 3396 640 N 0 0 V 0 2333 V 107 0 V 0 -2333 V 1 PolyFill -3396 640 M -0 2333 V -107 0 V -0 -2333 V +0.00 0.00 0.50 C gsave 2804 640 N 0 0 V 0 2504 V 124 0 V 0 -2504 V 1 PolyFill +2804 640 M +0 2504 V +124 0 V +0 -2504 V % End plot #23 % Begin plot #24 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 3396 640 M -0 2333 V -107 0 V -0 -2333 V --107 0 V +0.00 0.00 0.00 C 2804 640 M +0 2504 V +124 0 V +0 -2504 V +-124 0 V % End plot #24 % Begin plot #25 stroke 1.000 UL LT6 -0.00 0.00 0.50 C gsave 3530 640 N 0 0 V 0 2808 V 108 0 V 0 -2808 V 1 PolyFill -3530 640 M -0 2808 V -108 0 V -0 -2808 V +0.00 0.00 0.50 C gsave 2958 640 N 0 0 V 0 2966 V 124 0 V 0 -2966 V 1 PolyFill +2958 640 M +0 2966 V +124 0 V +0 -2966 V % End plot #25 % Begin plot #26 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 3530 640 M -0 2808 V -108 0 V -0 -2808 V --108 0 V +0.00 0.00 0.00 C 2958 640 M +0 2966 V +124 0 V +0 -2966 V +-124 0 V % End plot #26 % Begin plot #27 stroke 1.000 UL LT8 -0.00 0.00 0.50 C gsave 3665 640 N 0 0 V 0 3109 V 107 0 V 0 -3109 V 1 PolyFill -3665 640 M -0 3109 V -107 0 V -0 -3109 V +0.00 0.00 0.50 C gsave 3113 640 N 0 0 V 0 3365 V 123 0 V 0 -3365 V 1 PolyFill +3113 640 M +0 3365 V +123 0 V +0 -3365 V % End plot #27 % Begin plot #28 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 3665 640 M -0 3109 V -107 0 V -0 -3109 V --107 0 V +0.00 0.00 0.00 C 3113 640 M +0 3365 V +123 0 V +0 -3365 V +-123 0 V % End plot #28 % Begin plot #29 stroke 1.000 UL LT1 -0.00 0.00 0.50 C gsave 3799 640 N 0 0 V 0 3470 V 107 0 V 0 -3470 V 1 PolyFill -3799 640 M -0 3470 V -107 0 V -0 -3470 V +0.00 0.00 0.50 C gsave 3267 640 N 0 0 V 0 3201 V 123 0 V 0 -3201 V 1 PolyFill +3267 640 M +0 3201 V +123 0 V +0 -3201 V % End plot #29 % Begin plot #30 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 3799 640 M -0 3470 V -107 0 V -0 -3470 V --107 0 V +0.00 0.00 0.00 C 3267 640 M +0 3201 V +123 0 V +0 -3201 V +-123 0 V % End plot #30 % Begin plot #31 stroke 1.000 UL LT3 -0.00 0.00 0.50 C gsave 3933 640 N 0 0 V 0 3403 V 107 0 V 0 -3403 V 1 PolyFill -3933 640 M -0 3403 V -107 0 V -0 -3403 V +0.00 0.00 0.50 C gsave 3421 640 N 0 0 V 0 3311 V 124 0 V 0 -3311 V 1 PolyFill +3421 640 M +0 3311 V +124 0 V +0 -3311 V % End plot #31 % Begin plot #32 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 3933 640 M -0 3403 V -107 0 V -0 -3403 V --107 0 V +0.00 0.00 0.00 C 3421 640 M +0 3311 V +124 0 V +0 -3311 V +-124 0 V % End plot #32 % Begin plot #33 stroke 1.000 UL LT5 -0.00 0.00 0.50 C gsave 4067 640 N 0 0 V 0 3033 V 108 0 V 0 -3033 V 1 PolyFill -4067 640 M -0 3033 V -108 0 V -0 -3033 V +0.00 0.00 0.50 C gsave 3575 640 N 0 0 V 0 2859 V 124 0 V 0 -2859 V 1 PolyFill +3575 640 M +0 2859 V +124 0 V +0 -2859 V % End plot #33 % Begin plot #34 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 4067 640 M -0 3033 V -108 0 V -0 -3033 V --108 0 V +0.00 0.00 0.00 C 3575 640 M +0 2859 V +124 0 V +0 -2859 V +-124 0 V % End plot #34 % Begin plot #35 stroke 1.000 UL LT7 -0.00 0.00 0.50 C gsave 4201 640 N 0 0 V 0 2852 V 108 0 V 0 -2852 V 1 PolyFill -4201 640 M -0 2852 V -108 0 V -0 -2852 V +0.00 0.00 0.50 C gsave 3730 640 N 0 0 V 0 2238 V 123 0 V 0 -2238 V 1 PolyFill +3730 640 M +0 2238 V +123 0 V +0 -2238 V % End plot #35 % Begin plot #36 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 4201 640 M -0 2852 V -108 0 V -0 -2852 V --108 0 V +0.00 0.00 0.00 C 3730 640 M +0 2238 V +123 0 V +0 -2238 V +-123 0 V % End plot #36 % Begin plot #37 stroke 1.000 UL LT0 -0.00 0.00 0.50 C gsave 4336 640 N 0 0 V 0 2203 V 107 0 V 0 -2203 V 1 PolyFill -4336 640 M -0 2203 V -107 0 V -0 -2203 V +0.00 0.00 0.50 C gsave 3884 640 N 0 0 V 0 1918 V 123 0 V 0 -1918 V 1 PolyFill +3884 640 M +0 1918 V +123 0 V +0 -1918 V % End plot #37 % Begin plot #38 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 4336 640 M -0 2203 V -107 0 V -0 -2203 V --107 0 V +0.00 0.00 0.00 C 3884 640 M +0 1918 V +123 0 V +0 -1918 V +-123 0 V % End plot #38 % Begin plot #39 stroke 1.000 UL LT2 -0.00 0.00 0.50 C gsave 4470 640 N 0 0 V 0 1488 V 107 0 V 0 -1488 V 1 PolyFill -4470 640 M -0 1488 V -107 0 V -0 -1488 V +0.00 0.00 0.50 C gsave 4038 640 N 0 0 V 0 1491 V 123 0 V 0 -1491 V 1 PolyFill +4038 640 M +0 1491 V +123 0 V +0 -1491 V % End plot #39 % Begin plot #40 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 4470 640 M -0 1488 V -107 0 V -0 -1488 V --107 0 V +0.00 0.00 0.00 C 4038 640 M +0 1491 V +123 0 V +0 -1491 V +-123 0 V % End plot #40 % Begin plot #41 stroke 1.000 UL LT4 -0.00 0.00 0.50 C gsave 4604 640 N 0 0 V 0 1127 V 108 0 V 0 -1127 V 1 PolyFill -4604 640 M -0 1127 V -108 0 V -0 -1127 V +0.00 0.00 0.50 C gsave 4192 640 N 0 0 V 0 937 V 124 0 V 0 -937 V 1 PolyFill +4192 640 M +0 937 V +124 0 V +0 -937 V % End plot #41 % Begin plot #42 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 4604 640 M -0 1127 V -108 0 V -0 -1127 V --108 0 V +0.00 0.00 0.00 C 4192 640 M +0 937 V +124 0 V +0 -937 V +-124 0 V % End plot #42 % Begin plot #43 stroke 1.000 UL LT6 -0.00 0.00 0.50 C gsave 4738 640 N 0 0 V 0 674 V 108 0 V 0 -674 V 1 PolyFill -4738 640 M -0 674 V -108 0 V -0 -674 V +0.00 0.00 0.50 C gsave 4347 640 N 0 0 V 0 560 V 123 0 V 0 -560 V 1 PolyFill +4347 640 M +0 560 V +123 0 V +0 -560 V % End plot #43 % Begin plot #44 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 4738 640 M -0 674 V -108 0 V -0 -674 V --108 0 V +0.00 0.00 0.00 C 4347 640 M +0 560 V +123 0 V +0 -560 V +-123 0 V % End plot #44 % Begin plot #45 stroke 1.000 UL LT8 -0.00 0.00 0.50 C gsave 4873 640 N 0 0 V 0 370 V 107 0 V 0 -370 V 1 PolyFill -4873 640 M -0 370 V -107 0 V -0 -370 V +0.00 0.00 0.50 C gsave 4501 640 N 0 0 V 0 313 V 123 0 V 0 -313 V 1 PolyFill +4501 640 M +0 313 V +123 0 V +0 -313 V % End plot #45 % Begin plot #46 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 4873 640 M -0 370 V -107 0 V -0 -370 V --107 0 V +0.00 0.00 0.00 C 4501 640 M +0 313 V +123 0 V +0 -313 V +-123 0 V % End plot #46 % Begin plot #47 stroke 1.000 UL LT1 -0.00 0.00 0.50 C gsave 5007 640 N 0 0 V 0 253 V 107 0 V 0 -253 V 1 PolyFill -5007 640 M -0 253 V -107 0 V -0 -253 V +0.00 0.00 0.50 C gsave 4655 640 N 0 0 V 0 139 V 123 0 V 0 -139 V 1 PolyFill +4655 640 M +0 139 V +123 0 V +0 -139 V % End plot #47 % Begin plot #48 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 5007 640 M -0 253 V -107 0 V -0 -253 V --107 0 V +0.00 0.00 0.00 C 4655 640 M +0 139 V +123 0 V +0 -139 V +-123 0 V % End plot #48 % Begin plot #49 stroke 1.000 UL LT3 -0.00 0.00 0.50 C gsave 5141 640 N 0 0 V 0 130 V 107 0 V 0 -130 V 1 PolyFill -5141 640 M -0 130 V -107 0 V -0 -130 V +0.00 0.00 0.50 C gsave 4809 640 N 0 0 V 0 120 V 124 0 V 0 -120 V 1 PolyFill +4809 640 M +0 120 V +124 0 V +0 -120 V % End plot #49 % Begin plot #50 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 5141 640 M -0 130 V -107 0 V -0 -130 V --107 0 V +0.00 0.00 0.00 C 4809 640 M +0 120 V +124 0 V +0 -120 V +-124 0 V % End plot #50 % Begin plot #51 stroke 1.000 UL LT5 -0.00 0.00 0.50 C gsave 5275 640 N 0 0 V 0 63 V 108 0 V 0 -63 V 1 PolyFill -5275 640 M -0 63 V -108 0 V -0 -63 V +0.00 0.00 0.50 C gsave 4963 640 N 0 0 V 0 38 V 124 0 V 0 -38 V 1 PolyFill +4963 640 M +0 38 V +124 0 V +0 -38 V % End plot #51 % Begin plot #52 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 5275 640 M -0 63 V -108 0 V -0 -63 V --108 0 V +0.00 0.00 0.00 C 4963 640 M +0 38 V +124 0 V +0 -38 V +-124 0 V % End plot #52 % Begin plot #53 stroke 1.000 UL LT7 -0.00 0.00 0.50 C gsave 5410 640 N 0 0 V 0 3 V 107 0 V 0 -3 V 1 PolyFill -5410 640 M -0 3 V -107 0 V -0 -3 V +0.00 0.00 0.50 C gsave 5118 640 N 0 0 V 0 41 V 123 0 V 0 -41 V 1 PolyFill +5118 640 M +0 41 V +123 0 V +0 -41 V % End plot #53 % Begin plot #54 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 5410 640 M -0 3 V -107 0 V -0 -3 V --107 0 V +0.00 0.00 0.00 C 5118 640 M +0 41 V +123 0 V +0 -41 V +-123 0 V % End plot #54 % Begin plot #55 stroke 1.000 UL LT0 -0.00 0.00 0.50 C gsave 5544 640 N 0 0 V 0 13 V 107 0 V 0 -13 V 1 PolyFill -5544 640 M -0 13 V -107 0 V -0 -13 V +0.00 0.00 0.50 C gsave 5272 640 N 0 0 V 0 3 V 123 0 V 0 -3 V 1 PolyFill +5272 640 M +0 3 V +123 0 V +0 -3 V % End plot #55 % Begin plot #56 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 5544 640 M -0 13 V -107 0 V -0 -13 V --107 0 V +0.00 0.00 0.00 C 5272 640 M +0 3 V +123 0 V +0 -3 V +-123 0 V % End plot #56 % Begin plot #57 stroke 1.000 UL LT2 -0.00 0.00 0.50 C gsave 5678 640 N 0 0 V 0 6 V 107 0 V 0 -6 V 1 PolyFill -5678 640 M +0.00 0.00 0.50 C gsave 5426 640 N 0 0 V 0 6 V 124 0 V 0 -6 V 1 PolyFill +5426 640 M 0 6 V -107 0 V +124 0 V 0 -6 V % End plot #57 % Begin plot #58 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 5678 640 M +0.00 0.00 0.00 C 5426 640 M 0 6 V -107 0 V +124 0 V 0 -6 V --107 0 V +-124 0 V % End plot #58 % Begin plot #59 stroke 1.000 UL LT4 -0.00 0.00 0.50 C gsave 5812 640 N 0 0 V 0 3 V 108 0 V 0 -3 V 1 PolyFill -5812 640 M +0.00 0.00 0.50 C gsave 5580 640 N 0 0 V 0 3 V 124 0 V 0 -3 V 1 PolyFill +5580 640 M 0 3 V -108 0 V +124 0 V 0 -3 V % End plot #59 % Begin plot #60 stroke 0.500 UL LT0 -0.00 0.00 0.00 C 5812 640 M +0.00 0.00 0.00 C 5580 640 M 0 3 V -108 0 V +124 0 V 0 -3 V --108 0 V +-124 0 V % End plot #60 % Begin plot #61 stroke Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/hist.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/hist.pdf differ Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/hist.png and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/hist.png differ diff -Nru octave-3.8.0/doc/interpreter/inpolygon.eps octave-3.8.1/doc/interpreter/inpolygon.eps --- octave-3.8.0/doc/interpreter/inpolygon.eps 2013-12-27 22:12:04.000000000 +0000 +++ octave-3.8.1/doc/interpreter/inpolygon.eps 2014-03-06 19:53:59.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: inpolygon.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:04 2013 +%%CreationDate: Thu Mar 6 14:53:59 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:04 2013) + /CreationDate (Thu Mar 6 14:53:59 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/inpolygon.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/inpolygon.pdf differ diff -Nru octave-3.8.0/doc/interpreter/install.texi octave-3.8.1/doc/interpreter/install.texi --- octave-3.8.0/doc/interpreter/install.texi 2013-12-27 22:12:01.000000000 +0000 +++ octave-3.8.1/doc/interpreter/install.texi 2014-03-06 19:53:57.000000000 +0000 @@ -172,6 +172,17 @@ Package for building software libraries (@url{http://www.gnu.org/software/libtool}). Libtool is required by Automake. + +@item gperf +Perfect hash function generator (@url{http://www.gnu.org/software/gperf}). +You will need gperf if you modify the @code{octave.gperf} file or if you +delete the file that is generated from it. + +@item Texinfo +Package for generating online and print documentation +(@url{http://www.gnu.org/software/texinfo}). You will need Texinfo to +build Octave's documentation or if you modify the documentation source +files or the docstring of any Octave function. @end table @node External Packages @@ -257,6 +268,12 @@ (@url{http://www.hdfgroup.org/HDF5}). @sc{hdf5} is required for Octave's @code{load} and @code{save} commands to read and write HDF data files. +@item Java Development Kit +Java programming language compiler and libraries. The OpenJDK free +software implementation is recommended (@url{http://openjdk.java.net/}), +although other JDK implementations may work. Java is required to be able +to call Java functions from within Octave. + @item LLVM Compiler framework, (@url{http://www.llvm.org}). LLVM is required for Octave's experimental just-in-time (JIT) compilation for speeding up the diff -Nru octave-3.8.0/doc/interpreter/install.txi octave-3.8.1/doc/interpreter/install.txi --- octave-3.8.0/doc/interpreter/install.txi 2013-12-27 21:57:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/install.txi 2014-03-06 19:37:51.000000000 +0000 @@ -170,6 +170,17 @@ Package for building software libraries (@url{http://www.gnu.org/software/libtool}). Libtool is required by Automake. + +@item gperf +Perfect hash function generator (@url{http://www.gnu.org/software/gperf}). +You will need gperf if you modify the @code{octave.gperf} file or if you +delete the file that is generated from it. + +@item Texinfo +Package for generating online and print documentation +(@url{http://www.gnu.org/software/texinfo}). You will need Texinfo to +build Octave's documentation or if you modify the documentation source +files or the docstring of any Octave function. @end table @node External Packages @@ -255,6 +266,12 @@ (@url{http://www.hdfgroup.org/HDF5}). @sc{hdf5} is required for Octave's @code{load} and @code{save} commands to read and write HDF data files. +@item Java Development Kit +Java programming language compiler and libraries. The OpenJDK free +software implementation is recommended (@url{http://openjdk.java.net/}), +although other JDK implementations may work. Java is required to be able +to call Java functions from within Octave. + @item LLVM Compiler framework, (@url{http://www.llvm.org}). LLVM is required for Octave's experimental just-in-time (JIT) compilation for speeding up the diff -Nru octave-3.8.0/doc/interpreter/interpderiv1.eps octave-3.8.1/doc/interpreter/interpderiv1.eps --- octave-3.8.0/doc/interpreter/interpderiv1.eps 2013-12-27 22:12:04.000000000 +0000 +++ octave-3.8.1/doc/interpreter/interpderiv1.eps 2014-03-06 19:54:00.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: interpderiv1.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:04 2013 +%%CreationDate: Thu Mar 6 14:53:59 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:04 2013) + /CreationDate (Thu Mar 6 14:53:59 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/interpderiv1.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/interpderiv1.pdf differ diff -Nru octave-3.8.0/doc/interpreter/interpderiv2.eps octave-3.8.1/doc/interpreter/interpderiv2.eps --- octave-3.8.0/doc/interpreter/interpderiv2.eps 2013-12-27 22:12:05.000000000 +0000 +++ octave-3.8.1/doc/interpreter/interpderiv2.eps 2014-03-06 19:54:00.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: interpderiv2.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:05 2013 +%%CreationDate: Thu Mar 6 14:54:00 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:05 2013) + /CreationDate (Thu Mar 6 14:54:00 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/interpderiv2.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/interpderiv2.pdf differ diff -Nru octave-3.8.0/doc/interpreter/interpft.eps octave-3.8.1/doc/interpreter/interpft.eps --- octave-3.8.0/doc/interpreter/interpft.eps 2013-12-27 22:12:04.000000000 +0000 +++ octave-3.8.1/doc/interpreter/interpft.eps 2014-03-06 19:54:00.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: interpft.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:04 2013 +%%CreationDate: Thu Mar 6 14:53:59 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:04 2013) + /CreationDate (Thu Mar 6 14:53:59 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/interpft.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/interpft.pdf differ diff -Nru octave-3.8.0/doc/interpreter/interpn.eps octave-3.8.1/doc/interpreter/interpn.eps --- octave-3.8.0/doc/interpreter/interpn.eps 2013-12-27 22:12:04.000000000 +0000 +++ octave-3.8.1/doc/interpreter/interpn.eps 2014-03-06 19:54:00.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: interpn.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:04 2013 +%%CreationDate: Thu Mar 6 14:53:59 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:04 2013) + /CreationDate (Thu Mar 6 14:53:59 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/interpn.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/interpn.pdf differ diff -Nru octave-3.8.0/doc/interpreter/interp.texi octave-3.8.1/doc/interpreter/interp.texi --- octave-3.8.0/doc/interpreter/interp.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/interp.texi 2014-03-06 19:53:58.000000000 +0000 @@ -39,18 +39,22 @@ @deftypefnx {Function File} {@var{yi} =} interp1 (@var{y}, @var{xi}) @deftypefnx {Function File} {@var{yi} =} interp1 (@dots{}, @var{method}) @deftypefnx {Function File} {@var{yi} =} interp1 (@dots{}, @var{extrap}) +@deftypefnx {Function File} {@var{yi} =} interp1 (@dots{}, "left") +@deftypefnx {Function File} {@var{yi} =} interp1 (@dots{}, "right") @deftypefnx {Function File} {@var{pp} =} interp1 (@dots{}, "pp") -One-dimensional interpolation. Interpolates to determine the value of -@var{yi} at the points, @var{xi}. If not specified, @var{x} is taken -to be the indices of @var{y}. If @var{y} is a matrix or an N-dimensional -array, the interpolation is performed on each column of @var{y}. +One-dimensional interpolation. + +Interpolate input data to determine the value of @var{yi} at the points +@var{xi}. If not specified, @var{x} is taken to be the indices of @var{y}. +If @var{y} is a matrix or an N-dimensional array, the interpolation is +performed on each column of @var{y}. Method is one of: @table @asis @item @qcode{"nearest"} -Return the nearest neighbor. +Return the nearest neighbor @item @qcode{"linear"} Linear interpolation from nearest neighbors @@ -66,18 +70,19 @@ throughout the curve @end table -Appending '*' to the start of the above method forces @code{interp1} +Adding '*' to the start of any method above forces @code{interp1} to assume that @var{x} is uniformly spaced, and only @code{@var{x}(1)} and @code{@var{x}(2)} are referenced. This is usually faster, and is never slower. The default method is @qcode{"linear"}. If @var{extrap} is the string @qcode{"extrap"}, then extrapolate values -beyond the endpoints. If @var{extrap} is a number, replace values beyond -the endpoints with that number. If @var{extrap} is missing, assume NA. - -If the string argument @qcode{"pp"} is specified, then @var{xi} should not be -supplied and @code{interp1} returns the piecewise polynomial that -can later be used with @code{ppval} to evaluate the interpolation. +beyond the endpoints using the current @var{method}. If @var{extrap} is a +number, then replace values beyond the endpoints with that number. When +unspecified, @var{extrap} defaults to NA. + +If the string argument @qcode{"pp"} is specified, then @var{xi} should not +be supplied and @code{interp1} returns a piecewise polynomial object. This +object can later be used with @code{ppval} to evaluate the interpolation. There is an equivalence, such that @code{ppval (interp1 (@var{x}, @var{y}, @var{method}, @qcode{"pp"}), @var{xi}) == interp1 (@var{x}, @var{y}, @var{xi}, @var{method}, @qcode{"extrap"})}. @@ -88,7 +93,7 @@ right-continuous. If @var{x} is decreasing, the default discontinuous interpolant is left-continuous. The continuity condition of the interpolant may be specified by using -the options, @qcode{"-left"} or @qcode{"-right"}, to select a left-continuous +the options, @qcode{"left"} or @qcode{"right"}, to select a left-continuous or right-continuous interpolant, respectively. Discontinuous interpolation is only allowed for @qcode{"nearest"} and @qcode{"linear"} methods; in all other cases, the @var{x}-values must be @@ -112,7 +117,7 @@ @end group @end example -@seealso{@ref{XREFinterpft,,interpft}} +@seealso{@ref{XREFinterpft,,interpft}, @ref{XREFinterp2,,interp2}, @ref{XREFinterp3,,interp3}, @ref{XREFinterpn,,interpn}} @end deftypefn diff -Nru octave-3.8.0/doc/interpreter/linalg.texi octave-3.8.1/doc/interpreter/linalg.texi --- octave-3.8.0/doc/interpreter/linalg.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/linalg.texi 2014-03-06 19:53:58.000000000 +0000 @@ -20,11 +20,21 @@ @node Linear Algebra @chapter Linear Algebra +@cindex linear algebra -This chapter documents the linear algebra functions of Octave. -Reference material for many of these functions may be found in -Golub and Van Loan, @cite{Matrix Computations, 2nd Ed.}, Johns Hopkins, -1989, and in the @cite{@sc{lapack} Users' Guide}, SIAM, 1992. +This chapter documents the linear algebra functions provided in Octave. +Reference material for many of these functions may be found in Golub and +Van Loan, @cite{Matrix Computations, 2nd Ed.}, Johns Hopkins, 1989, and +in the @cite{@sc{lapack} Users' Guide}, SIAM, 1992. The +@cite{@sc{lapack} Users' Guide} is available at: +@cite{http://www.netlib.org/lapack/lug/} + +A common text for engineering courses is G. Strang, @cite{Linear Algebra +and Its Applications, 4th Edition}. It has become a widespread reference +for linear algebra. An alternative is P. Lax @cite{Linear Algebra and +Its Applications}, and also is a good choice. It claims to be suitable +for high school students with substantial mathematical interests as well +as first-year undergraduates. @menu * Techniques Used for Linear Algebra:: @@ -36,19 +46,20 @@ @node Techniques Used for Linear Algebra @section Techniques Used for Linear Algebra +@cindex linear algebra, techniques -Octave includes a polymorphic solver, that selects an appropriate -matrix factorization depending on the properties of the matrix itself. -Generally, the cost of determining the matrix type is small relative to -the cost of factorizing the matrix itself, but in any case the matrix -type is cached once it is calculated, so that it is not re-determined -each time it is used in a linear equation. +Octave includes a polymorphic solver that selects an appropriate matrix +factorization depending on the properties of the matrix itself. +Generally, the cost of determining the matrix type is small relative to +the cost of factorizing the matrix itself. In any case the matrix type +is cached once it is calculated so that it is not re-determined each +time it is used in a linear equation. -The selection tree for how the linear equation is solve or a matrix -inverse is form is given by +The selection tree for how the linear equation is solved or a matrix +inverse is formed is given by: @enumerate 1 -@item If the matrix is upper or lower triangular sparse a forward or +@item If the matrix is upper or lower triangular sparse use a forward or backward substitution using the @sc{lapack} xTRTRS function, and goto 4. @c Permuted triangular matrices currently disabled in the code @@ -76,13 +87,14 @@ used with care. It should be noted that the test for whether a matrix is a candidate for -Cholesky@tie{}factorization, performed above and by the @code{matrix_type} -function, does not give a certainty that the matrix is +Cholesky@tie{}factorization, performed above, and by the @code{matrix_type} +function, does not make certain that the matrix is Hermitian. However, the attempt to factorize the matrix will quickly -flag a non-Hermitian matrix. +detect a non-Hermitian matrix. @node Basic Matrix Functions @section Basic Matrix Functions +@cindex matrix functions, basic @c balance libinterp/corefcn/balance.cc @anchor{XREFbalance} @@ -525,6 +537,7 @@ where @code{sigma_max (@var{x})} is the maximal singular value of @var{x}. @end deftypefn +@cindex pseudoinverse @c rank scripts/linear-algebra/rank.m @anchor{XREFrank} @@ -611,6 +624,7 @@ @node Matrix Factorizations @section Matrix Factorizations +@cindex matrix factorizations @c chol libinterp/dldfcn/chol.cc @anchor{XREFchol} @@ -1006,7 +1020,7 @@ $QR = A$ where $Q$ is an orthogonal matrix and $R$ is upper triangular. @end tex @ifnottex -@code{@var{Q} * @var{Q} = @var{A}} where @var{Q} is an orthogonal matrix and +@code{@var{Q} * @var{R} = @var{A}} where @var{Q} is an orthogonal matrix and @var{R} is upper triangular. @end ifnottex @@ -1568,6 +1582,7 @@ @node Functions of a Matrix @section Functions of a Matrix +@cindex matrix, functions of @c expm scripts/linear-algebra/expm.m @anchor{XREFexpm} @@ -1740,6 +1755,7 @@ @node Specialized Solvers @section Specialized Solvers +@cindex matrix, specialized solvers @c bicg scripts/sparse/bicg.m @anchor{XREFbicg} diff -Nru octave-3.8.0/doc/interpreter/linalg.txi octave-3.8.1/doc/interpreter/linalg.txi --- octave-3.8.0/doc/interpreter/linalg.txi 2013-12-27 21:57:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/linalg.txi 2014-03-06 19:37:51.000000000 +0000 @@ -18,11 +18,21 @@ @node Linear Algebra @chapter Linear Algebra +@cindex linear algebra -This chapter documents the linear algebra functions of Octave. -Reference material for many of these functions may be found in -Golub and Van Loan, @cite{Matrix Computations, 2nd Ed.}, Johns Hopkins, -1989, and in the @cite{@sc{lapack} Users' Guide}, SIAM, 1992. +This chapter documents the linear algebra functions provided in Octave. +Reference material for many of these functions may be found in Golub and +Van Loan, @cite{Matrix Computations, 2nd Ed.}, Johns Hopkins, 1989, and +in the @cite{@sc{lapack} Users' Guide}, SIAM, 1992. The +@cite{@sc{lapack} Users' Guide} is available at: +@cite{http://www.netlib.org/lapack/lug/} + +A common text for engineering courses is G. Strang, @cite{Linear Algebra +and Its Applications, 4th Edition}. It has become a widespread reference +for linear algebra. An alternative is P. Lax @cite{Linear Algebra and +Its Applications}, and also is a good choice. It claims to be suitable +for high school students with substantial mathematical interests as well +as first-year undergraduates. @menu * Techniques Used for Linear Algebra:: @@ -34,19 +44,20 @@ @node Techniques Used for Linear Algebra @section Techniques Used for Linear Algebra +@cindex linear algebra, techniques -Octave includes a polymorphic solver, that selects an appropriate -matrix factorization depending on the properties of the matrix itself. -Generally, the cost of determining the matrix type is small relative to -the cost of factorizing the matrix itself, but in any case the matrix -type is cached once it is calculated, so that it is not re-determined -each time it is used in a linear equation. +Octave includes a polymorphic solver that selects an appropriate matrix +factorization depending on the properties of the matrix itself. +Generally, the cost of determining the matrix type is small relative to +the cost of factorizing the matrix itself. In any case the matrix type +is cached once it is calculated so that it is not re-determined each +time it is used in a linear equation. -The selection tree for how the linear equation is solve or a matrix -inverse is form is given by +The selection tree for how the linear equation is solved or a matrix +inverse is formed is given by: @enumerate 1 -@item If the matrix is upper or lower triangular sparse a forward or +@item If the matrix is upper or lower triangular sparse use a forward or backward substitution using the @sc{lapack} xTRTRS function, and goto 4. @c Permuted triangular matrices currently disabled in the code @@ -74,13 +85,14 @@ used with care. It should be noted that the test for whether a matrix is a candidate for -Cholesky@tie{}factorization, performed above and by the @code{matrix_type} -function, does not give a certainty that the matrix is +Cholesky@tie{}factorization, performed above, and by the @code{matrix_type} +function, does not make certain that the matrix is Hermitian. However, the attempt to factorize the matrix will quickly -flag a non-Hermitian matrix. +detect a non-Hermitian matrix. @node Basic Matrix Functions @section Basic Matrix Functions +@cindex matrix functions, basic @DOCSTRING(balance) @@ -109,6 +121,7 @@ @DOCSTRING(mgorth) @DOCSTRING(pinv) +@cindex pseudoinverse @DOCSTRING(rank) @@ -120,6 +133,7 @@ @node Matrix Factorizations @section Matrix Factorizations +@cindex matrix factorizations @DOCSTRING(chol) @@ -173,6 +187,7 @@ @node Functions of a Matrix @section Functions of a Matrix +@cindex matrix, functions of @DOCSTRING(expm) @@ -188,6 +203,7 @@ @node Specialized Solvers @section Specialized Solvers +@cindex matrix, specialized solvers @DOCSTRING(bicg) diff -Nru octave-3.8.0/doc/interpreter/Makefile.am octave-3.8.1/doc/interpreter/Makefile.am --- octave-3.8.0/doc/interpreter/Makefile.am 2013-12-27 21:57:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/Makefile.am 2014-03-06 19:37:51.000000000 +0000 @@ -32,6 +32,7 @@ dist_man_MANS = \ mkoctfile.1 \ + octave-cli.1 \ octave-config.1 \ octave.1 @@ -58,8 +59,8 @@ $(top_srcdir)/examples/addtwomatrices.cc \ $(top_srcdir)/examples/celldemo.cc \ $(top_srcdir)/examples/embedded.cc \ - $(top_srcdir)/examples/fortdemo.cc \ - $(top_srcdir)/examples/fortsub.f \ + $(top_srcdir)/examples/fortrandemo.cc \ + $(top_srcdir)/examples/fortransub.f \ $(top_srcdir)/examples/funcdemo.cc \ $(top_srcdir)/examples/globaldemo.cc \ $(top_srcdir)/examples/helloworld.cc \ diff -Nru octave-3.8.0/doc/interpreter/Makefile.in octave-3.8.1/doc/interpreter/Makefile.in --- octave-3.8.0/doc/interpreter/Makefile.in 2013-12-27 22:01:52.000000000 +0000 +++ octave-3.8.1/doc/interpreter/Makefile.in 2014-03-06 19:42:50.000000000 +0000 @@ -1287,10 +1287,12 @@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OCTAVE_API_VERSION = @OCTAVE_API_VERSION@ -OCTAVE_API_VERSION_NUMBER = @OCTAVE_API_VERSION_NUMBER@ OCTAVE_COPYRIGHT = @OCTAVE_COPYRIGHT@ OCTAVE_DLL_DEFS = @OCTAVE_DLL_DEFS@ OCTAVE_IDX_TYPE = @OCTAVE_IDX_TYPE@ +OCTAVE_MAJOR_VERSION = @OCTAVE_MAJOR_VERSION@ +OCTAVE_MINOR_VERSION = @OCTAVE_MINOR_VERSION@ +OCTAVE_PATCH_VERSION = @OCTAVE_PATCH_VERSION@ OCTAVE_RELEASE_DATE = @OCTAVE_RELEASE_DATE@ OCTAVE_VERSION = @OCTAVE_VERSION@ OCTGRAPHICS_DLL_DEFS = @OCTGRAPHICS_DLL_DEFS@ @@ -1845,6 +1847,7 @@ TEXMFCNF := "..$(PATH_SEPARATOR)$(srcdir)/..$(PATH_SEPARATOR)$(TEXMFCNF)$(PATH_SEPARATOR)" dist_man_MANS = \ mkoctfile.1 \ + octave-cli.1 \ octave-config.1 \ octave.1 @@ -1868,8 +1871,8 @@ $(top_srcdir)/examples/addtwomatrices.cc \ $(top_srcdir)/examples/celldemo.cc \ $(top_srcdir)/examples/embedded.cc \ - $(top_srcdir)/examples/fortdemo.cc \ - $(top_srcdir)/examples/fortsub.f \ + $(top_srcdir)/examples/fortrandemo.cc \ + $(top_srcdir)/examples/fortransub.f \ $(top_srcdir)/examples/funcdemo.cc \ $(top_srcdir)/examples/globaldemo.cc \ $(top_srcdir)/examples/helloworld.cc \ diff -Nru octave-3.8.0/doc/interpreter/matrix.texi octave-3.8.1/doc/interpreter/matrix.texi --- octave-3.8.0/doc/interpreter/matrix.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/matrix.texi 2014-03-06 19:53:58.000000000 +0000 @@ -1274,8 +1274,8 @@ @c rand libinterp/corefcn/rand.cc @anchor{XREFrand} @deftypefn {Built-in Function} {} rand (@var{n}) -@deftypefnx {Built-in Function} {} rand (@var{n}, @var{m}, @dots{}) -@deftypefnx {Built-in Function} {} rand ([@var{n} @var{m} @dots{}]) +@deftypefnx {Built-in Function} {} rand (@var{m}, @var{n}, @dots{}) +@deftypefnx {Built-in Function} {} rand ([@var{m} @var{n} @dots{}]) @deftypefnx {Built-in Function} {@var{v} =} rand ("state") @deftypefnx {Built-in Function} {} rand ("state", @var{v}) @deftypefnx {Built-in Function} {} rand ("state", "reset") @@ -1404,8 +1404,8 @@ @c randn libinterp/corefcn/rand.cc @anchor{XREFrandn} @deftypefn {Built-in Function} {} randn (@var{n}) -@deftypefnx {Built-in Function} {} randn (@var{n}, @var{m}, @dots{}) -@deftypefnx {Built-in Function} {} randn ([@var{n} @var{m} @dots{}]) +@deftypefnx {Built-in Function} {} randn (@var{m}, @var{n}, @dots{}) +@deftypefnx {Built-in Function} {} randn ([@var{m} @var{n} @dots{}]) @deftypefnx {Built-in Function} {@var{v} =} randn ("state") @deftypefnx {Built-in Function} {} randn ("state", @var{v}) @deftypefnx {Built-in Function} {} randn ("state", "reset") @@ -1437,8 +1437,8 @@ @c rande libinterp/corefcn/rand.cc @anchor{XREFrande} @deftypefn {Built-in Function} {} rande (@var{n}) -@deftypefnx {Built-in Function} {} rande (@var{n}, @var{m}, @dots{}) -@deftypefnx {Built-in Function} {} rande ([@var{n} @var{m} @dots{}]) +@deftypefnx {Built-in Function} {} rande (@var{m}, @var{n}, @dots{}) +@deftypefnx {Built-in Function} {} rande ([@var{m} @var{n} @dots{}]) @deftypefnx {Built-in Function} {@var{v} =} rande ("state") @deftypefnx {Built-in Function} {} rande ("state", @var{v}) @deftypefnx {Built-in Function} {} rande ("state", "reset") @@ -1469,8 +1469,8 @@ @c randp libinterp/corefcn/rand.cc @anchor{XREFrandp} @deftypefn {Built-in Function} {} randp (@var{l}, @var{n}) -@deftypefnx {Built-in Function} {} randp (@var{l}, @var{n}, @var{m}, @dots{}) -@deftypefnx {Built-in Function} {} randp (@var{l}, [@var{n} @var{m} @dots{}]) +@deftypefnx {Built-in Function} {} randp (@var{l}, @var{m}, @var{n}, @dots{}) +@deftypefnx {Built-in Function} {} randp (@var{l}, [@var{m} @var{n} @dots{}]) @deftypefnx {Built-in Function} {@var{v} =} randp ("state") @deftypefnx {Built-in Function} {} randp ("state", @var{v}) @deftypefnx {Built-in Function} {} randp ("state", "reset") @@ -1520,8 +1520,8 @@ @c randg libinterp/corefcn/rand.cc @anchor{XREFrandg} @deftypefn {Built-in Function} {} randg (@var{n}) -@deftypefnx {Built-in Function} {} randg (@var{n}, @var{m}, @dots{}) -@deftypefnx {Built-in Function} {} randg ([@var{n} @var{m} @dots{}]) +@deftypefnx {Built-in Function} {} randg (@var{m}, @var{n}, @dots{}) +@deftypefnx {Built-in Function} {} randg ([@var{m} @var{n} @dots{}]) @deftypefnx {Built-in Function} {@var{v} =} randg ("state") @deftypefnx {Built-in Function} {} randg ("state", @var{v}) @deftypefnx {Built-in Function} {} randg ("state", "reset") diff -Nru octave-3.8.0/doc/interpreter/mesh.eps octave-3.8.1/doc/interpreter/mesh.eps --- octave-3.8.0/doc/interpreter/mesh.eps 2013-12-27 22:12:05.000000000 +0000 +++ octave-3.8.1/doc/interpreter/mesh.eps 2014-03-06 19:54:00.000000000 +0000 @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: mesh.eps %%Creator: gnuplot 4.6 patchlevel 4 -%%CreationDate: Fri Dec 27 17:12:05 2013 +%%CreationDate: Thu Mar 6 14:54:00 2014 %%DocumentFonts: (atend) %%BoundingBox: 50 50 410 302 %%EndComments @@ -461,7 +461,7 @@ /Author (jwe) % /Producer (gnuplot) % /Keywords () - /CreationDate (Fri Dec 27 17:12:05 2013) + /CreationDate (Thu Mar 6 14:54:00 2014) /DOCINFO pdfmark end } ifelse Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/mesh.pdf and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/mesh.pdf differ diff -Nru octave-3.8.0/doc/interpreter/mkoctfile.1 octave-3.8.1/doc/interpreter/mkoctfile.1 --- octave-3.8.0/doc/interpreter/mkoctfile.1 2013-12-27 21:57:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/mkoctfile.1 2014-03-06 19:37:51.000000000 +0000 @@ -28,7 +28,7 @@ .fi .. .\" -------------------------------------------------------------------- -.TH MKOCTFILE 1 "4 February 2011" "GNU Octave" +.TH MKOCTFILE 1 "3 January 2014" "GNU Octave" .SH NAME mkoctfile \- Compile dynamic-load modules for GNU Octave .SH SYNOPSIS @@ -140,11 +140,11 @@ .a library file .Ve .RE -.SH "SEE ALSO" -octave (1). .SH AUTHOR John W. Eaton This manual page was contributed by Dirk Eddelbuettel for the Debian GNU/Linux distribution but may be used by others. +.SH "SEE ALSO" +octave (1). diff -Nru octave-3.8.0/doc/interpreter/numbers.texi octave-3.8.1/doc/interpreter/numbers.texi --- octave-3.8.0/doc/interpreter/numbers.texi 2013-12-27 22:12:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/numbers.texi 2014-03-06 19:53:58.000000000 +0000 @@ -403,13 +403,15 @@ @deftypefnx {Built-in Function} {@var{old_val} =} fixed_point_format (@var{new_val}) @deftypefnx {Built-in Function} {} fixed_point_format (@var{new_val}, "local") Query or set the internal variable that controls whether Octave will -use a scaled format to print matrix values such that the largest -element may be written with a single leading digit with the scaling -factor is printed on the first line of output. For example: +use a scaled format to print matrix values. + +The scaled format prints a scaling factor on the first line of output chosen +such that the largest matrix element can be written with a single leading +digit. For example: @example @group -octave:1> logspace (1, 7, 5)' +logspace (1, 7, 5)' ans = 1.0e+07 * @@ -423,9 +425,9 @@ @end example @noindent -Notice that first value appears to be zero when it is actually 1. For -this reason, you should be careful when setting -@code{fixed_point_format} to a nonzero value. +Notice that the first value appears to be 0 when it is actually 1. Because +of the possibilty for confusion you should be careful about enabling +@code{fixed_point_format}. When called from inside a function with the @qcode{"local"} option, the variable is changed locally for the function and any subroutines it calls. @@ -700,6 +702,7 @@ @anchor{XREFint8} @deftypefn {Built-in Function} {} int8 (@var{x}) Convert @var{x} to 8-bit integer type. +@seealso{@ref{XREFuint8,,uint8}, @ref{XREFint16,,int16}, @ref{XREFuint16,,uint16}, @ref{XREFint32,,int32}, @ref{XREFuint32,,uint32}, @ref{XREFint64,,int64}, @ref{XREFuint64,,uint64}} @end deftypefn @@ -707,6 +710,7 @@ @anchor{XREFuint8} @deftypefn {Built-in Function} {} uint8 (@var{x}) Convert @var{x} to unsigned 8-bit integer type. +@seealso{@ref{XREFint8,,int8}, @ref{XREFint16,,int16}, @ref{XREFuint16,,uint16}, @ref{XREFint32,,int32}, @ref{XREFuint32,,uint32}, @ref{XREFint64,,int64}, @ref{XREFuint64,,uint64}} @end deftypefn @@ -714,6 +718,7 @@ @anchor{XREFint16} @deftypefn {Built-in Function} {} int16 (@var{x}) Convert @var{x} to 16-bit integer type. +@seealso{@ref{XREFint8,,int8}, @ref{XREFuint8,,uint8}, @ref{XREFuint16,,uint16}, @ref{XREFint32,,int32}, @ref{XREFuint32,,uint32}, @ref{XREFint64,,int64}, @ref{XREFuint64,,uint64}} @end deftypefn @@ -721,6 +726,7 @@ @anchor{XREFuint16} @deftypefn {Built-in Function} {} uint16 (@var{x}) Convert @var{x} to unsigned 16-bit integer type. +@seealso{@ref{XREFint8,,int8}, @ref{XREFuint8,,uint8}, @ref{XREFint16,,int16}, @ref{XREFint32,,int32}, @ref{XREFuint32,,uint32}, @ref{XREFint64,,int64}, @ref{XREFuint64,,uint64}} @end deftypefn @@ -728,6 +734,7 @@ @anchor{XREFint32} @deftypefn {Built-in Function} {} int32 (@var{x}) Convert @var{x} to 32-bit integer type. +@seealso{@ref{XREFint8,,int8}, @ref{XREFuint8,,uint8}, @ref{XREFint16,,int16}, @ref{XREFuint16,,uint16}, @ref{XREFuint32,,uint32}, @ref{XREFint64,,int64}, @ref{XREFuint64,,uint64}} @end deftypefn @@ -735,6 +742,7 @@ @anchor{XREFuint32} @deftypefn {Built-in Function} {} uint32 (@var{x}) Convert @var{x} to unsigned 32-bit integer type. +@seealso{@ref{XREFint8,,int8}, @ref{XREFuint8,,uint8}, @ref{XREFint16,,int16}, @ref{XREFuint16,,uint16}, @ref{XREFint32,,int32}, @ref{XREFint64,,int64}, @ref{XREFuint64,,uint64}} @end deftypefn @@ -742,6 +750,7 @@ @anchor{XREFint64} @deftypefn {Built-in Function} {} int64 (@var{x}) Convert @var{x} to 64-bit integer type. +@seealso{@ref{XREFint8,,int8}, @ref{XREFuint8,,uint8}, @ref{XREFint16,,int16}, @ref{XREFuint16,,uint16}, @ref{XREFint32,,int32}, @ref{XREFuint32,,uint32}, @ref{XREFuint64,,uint64}} @end deftypefn @@ -749,6 +758,7 @@ @anchor{XREFuint64} @deftypefn {Built-in Function} {} uint64 (@var{x}) Convert @var{x} to unsigned 64-bit integer type. +@seealso{@ref{XREFint8,,int8}, @ref{XREFuint8,,uint8}, @ref{XREFint16,,int16}, @ref{XREFuint16,,uint16}, @ref{XREFint32,,int32}, @ref{XREFuint32,,uint32}, @ref{XREFint64,,int64}} @end deftypefn @@ -1154,7 +1164,14 @@ @c logical libinterp/octave-value/ov-bool-mat.cc @anchor{XREFlogical} @deftypefn {Built-in Function} {} logical (@var{x}) -Convert @var{x} to logical type. +Convert the numeric object @var{x} to logical type. + +Any non-zero values will be converted to true (1) while zero values +will be converted to false (0). The non-numeric value NaN cannot be +converted and will produce an error. + +Compatibility Note: Octave accepts complex values as input, whereas +@sc{matlab} issues an error. @seealso{@ref{XREFdouble,,double}, @ref{XREFsingle,,single}, @ref{XREFchar,,char}} @end deftypefn diff -Nru octave-3.8.0/doc/interpreter/octave-cli.1 octave-3.8.1/doc/interpreter/octave-cli.1 --- octave-3.8.0/doc/interpreter/octave-cli.1 1970-01-01 00:00:00.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave-cli.1 2014-03-06 19:37:51.000000000 +0000 @@ -0,0 +1,86 @@ +.\" Copyright (C) 1996-2014 John W. Eaton +.\" +.\" This file is part of Octave. +.\" +.\" Octave is free software; you can redistribute it and/or modify it +.\" under the terms of the GNU General Public License as published by the +.\" Free Software Foundation; either version 3 of the License, or (at +.\" your option) any later version. +.\" +.\" Octave is distributed in the hope that it will be useful, but WITHOUT +.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +.\" for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with Octave; see the file COPYING. If not, see +.\" . +.\" -------------------------------------------------------------------- +.de Vb \" (V)erbatim (b)egin. Use fixed width font and no justification +.ft CW +.nf +.. +.de Ve \" (V)erbatim (e)nd. Return to regular font and justification +.ft R +.fi +.. +.\" -------------------------------------------------------------------- +.TH OCTAVE-CLI 1 "03 January 2014" "GNU Octave" +.SH NAME +octave-cli \- A high-level interactive language for numerical computations. +.SH SYNOPSIS +\fBoctave-cli\fP [\fIoptions\fP]... [\fIfile\fP] +.SH DESCRIPTION +Octave is a high-level language, primarily intended for numerical +computations. It provides a convenient command line interface for +solving linear and nonlinear problems numerically. \fBoctave-cli\fP +has been compiled without any GUI support (Qt) which makes it smaller +than the default \fBoctave\fP executable, but also limits it to +providing just the command line interface (CLI). +.SH OPTIONS +The complete set of command-line options for \fBoctave-cli\fP is available +by running the following command from the shell. +.Vb + + octave-cli \-\-help +.Ve +.SH DOCUMENTATION +The primary documentation for Octave is written using Texinfo, the GNU +documentation system, which allows the same source files to be used to +produce online and printed versions of the manual. +.PP +You can read the online copy of the Octave documentation by issuing +the following command from within Octave. +.Vb + + octave:1> doc + +.Ve +The Info files may also be read with a stand-alone program such as +\fBinfo\fP or \fBxinfo\fP. HTML, Postscript, or PDF versions of the +documentation are installed on many systems as well. +.SH BUGS +The Octave project maintains a bug tracker at http://bugs.octave.org. +Before submitting a new item please read the instructions at +http://www.octave.org/bugs.html on how to submit a useful report. +.SH FILES +Upon startup Octave looks for four initialization files. Each file +may contain any number of valid Octave commands. +.TP +\fIoctave-home\fP/share/octave/site/m/startup/octaverc +Site-wide initialization file which changes options for all users. +\fIoctave-home\fP is the directory where Octave was installed such as +\fB/usr/local\fP. +.TP +\fIoctave-home\fP/share/octave/\fIversion\fP/m/startup/octaverc +Site-wide initialization file for Octave version \fIversion\fP. +.TP +~/.octaverc +User's personal initialization file. +.TP +\&\.octaverc +Project-specific initialization file located in the current directory. +.SH AUTHOR +John W. Eaton +.SH SEE ALSO +octave (1) diff -Nru octave-3.8.0/doc/interpreter/octave-config.1 octave-3.8.1/doc/interpreter/octave-config.1 --- octave-3.8.0/doc/interpreter/octave-config.1 2013-12-27 21:57:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave-config.1 2014-03-06 19:37:51.000000000 +0000 @@ -28,7 +28,7 @@ .fi .. .\" -------------------------------------------------------------------- -.TH OCTAVE-CONFIG 1 "4 February 2011" "GNU Octave" +.TH OCTAVE-CONFIG 1 "3 January 2014" "GNU Octave" .SH NAME octave-config - GNU Octave component and library information retrieval .SH SYNOPSIS @@ -81,3 +81,5 @@ This manual page was contributed by Dirk Eddelbuettel for the Debian GNU/Linux distribution but may be used by others. +.SH "SEE ALSO" +octave (1). Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/octave.dvi and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/octave.dvi differ diff -Nru octave-3.8.0/doc/interpreter/octave.html/Acknowledgements.html octave-3.8.1/doc/interpreter/octave.html/Acknowledgements.html --- octave-3.8.0/doc/interpreter/octave.html/Acknowledgements.html 2013-12-27 22:12:30.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Acknowledgements.html 2014-03-06 19:54:27.000000000 +0000 @@ -109,7 +109,7 @@ Jarkko KalevaMohamed KamounLute Kamstra Fotios KasolisThomas KasperJoel Keay Mumit KhanPaul KienzleAaron A. King -Erik KjelssonArno J. KlaassenAlexander Klein +Erik KjellsonArno J. KlaassenAlexander Klein Geoffrey KnauthHeine KolltveitKen Kouno Kacper KowalikDaniel KraftNir Krakauer Aravindh KrishnamoorthyOyvind KristiansenArtem Krosheninnikov diff -Nru octave-3.8.0/doc/interpreter/octave.html/Bar-Series.html octave-3.8.1/doc/interpreter/octave.html/Bar-Series.html --- octave-3.8.0/doc/interpreter/octave.html/Bar-Series.html 2013-12-27 22:12:53.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Bar-Series.html 2014-03-06 19:54:52.000000000 +0000 @@ -73,8 +73,8 @@ object representing the baseline is given by the baseline property and the y-value of the baseline by the basevalue property.

-

Changes to any of these property are propagated to the other members of -the bar series and to the baseline itself. Equally changes in the +

Changes to any of these properties are propagated to the other members of +the bar series and to the baseline itself. Equally, changes in the properties of the base line itself are propagated to the members of the corresponding bar series.

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Basic-Matrix-Functions.html octave-3.8.1/doc/interpreter/octave.html/Basic-Matrix-Functions.html --- octave-3.8.0/doc/interpreter/octave.html/Basic-Matrix-Functions.html 2013-12-27 22:13:00.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Basic-Matrix-Functions.html 2014-03-06 19:54:58.000000000 +0000 @@ -57,6 +57,7 @@

18.2 Basic Matrix Functions

+
Built-in Function: AA = balance (A)
@@ -495,6 +496,7 @@

where sigma_max (x) is the maximal singular value of x.

+
Function File: rank (A)
diff -Nru octave-3.8.0/doc/interpreter/octave.html/Basics-of-Generating-a-Changeset.html octave-3.8.1/doc/interpreter/octave.html/Basics-of-Generating-a-Changeset.html --- octave-3.8.0/doc/interpreter/octave.html/Basics-of-Generating-a-Changeset.html 2013-12-27 22:13:19.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Basics-of-Generating-a-Changeset.html 2014-03-06 19:55:18.000000000 +0000 @@ -58,8 +58,8 @@

D.3 Basics of Generating a Changeset

-

The preferable form of contribution is creating a Mercurial changeset -and submit it to the bug or +

The best way to contribute is to create a Mercurial changeset and submit it to +the bug or patch trackers13. Mercurial is the source code management system currently used to develop @@ -68,7 +68,7 @@ make more contributions, you should really get familiar with Mercurial. A good place to start is http://www.selenic.com/mercurial/wiki/index.cgi/Tutorial. There -you will also find help how to install Mercurial. +you will also find help about how to install Mercurial.

A simple contribution sequence could look like this:

@@ -88,7 +88,7 @@

You may want to get familiar with Mercurial queues to manage your -changesets. For working with queues you have to activate the extension +changesets. To work with queues you must activate the extension mq with the following entry in Mercurial’s configuration file .hgrc (or Mercurial.ini on Windows):

@@ -159,7 +159,7 @@

Sometimes a few further improvements for the pager extension are necessary. The following options should not be enabled unless paging -isn’t working correctly: +is not working correctly.

[pager]
@@ -175,8 +175,8 @@
 

Enabling the described extensions should immediately lead to a difference when using the command line version of hg. Of these options, the only one that enables a new command is graphlog. It is recommanded -that you use the command hg glog instead of hg log for a better -feel what commits are being based on. +that to use the command hg glog, instead of hg log, for a better +feel about what commits are being based on.


diff -Nru octave-3.8.0/doc/interpreter/octave.html/Basic-Usage-and-Examples.html octave-3.8.1/doc/interpreter/octave.html/Basic-Usage-and-Examples.html --- octave-3.8.0/doc/interpreter/octave.html/Basic-Usage-and-Examples.html 2013-12-27 22:12:37.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Basic-Usage-and-Examples.html 2014-03-06 19:54:34.000000000 +0000 @@ -169,6 +169,8 @@

When called from inside a function with the "local" option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function. +

+

See also: print_struct_array_contents.

@@ -177,14 +179,18 @@
Built-in Function: old_val = print_struct_array_contents (new_val)
Built-in Function: print_struct_array_contents (new_val, "local")

Query or set the internal variable that specifies whether to print struct -array contents. If true, values of struct array elements are printed. -This variable does not affect scalar structures. Their elements -are always printed. In both cases, however, printing will be limited to +array contents. +

+

If true, values of struct array elements are printed. +This variable does not affect scalar structures whose elements are always +printed. In both cases, however, printing will be limited to the number of levels specified by struct_levels_to_print.

When called from inside a function with the "local" option, the variable is changed locally for the function and any subroutines it calls. The original variable value is restored when exiting the function. +

+

See also: struct_levels_to_print.

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Breakpoints.html octave-3.8.1/doc/interpreter/octave.html/Breakpoints.html --- octave-3.8.0/doc/interpreter/octave.html/Breakpoints.html 2013-12-27 22:12:42.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Breakpoints.html 2014-03-06 19:54:39.000000000 +0000 @@ -58,7 +58,7 @@

13.3 Breakpoints

-

Breakpoints can be set in any Octave function, using the dbstop +

Breakpoints can be set in any m-file function by using the dbstop function.

@@ -94,12 +94,15 @@

-

Note that breakpoints cannot be set in built-in functions -(e.g., sin, etc.) or dynamically loaded function (i.e., oct-files). To -set a breakpoint immediately on entering a function, the breakpoint -should be set to line 1. The leading comment block will be ignored and -the breakpoint will be set to the first executable statement in the -function. For example: +

Breakpoints in class methods are also supported (e.g., +dbstop ("@class/method")). However, breakpoints cannot be set in +built-in functions (e.g., sin, etc.) or dynamically loaded functions +(i.e., oct-files). +

+

To set a breakpoint immediately upon entering a function use line number 1, or +omit the line number entirely and just give the function name. When setting +the breakpoint Octave will ignore the leading comment block, and the breakpoint +will be set on the first executable statement in the function. For example:

dbstop ("asind", 1)
@@ -108,7 +111,7 @@
 
 

Note that the return value of 29 means that the breakpoint was effectively set to line 29. The status of breakpoints in a function can -be queried with the dbstatus function. +be queried with dbstatus.

Built-in Function: dbstatus ()
@@ -178,12 +181,6 @@

-

These functions can be used together to clear all the breakpoints in a -particular function. For example: -

-
-
dbclear ("asind", dbstatus ("asind"));
-

A breakpoint may also be set in a subfunction. For example, if a file contains the functions @@ -197,17 +194,22 @@ endfunction

-

then a breakpoint can be set at the start of the subfunction directly -with +

then a breakpoint can be set at the start of the subfunction directly with

dbstop (["func1", filemarker(), "func2"])
 ⇒ 5
 
-

Note that filemarker returns a character that marks the -subfunctions from the file containing them. +

Note that filemarker returns the character that marks subfunctions from +the file containing them. Unless the default has been changed this character +is ‘>’. Thus, a quicker and more normal way to set the breakpoint would +be

+
+
dbstop func1>func2
+
+

Another simple way of setting a breakpoint in an Octave script is the use of the keyboard function.

@@ -229,9 +231,9 @@

-

The keyboard function is typically placed in a script at the -point where the user desires that the execution be stopped. It -automatically sets the running script into the debug mode. +

The keyboard function is placed in a script at the point where the user +desires that the execution be stopped. It automatically sets the running +script into the debug mode.


diff -Nru octave-3.8.0/doc/interpreter/octave.html/Building-the-Development-Sources.html octave-3.8.1/doc/interpreter/octave.html/Building-the-Development-Sources.html --- octave-3.8.0/doc/interpreter/octave.html/Building-the-Development-Sources.html 2013-12-27 22:13:19.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Building-the-Development-Sources.html 2014-03-06 19:55:18.000000000 +0000 @@ -58,7 +58,7 @@

D.2 Building the Development Sources

-

The directions for building from the Development sources change from +

The directions for building from the development sources change from time to time, so you should read the resources for developers on the web or in the development sources archive. Start here: http://www.octave.org/get-involved.html. diff -Nru octave-3.8.0/doc/interpreter/octave.html/Build-Tools.html octave-3.8.1/doc/interpreter/octave.html/Build-Tools.html --- octave-3.8.0/doc/interpreter/octave.html/Build-Tools.html 2013-12-27 22:13:19.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Build-Tools.html 2014-03-06 19:55:18.000000000 +0000 @@ -117,6 +117,19 @@

Package for building software libraries (http://www.gnu.org/software/libtool). Libtool is required by Automake. +

+
+
gperf
+

Perfect hash function generator (http://www.gnu.org/software/gperf). +You will need gperf if you modify the octave.gperf file or if you +delete the file that is generated from it. +

+
+
Texinfo
+

Package for generating online and print documentation +(http://www.gnu.org/software/texinfo). You will need Texinfo to +build Octave’s documentation or if you modify the documentation source +files or the docstring of any Octave function.

diff -Nru octave-3.8.0/doc/interpreter/octave.html/C_002b_002b-Sources.html octave-3.8.1/doc/interpreter/octave.html/C_002b_002b-Sources.html --- octave-3.8.0/doc/interpreter/octave.html/C_002b_002b-Sources.html 2013-12-27 22:13:19.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/C_002b_002b-Sources.html 2014-03-06 19:55:18.000000000 +0000 @@ -73,7 +73,7 @@ You should put a space before the left open parenthesis and after commas, for both function definitions and function calls.

-

Recommended indent is 2 spaces. When indenting, indent the statement +

The recommended indent is 2 spaces. When indenting, indent the statement after control structures (like if, while, etc.). If there is a compound statement, indent both the curly braces and the body of the statement (so that the body gets indented by two @@ -103,12 +103,12 @@ : (nargin == 2) ? SVD::economy : SVD::std);

-

Consider putting extra braces around a multiline expression to make it +

Consider putting extra braces around a multi-line expression to make it more readable, even if they are not necessary. Also, do not hesitate to put extra braces anywhere if it improves clarity.

-

Declare variables just before they’re needed. Use local variables of -blocks—it helps optimization. Don’t write multi-line variable +

Declare variables just before they are needed. Use local variables of +blocks—it helps optimization. Don’t write a multi-line variable declaration with a single type specification and multiple variables. If the variables don’t fit on single line, repeat the type specification. Example: diff -Nru octave-3.8.0/doc/interpreter/octave.html/Calling-External-Code-from-Oct_002dFiles.html octave-3.8.1/doc/interpreter/octave.html/Calling-External-Code-from-Oct_002dFiles.html --- octave-3.8.0/doc/interpreter/octave.html/Calling-External-Code-from-Oct_002dFiles.html 2013-12-27 22:13:18.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Calling-External-Code-from-Oct_002dFiles.html 2014-03-06 19:55:17.000000000 +0000 @@ -110,11 +110,11 @@ extern "C" { F77_RET_T - F77_FUNC (fortsub, FORTSUB) + F77_FUNC (fortransub, FORTSUB) (const int&, double*, F77_CHAR_ARG_DECL F77_CHAR_ARG_LEN_DECL); } -DEFUN_DLD (fortdemo, args, , "Fortran Demo") +DEFUN_DLD (fortrandemo, args, , "Fortran Demo") { octave_value_list retval; int nargin = args.length (); @@ -130,7 +130,7 @@ octave_idx_type na = a.numel (); OCTAVE_LOCAL_BUFFER (char, ctmp, 128); - F77_XFCN (fortsub, FORTSUB, + F77_XFCN (fortransub, FORTSUB, (na, av, ctmp F77_CHAR_ARG_LEN (128))); retval(1) = std::string (ctmp); @@ -145,14 +145,14 @@

and the Fortran function is

-
      subroutine fortsub (n, a, s)
+
      subroutine fortransub (n, a, s)
       implicit none
       character*(*) s
       real*8 a(*)
       integer*4 i, n, ioerr
       do i = 1, n
         if (a(i) .eq. 0d0) then
-          call xstopx ('fortsub: divide by zero')
+          call xstopx ('fortransub: divide by zero')
         else
           a(i) = 1d0 / a(i)
         endif
@@ -161,7 +161,7 @@
      $       'There are ', n,
      $       ' values in the input vector', char(0)
       if (ioerr .ne. 0) then
-        call xstopx ('fortsub: error writing string')
+        call xstopx ('fortransub: error writing string')
       endif
       return
       end
@@ -175,13 +175,13 @@
 in order for the example to work.
 

-
mkoctfile fortdemo.cc fortsub.f
-[b, s] = fortdemo (1:3)
+
mkoctfile fortrandemo.cc fortransub.f
+[b, s] = fortrandemo (1:3)
 ⇒
   b = 1.00000   0.50000   0.33333
   s = There are   3 values in the input vector
-[b, s] = fortdemo (0:3)
-error: fortdemo: fortsub: divide by zero
+[b, s] = fortrandemo (0:3)
+error: fortrandemo: fortransub: divide by zero
 

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Calling-Other-Functions-in-Mex_002dFiles.html octave-3.8.1/doc/interpreter/octave.html/Calling-Other-Functions-in-Mex_002dFiles.html --- octave-3.8.0/doc/interpreter/octave.html/Calling-Other-Functions-in-Mex_002dFiles.html 2013-12-27 22:13:18.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Calling-Other-Functions-in-Mex_002dFiles.html 2014-03-06 19:55:17.000000000 +0000 @@ -71,7 +71,7 @@ { char *str; - mexPrintf ("Hello, World!\n"); + mexPrintf ("Starting file myfeval.mex\n"); mexPrintf ("I have %d inputs and %d outputs\n", nrhs, nlhs); @@ -82,7 +82,11 @@ mexPrintf ("I'm going to call the function %s\n", str); - mexCallMATLAB (nlhs, plhs, nrhs-1, (mxArray*)prhs+1, str); + if (nlhs == 0) + nlhs = 1; // Octave's automatic 'ans' variable + + /* Cast prhs just to get rid of 'const' qualifier and stop compile warning */ + mexCallMATLAB (nlhs, plhs, nrhs-1, (mxArray**)prhs+1, str); mxFree (str); } @@ -93,12 +97,11 @@ myfeval.mex, then an example of its use is

-
myfeval ("sin", 1)
-a = myfeval ("sin", 1)
-⇒ Hello, World!
-    I have 2 inputs and 1 outputs
-    I'm going to call the interpreter function sin
-    a =  0.84147
+
a = myfeval ("sin", 1)
+⇒ Starting file myfeval.mex
+   I have 2 inputs and 1 outputs
+   I'm going to call the interpreter function sin
+   a =  0.84147
 

Note that it is not possible to use function handles or inline functions diff -Nru octave-3.8.0/doc/interpreter/octave.html/Call-Stack.html octave-3.8.1/doc/interpreter/octave.html/Call-Stack.html --- octave-3.8.0/doc/interpreter/octave.html/Call-Stack.html 2013-12-27 22:12:42.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Call-Stack.html 2014-03-06 19:54:40.000000000 +0000 @@ -58,6 +58,13 @@

13.5 Call Stack

+

The function being debugged may be the leaf node of a series of function calls. +After examining values in the current subroutine it may turn out that the +problem occurred in earlier pieces of code. Use dbup and dbdown +to move up and down through the series of function calls to locate where +variables first took on the wrong values. dbstack shows the entire +series of function calls and at what level debugging is currently taking place. +

Command: dbstack
Command: dbstack n
@@ -126,6 +133,11 @@

+
+
+

+Next: , Previous: , Up: Debugging   [Contents][Index]

+
diff -Nru octave-3.8.0/doc/interpreter/octave.html/Catching-Errors.html octave-3.8.1/doc/interpreter/octave.html/Catching-Errors.html --- octave-3.8.0/doc/interpreter/octave.html/Catching-Errors.html 2013-12-27 22:12:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Catching-Errors.html 2014-03-06 19:54:39.000000000 +0000 @@ -95,6 +95,19 @@ endfor
+

Alternatively, the output of the lasterror function can be found +in a variable indicated immediately after the catch keyword, as +in the example below showing how to redirect an error as a warning: +

+
+
try
+  …
+catch err
+  warning(err.identifier, err.message);
+  …
+end_try_catch
+
+
Built-in Function: lasterr = lasterror ()
Built-in Function: lasterror (err)
diff -Nru octave-3.8.0/doc/interpreter/octave.html/Cell-Arrays-of-Strings.html octave-3.8.1/doc/interpreter/octave.html/Cell-Arrays-of-Strings.html --- octave-3.8.0/doc/interpreter/octave.html/Cell-Arrays-of-Strings.html 2013-12-27 22:12:38.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Cell-Arrays-of-Strings.html 2014-03-06 19:54:35.000000000 +0000 @@ -81,9 +81,16 @@
-
Built-in Function: cellstr (string)
+
Built-in Function: cstr = cellstr (strmat)

Create a new cell array object from the elements of the string -array string. +array strmat. +

+

Each row of strmat becomes an element of cstr. Any trailing +spaces in a row are deleted before conversion. +

+

To convert back from a cellstr to a character array use char. +

+

See also: cell, char.

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Character-Arrays.html octave-3.8.1/doc/interpreter/octave.html/Character-Arrays.html --- octave-3.8.0/doc/interpreter/octave.html/Character-Arrays.html 2013-12-27 22:12:34.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Character-Arrays.html 2014-03-06 19:54:32.000000000 +0000 @@ -113,7 +113,7 @@
Built-in Function: old_val = string_fill_char (new_val)
Built-in Function: string_fill_char (new_val, "local")

Query or set the internal variable used to pad all rows of a character -matrix to the same length. It must be a single character. The default +matrix to the same length; It must be a single character. The default value is " " (a single space). For example:

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Character-Strings-in-Mex_002dFiles.html octave-3.8.1/doc/interpreter/octave.html/Character-Strings-in-Mex_002dFiles.html --- octave-3.8.0/doc/interpreter/octave.html/Character-Strings-in-Mex_002dFiles.html 2013-12-27 22:13:18.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Character-Strings-in-Mex_002dFiles.html 2014-03-06 19:55:17.000000000 +0000 @@ -97,8 +97,8 @@

mystring (["First String"; "Second String"])
-⇒ s1 = Second String
-        First String
+⇒ Second String
+   First String
 

Other functions in the mex interface for handling character strings are diff -Nru octave-3.8.0/doc/interpreter/octave.html/Character-Strings-in-Oct_002dFiles.html octave-3.8.1/doc/interpreter/octave.html/Character-Strings-in-Oct_002dFiles.html --- octave-3.8.0/doc/interpreter/octave.html/Character-Strings-in-Oct_002dFiles.html 2013-12-27 22:13:18.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Character-Strings-in-Oct_002dFiles.html 2014-03-06 19:55:17.000000000 +0000 @@ -129,7 +129,7 @@

octave_value_list retval;
-charNDArray c;
+charNDArray ch;
 …
 // Create single quoted string
 retval(1) = octave_value (ch);        // default constructor is sq_string
diff -Nru octave-3.8.0/doc/interpreter/octave.html/Concept-Index.html octave-3.8.1/doc/interpreter/octave.html/Concept-Index.html
--- octave-3.8.0/doc/interpreter/octave.html/Concept-Index.html	2013-12-27 22:13:19.000000000 +0000
+++ octave-3.8.1/doc/interpreter/octave.html/Concept-Index.html	2014-03-06 19:55:18.000000000 +0000
@@ -307,6 +307,8 @@
 defining functionsFunctions and Scripts
 deprecated functionsObsolete Functions
 description formatFormat of Descriptions
+diagonal and permutation matricesDiagonal and Permutation Matrices
+diagonal matrix expressionsExpressions Involving Diagonal Matrices
 dialog, displaying a help dialogDialog Box Functions
 dialog, displaying a list dialogDialog Box Functions
 dialog, displaying a question dialogDialog Box Functions
@@ -424,6 +426,7 @@
 graphics object, surfaceGraphics Objects
 graphics object, textGraphics Objects
 graphics objectsGraphics Objects
+graphics objects, savingGraphics Objects
 graphics properties, defaultManaging Default Properties
 graphics toolkitsGraphics Toolkits
 greater than operatorComparison Ops
@@ -488,6 +491,8 @@
 line propertiesLine Properties
 line seriesLine Series
 line styles, graphicsLine Styles
+linear algebraLinear Algebra
+linear algebra, techniquesTechniques Used for Linear Algebra
 loadable functionA Sample Function Description
 loading dataSimple File I/O
 local minimumMinimizers
@@ -509,8 +514,15 @@
 marker styles, graphicsMarker Styles
 matching failure, in scanfFormatted Input
 matricesMatrices
+matrices, diagonal and permutationDiagonal and Permutation Matrices
+matrix factorizationsMatrix Factorizations
+matrix functions, basicBasic Matrix Functions
 matrix multiplicationArithmetic Ops
 matrix multiplicationOperator Overloading
+matrix, functions ofFunctions of a Matrix
+matrix, permutation functionsPermutation Matrix Functions
+matrix, specialized solversSpecialized Solvers
+matrix, zero elementsZeros Treatment
 maximum field width (scanf)Input Conversion Syntax
 memory managementMiscellaneous Techniques
 memory, displaying Java memory statusJava Interface Functions
@@ -583,12 +595,20 @@
 patches, submittingSending Patches
 path, adding to classpathJava Interface Functions
 path, removing from classpathJava Interface Functions
+permutation matrix functionsPermutation Matrix Functions
 persistent statementPersistent Variables
 persistent variablesPersistent Variables
 personal startup fileStartup Files
 PKG_ADDCreating Packages
 PKG_DELCreating Packages
 plottingPlotting
+plotting, high-levelHigh-Level Plotting
+plotting, multiple plot windowsMultiple Plot Windows
+plotting, multiple plots per figureMultiple Plots on One Page
+plotting, saving and printing plotsPrinting and Saving Plots
+plotting, three-dimensionalThree-Dimensional Plots
+plotting, two-dimensional functionsTwo-dimensional Function Plotting
+plotting, window manipulationManipulation of Plot Windows
 precision (printf)Output Conversion Syntax
 printing notationPrinting Notation
 printing plotsPrinting and Saving Plots
@@ -597,6 +617,8 @@
 Progress BarProgress Bar
 project startup fileStartup Files
 prompt customizationCustomizing the Prompt
+pseudoinverseBasic Matrix Functions
+pseudoinverseExpressions Involving Diagonal Matrices
  
Q QPOptimization diff -Nru octave-3.8.0/doc/interpreter/octave.html/Correlation-and-Regression-Analysis.html octave-3.8.1/doc/interpreter/octave.html/Correlation-and-Regression-Analysis.html --- octave-3.8.0/doc/interpreter/octave.html/Correlation-and-Regression-Analysis.html 2013-12-27 22:13:06.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Correlation-and-Regression-Analysis.html 2014-03-06 19:55:04.000000000 +0000 @@ -93,6 +93,13 @@

+

MATLAB compatibility: Octave always computes the covariance matrix. +For two inputs, however, MATLAB will calculate +cov (x(:), y(:)) whenever the number of elements in +x and y are equal. This will result in a scalar rather than +a matrix output. Code relying on this odd definition will need to be +changed when running in Octave. +

See also: corr.

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Creating-a-Class.html octave-3.8.1/doc/interpreter/octave.html/Creating-a-Class.html --- octave-3.8.0/doc/interpreter/octave.html/Creating-a-Class.html 2013-12-27 22:13:12.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Creating-a-Class.html 2014-03-06 19:55:11.000000000 +0000 @@ -194,7 +194,7 @@

Return true if x is a class object and the string method is a method of this class.

-

See also: isobject. +

See also: isprop, isobject.

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Creating-Cell-Arrays.html octave-3.8.1/doc/interpreter/octave.html/Creating-Cell-Arrays.html --- octave-3.8.0/doc/interpreter/octave.html/Creating-Cell-Arrays.html 2013-12-27 22:12:37.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Creating-Cell-Arrays.html 2014-03-06 19:54:35.000000000 +0000 @@ -106,10 +106,13 @@
Built-in Function: cell (m, n, k, …)
Built-in Function: cell ([m n …])

Create a new cell array object. -If invoked with a single scalar integer argument, return a square +

+

If invoked with a single scalar integer argument, return a square NxN cell array. If invoked with two or more scalar integer arguments, or a vector of integer values, return an array with the given dimensions. +

+

See also: cellstr, mat2cell, num2cell, struct2cell.

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Creating-Sparse-Matrices-in-Oct_002dFiles.html octave-3.8.1/doc/interpreter/octave.html/Creating-Sparse-Matrices-in-Oct_002dFiles.html --- octave-3.8.0/doc/interpreter/octave.html/Creating-Sparse-Matrices-in-Oct_002dFiles.html 2013-12-27 22:13:18.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Creating-Sparse-Matrices-in-Oct_002dFiles.html 2014-03-06 19:55:17.000000000 +0000 @@ -69,7 +69,8 @@ technique

-
int nz = 4, nr = 3, nc = 4;
+
int nz, nr, nc;
+nz = 4, nr = 3, nc = 4;
 
 ColumnVector ridx (nz);
 ColumnVector cidx (nz);
@@ -102,7 +103,8 @@
 Sample code:
 

-
int nz = 4, nr = 3, nc = 4;
+
int nz, nr, nc;
+nz = 4, nr = 3, nc = 4;
 SparseMatrix sm (nr, nc, nz);
 sm(0,0) = 1; sm(0,1) = 2; sm(1,3) = 3; sm(2,3) = 4;
 
@@ -119,7 +121,8 @@ with fewer elements than are actually inserted in the matrix. Therefore,

-
int nz = 4, nr = 3, nc = 4;
+
int nr, nc;
+nr = 3, nc = 4;
 SparseMatrix sm (nr, nc, 0);
 sm(0,0) = 1; sm(0,1) = 2; sm(1,3) = 3; sm(2,3) = 4;
 
@@ -145,7 +148,8 @@ An example of the use of maybe_compress is

-
int nz = 6, nr = 3, nc = 4;
+
int nz, nr, nc;
+nz = 6, nr = 3, nc = 4;
 
 SparseMatrix sm1 (nr, nc, nz);
 sm1(0,0) = 1; sm1(0,1) = 2; sm1(1,3) = 3; sm1(2,3) = 4;
@@ -167,7 +171,8 @@
 
octave_value arg;
 …
-int nz = 6, nr = 3, nc = 4;   // Assume we know the max # nz
+int nz, nr, nc;
+nz = 6, nr = 3, nc = 4;   // Assume we know the max # nz
 SparseMatrix sm (nr, nc, nz);
 Matrix m = arg.matrix_value ();
 
@@ -200,7 +205,8 @@
 
octave_value arg;
 …
-int nz = 6, nr = 3, nc = 4;   // Assume we know the max # nz
+int nz, nr, nc;
+nz = 6, nr = 3, nc = 4;   // Assume we know the max # nz
 SparseMatrix sm (nr, nc, nz);
 Matrix m = arg.matrix_value ();
 
diff -Nru octave-3.8.0/doc/interpreter/octave.html/Creating-Structures.html octave-3.8.1/doc/interpreter/octave.html/Creating-Structures.html
--- octave-3.8.0/doc/interpreter/octave.html/Creating-Structures.html	2013-12-27 22:12:37.000000000 +0000
+++ octave-3.8.1/doc/interpreter/octave.html/Creating-Structures.html	2014-03-06 19:54:34.000000000 +0000
@@ -169,12 +169,14 @@
 
-
Built-in Function: struct (field1, value1, field2, value2, …)
+
Built-in Function: s = struct ()
+
Built-in Function: s = struct (field1, value1, field2, value2, …)
+
Built-in Function: s = struct (obj)

Create a scalar or array structure and initialize its values. The -field1, field2, … variables are strings giving the +field1, field2, … variables are strings specifying the names of the fields and the value1, value2, … -variables can be any type. +variables can be of any type.

If the values are cell arrays, create a structure array and initialize its values. The dimensions of each cell array of values must match. @@ -206,7 +208,7 @@

-

The first case is an ordinary scalar struct, one field, one value. The +

The first case is an ordinary scalar struct—one field, one value. The second produces an empty struct array with one field and no values, since s being passed an empty cell array of struct array values. When the value is a cell array containing a single entry, this becomes a scalar struct with @@ -215,6 +217,8 @@

Finally, if the value is a non-scalar cell array, then struct produces a struct array. +

+

See also: cell2struct, fieldnames, orderfields, getfield, setfield, rmfield, structfun.

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Data-Types.html octave-3.8.1/doc/interpreter/octave.html/Data-Types.html --- octave-3.8.0/doc/interpreter/octave.html/Data-Types.html 2013-12-27 22:12:32.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Data-Types.html 2014-03-06 19:54:29.000000000 +0000 @@ -76,8 +76,10 @@
Built-in Function: typeinfo (expr)

Return the type of the expression expr, as a string. If -expr is omitted, return an cell array of strings containing all the +expr is omitted, return a cell array of strings containing all the currently installed data types. +

+

See also: class, isa.

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Debug-Mode.html octave-3.8.1/doc/interpreter/octave.html/Debug-Mode.html --- octave-3.8.0/doc/interpreter/octave.html/Debug-Mode.html 2013-12-27 22:12:42.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Debug-Mode.html 2014-03-06 19:54:39.000000000 +0000 @@ -59,8 +59,8 @@

13.4 Debug Mode

There are three additional support functions that allow the user to -interrogate where in the execution of a script Octave entered the debug -mode and to print the code in the script surrounding the point where +find out where in the execution of a script Octave entered the debug +mode, and to print the code in the script surrounding the point where Octave entered debug mode.

@@ -141,9 +141,9 @@

-

When in debug mode the RETURN will execute the last entered command. +

When in debug mode the RETURN key will execute the last entered command. This is useful, for example, after hitting a breakpoint and entering -dbstep. After that one can advance line by line through the code +dbstep once. After that, one can advance line by line through the code with only a single key stroke.


diff -Nru octave-3.8.0/doc/interpreter/octave.html/Defining-Functions.html octave-3.8.1/doc/interpreter/octave.html/Defining-Functions.html --- octave-3.8.0/doc/interpreter/octave.html/Defining-Functions.html 2013-12-27 22:12:40.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Defining-Functions.html 2014-03-06 19:54:37.000000000 +0000 @@ -229,10 +229,22 @@ At the top level, return the number of command line arguments passed to Octave.

-

If called with the optional argument fcn, a function name or handle, +

If called with the optional argument fcn—a function name or handle— return the declared number of arguments that the function can accept. -If the last argument is varargin the returned value is negative. -This feature does not work on builtin functions. +

+

If the last argument to fcn is varargin the returned value is +negative. For example, the function union for sets is declared as +

+
+
function [y, ia, ib] = union (a, b, varargin)
+
+and
+
+nargin ("union")
+⇒ -3
+
+ +

Programming Note: nargin does not work on built-in functions.

See also: nargout, varargin, isargout, varargout, nthargout.

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Defining-Indexing-And-Indexed-Assignment.html octave-3.8.1/doc/interpreter/octave.html/Defining-Indexing-And-Indexed-Assignment.html --- octave-3.8.0/doc/interpreter/octave.html/Defining-Indexing-And-Indexed-Assignment.html 2013-12-27 22:13:12.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Defining-Indexing-And-Indexed-Assignment.html 2014-03-06 19:55:11.000000000 +0000 @@ -78,7 +78,7 @@ The ‘subs’ field may be either ‘":"’ or a cell array of index values.

-

The following example shows how to extract the two first columns of +

The following example shows how to extract the first two columns of a matrix

@@ -190,8 +190,9 @@
Built-in Function: old_val = optimize_subsasgn_calls (new_val)
Built-in Function: optimize_subsasgn_calls (new_val, "local")

Query or set the internal flag for subsasgn method call optimizations. -If true, Octave will attempt to eliminate the redundant copying when calling -subsasgn method of a user-defined class. +

+

If true, Octave will attempt to eliminate the redundant copying when calling +the subsasgn method of a user-defined class.

When called from inside a function with the "local" option, the variable is changed locally for the function and any subroutines it calls. diff -Nru octave-3.8.0/doc/interpreter/octave.html/Diagonal-and-Permutation-Matrices.html octave-3.8.1/doc/interpreter/octave.html/Diagonal-and-Permutation-Matrices.html --- octave-3.8.0/doc/interpreter/octave.html/Diagonal-and-Permutation-Matrices.html 2013-12-27 22:13:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Diagonal-and-Permutation-Matrices.html 2014-03-06 19:55:01.000000000 +0000 @@ -57,6 +57,8 @@


21 Diagonal and Permutation Matrices

+ + +
+
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
diff -Nru octave-3.8.0/doc/interpreter/octave.html/Example-Code.html octave-3.8.1/doc/interpreter/octave.html/Example-Code.html --- octave-3.8.0/doc/interpreter/octave.html/Example-Code.html 2013-12-27 22:13:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Example-Code.html 2014-03-06 19:55:01.000000000 +0000 @@ -88,7 +88,7 @@
  det (eye (length (p))(p, :))
 
-

Finally, here’s how you solve a linear system A*x = b +

Finally, here’s how to solve a linear system A*x = b with Tikhonov regularization (ridge regression) using SVD (a skeleton only):

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Expressions-Involving-Diagonal-Matrices.html octave-3.8.1/doc/interpreter/octave.html/Expressions-Involving-Diagonal-Matrices.html --- octave-3.8.0/doc/interpreter/octave.html/Expressions-Involving-Diagonal-Matrices.html 2013-12-27 22:13:02.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Expressions-Involving-Diagonal-Matrices.html 2014-03-06 19:55:01.000000000 +0000 @@ -57,6 +57,7 @@

21.2.1 Expressions Involving Diagonal Matrices

+

Assume D is a diagonal matrix. If M is a full matrix, then D*M will scale the rows of M. That means, @@ -86,6 +87,7 @@

i.e., null rows are appended to the result. The situation for right-multiplication M*D is analogous.

+

The expressions D \ M and M / D perform inverse scaling. They are equivalent to solving a diagonal (or rectangular diagonal) in a least-squares minimum-norm sense. In exact arithmetic, this is @@ -96,12 +98,12 @@ The matrix division algorithms do, in fact, use division rather than multiplication by reciprocals for better numerical accuracy; otherwise, they honor the above definition. Note that a diagonal matrix is never truncated due -to ill-conditioning; otherwise, it would not be much useful for scaling. This +to ill-conditioning; otherwise, it would not be of much use for scaling. This is typically consistent with linear algebra needs. A full matrix that only -happens to be diagonal (an is thus not a special object) is of course treated +happens to be diagonal (and is thus not a special object) is of course treated normally.

-

Multiplication and division by diagonal matrices works efficiently also when +

Multiplication and division by diagonal matrices work efficiently also when combined with sparse matrices, i.e., D*S, where D is a diagonal matrix and S is a sparse matrix scales the rows of the sparse matrix and returns a sparse matrix. The expressions S*D, D\S, S/D diff -Nru octave-3.8.0/doc/interpreter/octave.html/External-Packages.html octave-3.8.1/doc/interpreter/octave.html/External-Packages.html --- octave-3.8.0/doc/interpreter/octave.html/External-Packages.html 2013-12-27 22:13:19.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/External-Packages.html 2014-03-06 19:55:18.000000000 +0000 @@ -153,6 +153,13 @@ load and save commands to read and write HDF data files.

+
Java Development Kit
+

Java programming language compiler and libraries. The OpenJDK free +software implementation is recommended (http://openjdk.java.net/), +although other JDK implementations may work. Java is required to be able +to call Java functions from within Octave. +

+
LLVM

Compiler framework, (http://www.llvm.org). LLVM is required for Octave’s experimental just-in-time (JIT) compilation for speeding up the diff -Nru octave-3.8.0/doc/interpreter/octave.html/Function-Files.html octave-3.8.1/doc/interpreter/octave.html/Function-Files.html --- octave-3.8.0/doc/interpreter/octave.html/Function-Files.html 2013-12-27 22:12:40.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Function-Files.html 2014-03-06 19:54:37.000000000 +0000 @@ -217,11 +217,12 @@

Built-in Function: mfilename ()
Built-in Function: mfilename ("fullpath")
Built-in Function: mfilename ("fullpathext")
-

Return the name of the currently executing file. At the top-level, -return the empty string. Given the argument "fullpath", -include the directory part of the file name, but not the extension. -Given the argument "fullpathext", include the directory part -of the file name and the extension. +

Return the name of the currently executing file. +

+

When called from outside an m-file return the empty string. Given the +argument "fullpath", include the directory part of the file name, +but not the extension. Given the argument "fullpathext", include +the directory part of the file name and the extension.

diff -Nru octave-3.8.0/doc/interpreter/octave.html/Function-Handles.html octave-3.8.1/doc/interpreter/octave.html/Function-Handles.html --- octave-3.8.0/doc/interpreter/octave.html/Function-Handles.html 2013-12-27 22:12:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Function-Handles.html 2014-03-06 19:54:38.000000000 +0000 @@ -101,21 +101,71 @@
Built-in Function: is_function_handle (x)

Return true if x is a function handle.

-

See also: isa, typeinfo, class. +

See also: isa, typeinfo, class, functions.

-
Built-in Function: functions (fcn_handle)
-

Return a struct containing information about the function handle +

Built-in Function: s = functions (fcn_handle)
+

Return a structure containing information about the function handle fcn_handle. -

+

+

The structure s always contains these 3 fields: +

+
+
function
+

The function name. For an anonymous function (no name) this will be the +actual function definition. +

+
+
type
+

Type of the function. +

+
+
anonymous
+

The function is anonymous. +

+
+
private
+

The function is private. +

+
+
overloaded
+

The function overloads an existing function. +

+
+
simple
+

The function is a built-in or m-file function. +

+
+
subfunction
+

The function is a subfunction within an m-file. +

+
+ +
+
file
+

The m-file that will be called to perform the function. This field is empty +for anonymous and built-in functions. +

+
+ +

In addition, some function types may return more information in additional +fields. +

+

Warning: functions is provided for debugging purposes only. +It’s behavior may change in the future and programs should not depend on a +particular output. +

+
Built-in Function: func2str (fcn_handle)

Return a string containing the name of the function referenced by the function handle fcn_handle. +

+

See also: str2func, functions.

@@ -125,9 +175,16 @@

Return a function handle constructed from the string fcn_name. If the optional "global" argument is passed, locally visible functions are ignored in the lookup. +

+

See also: func2str, inline.

+
+ diff -Nru octave-3.8.0/doc/interpreter/octave.html/Function-Index.html octave-3.8.1/doc/interpreter/octave.html/Function-Index.html --- octave-3.8.0/doc/interpreter/octave.html/Function-Index.html 2013-12-27 22:13:20.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Function-Index.html 2014-03-06 19:55:19.000000000 +0000 @@ -196,6 +196,7 @@ atexitQuitting Octave autoloadOverloading and Autoloading autoloadOverloading and Autoloading +autoloadOverloading and Autoloading autoreg_matrixSignal Processing autumnRepresenting Images autumnRepresenting Images @@ -363,6 +364,7 @@ cellCreating Cell Arrays cell2matProcessing Data in Cell Arrays cell2structProcessing Data in Cell Arrays +cell2structProcessing Data in Cell Arrays celldispBasic Usage of Cell Arrays celldispBasic Usage of Cell Arrays cellfunFunction Application @@ -910,6 +912,13 @@ errorbarTwo-Dimensional Plots errorbarTwo-Dimensional Plots errorbarTwo-Dimensional Plots +errorbarTwo-Dimensional Plots +errorbarTwo-Dimensional Plots +errorbarTwo-Dimensional Plots +errorbarTwo-Dimensional Plots +errorbarTwo-Dimensional Plots +errorbarTwo-Dimensional Plots +errorbarTwo-Dimensional Plots errordlgDialog Box Functions errordlgDialog Box Functions etimeTiming Utilities @@ -1162,7 +1171,11 @@ freqzSignal Processing freqzSignal Processing freqzSignal Processing +freqzSignal Processing +freqzSignal Processing +freqzSignal Processing freqz_plotSignal Processing +freqz_plotSignal Processing frewindFile Positioning frndRandom Number Generation frndRandom Number Generation @@ -1624,6 +1637,8 @@ interp1One-dimensional Interpolation interp1One-dimensional Interpolation interp1One-dimensional Interpolation +interp1One-dimensional Interpolation +interp1One-dimensional Interpolation interp2Multi-dimensional Interpolation interp2Multi-dimensional Interpolation interp2Multi-dimensional Interpolation @@ -1678,6 +1693,7 @@ isequalComparison Ops isequalnComparison Ops isfieldManipulating Structures +isfieldManipulating Structures isfigureGraphics Objects isfiniteFinding Elements and Checking Conditions isfloatPredicates for Numeric Objects @@ -1917,6 +1933,13 @@ loglogerrTwo-Dimensional Plots loglogerrTwo-Dimensional Plots loglogerrTwo-Dimensional Plots +loglogerrTwo-Dimensional Plots +loglogerrTwo-Dimensional Plots +loglogerrTwo-Dimensional Plots +loglogerrTwo-Dimensional Plots +loglogerrTwo-Dimensional Plots +loglogerrTwo-Dimensional Plots +loglogerrTwo-Dimensional Plots logmFunctions of a Matrix logmFunctions of a Matrix logmFunctions of a Matrix @@ -2836,6 +2859,13 @@ semilogxerrTwo-Dimensional Plots semilogxerrTwo-Dimensional Plots semilogxerrTwo-Dimensional Plots +semilogxerrTwo-Dimensional Plots +semilogxerrTwo-Dimensional Plots +semilogxerrTwo-Dimensional Plots +semilogxerrTwo-Dimensional Plots +semilogxerrTwo-Dimensional Plots +semilogxerrTwo-Dimensional Plots +semilogxerrTwo-Dimensional Plots semilogyTwo-Dimensional Plots semilogyTwo-Dimensional Plots semilogyTwo-Dimensional Plots @@ -2845,6 +2875,13 @@ semilogyerrTwo-Dimensional Plots semilogyerrTwo-Dimensional Plots semilogyerrTwo-Dimensional Plots +semilogyerrTwo-Dimensional Plots +semilogyerrTwo-Dimensional Plots +semilogyerrTwo-Dimensional Plots +semilogyerrTwo-Dimensional Plots +semilogyerrTwo-Dimensional Plots +semilogyerrTwo-Dimensional Plots +semilogyerrTwo-Dimensional Plots setGraphics Objects setGraphics Objects setGraphics Objects @@ -3104,6 +3141,8 @@ strtrimManipulating Strings strtruncManipulating Strings structCreating Structures +structCreating Structures +structCreating Structures struct2cellProcessing Data in Structures struct2hdlGraphics Objects struct2hdlGraphics Objects diff -Nru octave-3.8.0/doc/interpreter/octave.html/Function-Locking.html octave-3.8.1/doc/interpreter/octave.html/Function-Locking.html --- octave-3.8.0/doc/interpreter/octave.html/Function-Locking.html 2013-12-27 22:12:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Function-Locking.html 2014-03-06 19:54:38.000000000 +0000 @@ -67,16 +67,18 @@

As an example,

-
mlock ("my_function");
+
function my_function ()
+  mlock ();
+  …
 
-

prevents my_function from being removed from memory, even if -clear is called. It is possible to determine if a function is -locked into memory with the mislocked, and to unlock a function -with munlock, which the following illustrates. +

prevents my_function from being removed from memory after it is +called, even if clear is called. It is possible to determine if +a function is locked into memory with the mislocked, and to unlock +a function with munlock, which the following illustrates.

-
mlock ("my_function");
+
my_function ();
 mislocked ("my_function")
 ⇒ ans = 1
 munlock ("my_function");
@@ -89,11 +91,11 @@
 

function count_calls ()
+  mlock ();
   persistent calls = 0;
   printf ("'count_calls' has been called %d times\n",
           ++calls);
 endfunction
-mlock ("count_calls");
 
 count_calls ();
 -| 'count_calls' has been called 1 times
@@ -103,19 +105,6 @@
 -| 'count_calls' has been called 2 times
 
-

It is, however, often inconvenient to lock a function from the prompt, -so it is also possible to lock a function from within its body. This -is simply done by calling mlock from within the function. -

-
-
function count_calls ()
-  mlock ();
-  persistent calls = 0;
-  printf ("'count_calls' has been called %d times\n",
-          ++calls);
-endfunction
-
-

mlock might equally be used to prevent changes to a function from having effect in Octave, though a similar effect can be had with the ignore_function_time_stamp function. diff -Nru octave-3.8.0/doc/interpreter/octave.html/Function-Precedence.html octave-3.8.1/doc/interpreter/octave.html/Function-Precedence.html --- octave-3.8.0/doc/interpreter/octave.html/Function-Precedence.html 2013-12-27 22:12:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Function-Precedence.html 2014-03-06 19:54:38.000000000 +0000 @@ -79,9 +79,6 @@ An overloaded function of a class as in chapter Object Oriented Programming. -

  • Legacy Dispatch -An overloaded function as defined by dispatch. -
  • Command-line Function A function that has been defined on the command-line. @@ -94,8 +91,8 @@ between these versions are in that order.
  • Built-in function -A function that is builtin to Octave itself such as numel, -size, etc. +A function that is a part of core Octave such as numel, size, +etc.
  • diff -Nru octave-3.8.0/doc/interpreter/octave.html/Functions-of-a-Matrix.html octave-3.8.1/doc/interpreter/octave.html/Functions-of-a-Matrix.html --- octave-3.8.0/doc/interpreter/octave.html/Functions-of-a-Matrix.html 2013-12-27 22:13:01.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Functions-of-a-Matrix.html 2014-03-06 19:55:00.000000000 +0000 @@ -57,6 +57,7 @@

    18.4 Functions of a Matrix

    +
    Function File: expm (A)
    diff -Nru octave-3.8.0/doc/interpreter/octave.html/General-Guidelines.html octave-3.8.1/doc/interpreter/octave.html/General-Guidelines.html --- octave-3.8.0/doc/interpreter/octave.html/General-Guidelines.html 2013-12-27 22:13:19.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/General-Guidelines.html 2014-03-06 19:55:18.000000000 +0000 @@ -58,7 +58,7 @@

    D.4 General Guidelines

    -

    All Octave’s sources are distributed under the General Public License +

    All Octave’s sources are distributed under the GNU General Public License (GPL). Currently, Octave uses GPL version 3. For details about this license, see http://www.gnu.org/licenses/gpl.html. Therefore, whenever you create a new source file, it should have the following @@ -69,20 +69,18 @@ ## ## This file is part of Octave. ## -## Octave is free software; you can redistribute it and/or -## modify it under the terms of the GNU General Public -## License as published by the Free Software Foundation; -## either version 3 of the License, or (at your option) any -## later version. +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or +## (at your option) any later version. ## -## Octave is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied -## warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -## PURPOSE. See the GNU General Public License for more -## details. +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. ## -## You should have received a copy of the GNU General Public -## License along with Octave; see the file COPYING. If not, +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, ## see <http://www.gnu.org/licenses/>.

    @@ -90,13 +88,13 @@ changes, record and briefly describe the changes in your commit message. You should have previously configured your .hgrc (or Mercurial.ini on Windows) with your name and email, which will -get automatically added to your commit message. Your commit message +be automatically added to your commit message. Your commit message should have a brief one-line explanation of what the commit does. If you are patching a bug, this one-line explanation should mention the bug -number at the end. If your change is small and only touches one file, -this is typically sufficient. If you are modifying several files or +number at the end. If your change is small and only touches one file then +this is typically sufficient. If you are modifying several files, or several parts of one file, you should enumerate your changes roughly -following the GNU coding standards on changelogs, like the following +following the GNU coding standards for changelogs, as in the following example:

    @@ -112,12 +110,12 @@ (FCN_FILES): Include test_ctor_vs_method.m in the list.
    -

    In this example, the names of files is mentioned, and in parentheses the -name of the function in that file that was modified. There is no need to -mention the function for m-files that only contain one function. The -commit message should describe what is changed, not why. Any explanation -of why a change is needed should appear as comments in the code, -particularly if there is something that might not be obvious to someone +

    In this example, the names of the file changed is listed first, and in +parentheses the name of the function in that file that was modified. There +is no need to mention the function for m-files that only contain one function. +The commit message should describe what was changed, not why it was changed. +Any explanation for why a change is needed should appear as comments in the +code, particularly if there is something that might not be obvious to someone reading it later.

    When submitting code which addresses a known bug on the Octave bug @@ -129,7 +127,7 @@

    The preferred comment mark for places that may need further attention is -FIXME. +FIXME:.


    diff -Nru octave-3.8.0/doc/interpreter/octave.html/Getting-Help.html octave-3.8.1/doc/interpreter/octave.html/Getting-Help.html --- octave-3.8.0/doc/interpreter/octave.html/Getting-Help.html 2013-12-27 22:12:31.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Getting-Help.html 2014-03-06 19:54:28.000000000 +0000 @@ -317,7 +317,7 @@ resulting cache is saved in the file out_file. The cache is used to speed up lookfor.

    -

    If no directory is given (or it is the empty matrix), a cache for builtin +

    If no directory is given (or it is the empty matrix), a cache for built-in operators, etc. is generated.

    diff -Nru octave-3.8.0/doc/interpreter/octave.html/Getting-Started-with-Oct_002dFiles.html octave-3.8.1/doc/interpreter/octave.html/Getting-Started-with-Oct_002dFiles.html --- octave-3.8.0/doc/interpreter/octave.html/Getting-Started-with-Oct_002dFiles.html 2013-12-27 22:13:18.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Getting-Started-with-Oct_002dFiles.html 2014-03-06 19:55:17.000000000 +0000 @@ -69,7 +69,7 @@

    Command: mkoctfile [-options] file …
    -
    Function File: [output, status = mkoctfile (…)
    +
    Function File: [output, status] = mkoctfile (…)

    The mkoctfile function compiles source code written in C, C++, or Fortran. Depending on the options used with mkoctfile, the @@ -140,30 +140,33 @@

    Print the configuration variable VAR. Recognized variables are:

    -
       ALL_CFLAGS                FFTW3F_LIBS
    -   ALL_CXXFLAGS              FLIBS
    -   ALL_FFLAGS                FPICFLAG
    -   ALL_LDFLAGS               INCFLAGS
    -   BLAS_LIBS                 LAPACK_LIBS
    -   CC                        LDFLAGS
    -   CFLAGS                    LD_CXX
    -   CPICFLAG                  LD_STATIC_FLAG
    -   CPPFLAGS                  LFLAGS
    -   CXX                       LIBOCTAVE
    -   CXXFLAGS                  LIBOCTINTERP
    -   CXXPICFLAG                LIBS
    -   DEPEND_EXTRA_SED_PATTERN  OCTAVE_LIBS
    -   DEPEND_FLAGS              OCTAVE_LINK_DEPS
    -   DL_LD                     OCT_LINK_DEPS
    -   DL_LDFLAGS                RDYNAMIC_FLAG
    -   EXEEXT                    READLINE_LIBS
    -   F77                       SED
    -   F77_INTEGER_8_FLAG        XTRA_CFLAGS
    -   FFLAGS                    XTRA_CXXFLAGS
    -   FFTW3_LDFLAGS
    -   FFTW3_LIBS
    -   FFTW3F_LDFLAGS
    -
    +
       ALL_CFLAGS                  INCFLAGS
    +   ALL_CXXFLAGS                INCLUDEDIR
    +   ALL_FFLAGS                  LAPACK_LIBS
    +   ALL_LDFLAGS                 LD_CXX
    +   AR                          LDFLAGS
    +   BLAS_LIBS                   LD_STATIC_FLAG
    +   CC                          LFLAGS
    +   CFLAGS                      LIBDIR
    +   CPICFLAG                    LIBOCTAVE
    +   CPPFLAGS                    LIBOCTINTERP
    +   CXX                         LIBS
    +   CXXFLAGS                    OCTAVE_HOME
    +   CXXPICFLAG                  OCTAVE_LIBS
    +   DEPEND_EXTRA_SED_PATTERN    OCTAVE_LINK_DEPS
    +   DEPEND_FLAGS                OCTAVE_LINK_OPTS
    +   DL_LD                       OCTAVE_PREFIX
    +   DL_LDFLAGS                  OCTINCLUDEDIR
    +   F77                         OCTLIBDIR
    +   F77_INTEGER8_FLAG           OCT_LINK_DEPS
    +   FFLAGS                      OCT_LINK_OPTS
    +   FFTW3F_LDFLAGS              RANLIB
    +   FFTW3F_LIBS                 RDYNAMIC_FLAG
    +   FFTW3_LDFLAGS               READLINE_LIBS
    +   FFTW3_LIBS                  SED
    +   FFTW_LIBS                   SPECIAL_MATH_LIB
    +   FLIBS                       XTRA_CFLAGS
    +   FPICFLAG                    XTRA_CXXFLAGS
     
    diff -Nru octave-3.8.0/doc/interpreter/octave.html/Graphics-Objects.html octave-3.8.1/doc/interpreter/octave.html/Graphics-Objects.html --- octave-3.8.0/doc/interpreter/octave.html/Graphics-Objects.html 2013-12-27 22:12:52.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Graphics-Objects.html 2014-03-06 19:54:51.000000000 +0000 @@ -605,6 +605,7 @@ +

    Figures can be printed or saved in many graphics formats with print and saveas. Occasionally, however, it may be useful to save the original diff -Nru octave-3.8.0/doc/interpreter/octave.html/High_002dLevel-Plotting.html octave-3.8.1/doc/interpreter/octave.html/High_002dLevel-Plotting.html --- octave-3.8.0/doc/interpreter/octave.html/High_002dLevel-Plotting.html 2013-12-27 22:12:45.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/High_002dLevel-Plotting.html 2014-03-06 19:54:43.000000000 +0000 @@ -57,6 +57,7 @@


    15.2 High-Level Plotting

    +

    Octave provides simple means to create many different types of two- and three-dimensional plots using high-level functions. Binary files /tmp/vfWUk5afSt/octave-3.8.0/doc/interpreter/octave.html/hist.png and /tmp/A_syi_nnVe/octave-3.8.1/doc/interpreter/octave.html/hist.png differ diff -Nru octave-3.8.0/doc/interpreter/octave.html/How-to-Contribute.html octave-3.8.1/doc/interpreter/octave.html/How-to-Contribute.html --- octave-3.8.0/doc/interpreter/octave.html/How-to-Contribute.html 2013-12-27 22:13:18.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/How-to-Contribute.html 2014-03-06 19:55:18.000000000 +0000 @@ -57,10 +57,10 @@


    D.1 How to Contribute

    -

    The mailing list for Octave development discussion is +

    The mailing list for Octave development discussions is maintainers@octave.org. Patches should be submitted to Octave’s patch tracker. -This concerns the development of Octave core, i.e., code that goes to Octave +This concerns the development of Octave core, i.e., code that goes in to Octave directly. You may consider developing and publishing a package instead; a great place for this is the allied Octave-Forge project (http://octave.sourceforge.net). Note that the Octave core diff -Nru octave-3.8.0/doc/interpreter/octave.html/Ignoring-Arguments.html octave-3.8.1/doc/interpreter/octave.html/Ignoring-Arguments.html --- octave-3.8.0/doc/interpreter/octave.html/Ignoring-Arguments.html 2013-12-27 22:12:40.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Ignoring-Arguments.html 2014-03-06 19:54:37.000000000 +0000 @@ -89,7 +89,7 @@

    Built-in Function: isargout (k)

    Within a function, return a logical value indicating whether the argument -k will be assigned on output to a variable. If the result is false, +k will be assigned to a variable on output. If the result is false, the argument has been ignored during the function call through the use of the tilde (~) special output argument. Functions can use isargout to avoid performing unnecessary calculations for outputs which are unwanted. diff -Nru octave-3.8.0/doc/interpreter/octave.html/index.html octave-3.8.1/doc/interpreter/octave.html/index.html --- octave-3.8.0/doc/interpreter/octave.html/index.html 2013-12-27 22:12:30.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/index.html 2014-03-06 19:54:27.000000000 +0000 @@ -773,7 +773,7 @@

    This manual documents how to run, install and port GNU Octave, as well as its new features and incompatibilities, and how to report bugs. -It corresponds to GNU Octave version 3.8.0. +It corresponds to GNU Octave version 3.8.1.

    diff -Nru octave-3.8.0/doc/interpreter/octave.html/Inline-Functions.html octave-3.8.1/doc/interpreter/octave.html/Inline-Functions.html --- octave-3.8.0/doc/interpreter/octave.html/Inline-Functions.html 2013-12-27 22:12:41.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Inline-Functions.html 2014-03-06 19:54:38.000000000 +0000 @@ -74,7 +74,8 @@
    Built-in Function: inline (str, arg1, …)
    Built-in Function: inline (str, n)

    Create an inline function from the character string str. -If called with a single argument, the arguments of the generated +

    +

    If called with a single argument, the arguments of the generated function are extracted from the function itself. The generated function arguments will then be in alphabetical order. It should be noted that i, and j are ignored as arguments due to the @@ -89,7 +90,12 @@

    If the second argument is an integer n, the arguments are "x", "P1", …, "PN".

    -

    See also: argnames, formula, vectorize. +

    Programming Note: The use of inline is discouraged and it may be +removed from a future version of Octave. The preferred way to create +functions from strings is through the use of anonymous functions +(see Anonymous Functions) or str2func. +

    +

    See also: argnames, formula, vectorize, str2func.

    diff -Nru octave-3.8.0/doc/interpreter/octave.html/Input-Parameter-Checking-in-Oct_002dFiles.html octave-3.8.1/doc/interpreter/octave.html/Input-Parameter-Checking-in-Oct_002dFiles.html --- octave-3.8.0/doc/interpreter/octave.html/Input-Parameter-Checking-in-Oct_002dFiles.html 2013-12-27 22:13:18.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Input-Parameter-Checking-in-Oct_002dFiles.html 2014-03-06 19:55:17.000000000 +0000 @@ -118,9 +118,9 @@
    paramdemo ([1, 2, NaN, Inf])
     ⇒ Properties of input array:
    -      includes Inf or NaN values
    -      includes other values than 1 and 0
    -      includes only int, Inf or NaN values
    +     includes Inf or NaN values
    +     includes other values than 1 and 0
    +     includes only int, Inf or NaN values
     

    diff -Nru octave-3.8.0/doc/interpreter/octave.html/Integer-Data-Types.html octave-3.8.1/doc/interpreter/octave.html/Integer-Data-Types.html --- octave-3.8.0/doc/interpreter/octave.html/Integer-Data-Types.html 2013-12-27 22:12:33.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Integer-Data-Types.html 2014-03-06 19:54:30.000000000 +0000 @@ -95,48 +95,64 @@
    Built-in Function: int8 (x)

    Convert x to 8-bit integer type. +

    +

    See also: uint8, int16, uint16, int32, uint32, int64, uint64.

    Built-in Function: uint8 (x)

    Convert x to unsigned 8-bit integer type. +

    +

    See also: int8, int16, uint16, int32, uint32, int64, uint64.

    Built-in Function: int16 (x)

    Convert x to 16-bit integer type. +

    +

    See also: int8, uint8, uint16, int32, uint32, int64, uint64.

    Built-in Function: uint16 (x)

    Convert x to unsigned 16-bit integer type. +

    +

    See also: int8, uint8, int16, int32, uint32, int64, uint64.

    Built-in Function: int32 (x)

    Convert x to 32-bit integer type. +

    +

    See also: int8, uint8, int16, uint16, uint32, int64, uint64.

    Built-in Function: uint32 (x)

    Convert x to unsigned 32-bit integer type. +

    +

    See also: int8, uint8, int16, uint16, int32, int64, uint64.

    Built-in Function: int64 (x)

    Convert x to 64-bit integer type. +

    +

    See also: int8, uint8, int16, uint16, int32, uint32, uint64.

    Built-in Function: uint64 (x)

    Convert x to unsigned 64-bit integer type. +

    +

    See also: int8, uint8, int16, uint16, int32, uint32, int64.

    diff -Nru octave-3.8.0/doc/interpreter/octave.html/Introduction.html octave-3.8.1/doc/interpreter/octave.html/Introduction.html --- octave-3.8.0/doc/interpreter/octave.html/Introduction.html 2013-12-27 22:12:30.000000000 +0000 +++ octave-3.8.1/doc/interpreter/octave.html/Introduction.html 2014-03-06 19:54:27.000000000 +0000 @@ -79,7 +79,7 @@ run, use, and extend GNU Octave. Additional chapters describe how to report bugs and help contribute code.

    -

    This document corresponds to Octave version 3.8.0. +

    This document corresponds to Octave version 3.8.1.