Mercurial > hg > octave-nkf
view test/range.tst @ 20008:415864f5b85f
communicating actual working directory to the editor (#44298)
* file-editor-tab.cc (file-editor-tab.cc): init new _ced variable storing
current editor directory, do not store directory in _file_name;
(set_current_directory): new slot for setting current editor directory;
(handle_context_menu_edit): use _ced for current directory;
(valid_file_name): just check whether name is empty;
(save_file_as): set directory to current edit directory;
* file-editor-tab.h: new variable _ced; new slot for setting _ced,
* file-editor.cc (update_octave_directory): new slot for setting current
editor directory to wirking directory;
(handle_editor_state_changed): do not ced from current file name;
(add_file_editor_tab) connect new signal for setting directory to related
slot in file_editor_tab
* file-editor.h: new slot and new signal updating directory
* main-window.cc (change_directory): do not call update directory function in
file_browser_window because the latter is notified by a signal now;
(construct_octave_qt_link): connect change_directory_signal from
octave_qt_link to appropriate slots in editor and file browser
author | Torsten <ttl@justmail.de> |
---|---|
date | Sat, 21 Feb 2015 13:33:28 +0100 |
parents | 4197fc428c7d |
children | ba032e57fd96 |
line wrap: on
line source
## Copyright (C) 2007-2015 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 ## <http://www.gnu.org/licenses/>. ## Test values of range %!assert (full (1:9), [ 1 2 3 4 5 6 7 8 9 ]) %!assert (full (1:0.4:3), [ 1.0 1.4 1.8 2.2 2.6 3.0 ]) %!assert (full (9:1), zeros (1,0)) %!assert (full (9:-1:1), [ 9 8 7 6 5 4 3 2 1 ]) %!assert (full (1:-1:9), zeros (1,0)) %!assert (full (1:1:1), 1) %!assert (full (i:2i:10i), zeros (1,0)) ## Test mixing integer range with other types %!shared expect, r, z %! expect = [ 1 2 3 4 5 6 7 8 9 %! 0 0 0 0 0 0 0 0 0 ]; %! z = zeros (1,9); %! r = 1:9; %!assert ([ r ; z ], expect) %!assert ([ r ; single(z) ], single (expect)) %!assert ([ r ; logical(z) ], expect) %!assert ([ r ; sparse(z) ], sparse (expect)) %!assert ([ r ; sparse(logical(z)) ], sparse (expect)) %!assert ([ r ; int8(z) ], int8 (expect)) %!assert ([ r ; int16(z) ], int16 (expect)) %!assert ([ r ; int32(z) ], int32 (expect)) %!assert ([ r ; int64(z) ], int64 (expect)) %!assert ([ r ; uint8(z) ], uint8 (expect)) %!assert ([ r ; uint16(z) ], uint16 (expect)) %!assert ([ r ; uint32(z) ], uint32 (expect)) %!assert ([ r ; uint64(z) ], uint64 (expect)) ## Test mixing non-integer range with other types %!shared expect, r, z %! expect = [ 1.0 1.4 1.8 2.2 2.6 3.0 %! 0 0 0 0 0 0 ]; %! z = zeros (1,6); %! r = 1:0.4:3; %!assert ([ r ; z ], expect) %!assert ([ r ; single(z) ], single (expect)) %!assert ([ r ; logical(z) ], expect) %!assert ([ r ; sparse(z) ], sparse (expect)) %!assert ([ r ; sparse(logical(z)) ], sparse (expect)) %!assert ([ r ; int8(z) ], int8 (expect)) %!assert ([ r ; int16(z) ], int16 (expect)) %!assert ([ r ; int32(z) ], int32 (expect)) %!assert ([ r ; int64(z) ], int64 (expect)) %!assert ([ r ; uint8(z) ], uint8 (expect)) %!assert ([ r ; uint16(z) ], uint16 (expect)) %!assert ([ r ; uint32(z) ], uint32 (expect)) %!assert ([ r ; uint64(z) ], uint64 (expect)) ## Test corner cases of ranges (base and limit) %!shared r, rrev, rneg %! r = -0:3; %! rrev = 3:-1:-0; %! rneg = -3:-0; %!assert (full (r), [-0 1 2 3]) %!assert (signbit (full (r)), logical ([1 0 0 0])) %!assert (r(1), -0) %!assert (signbit (r(1)), true) %!assert (signbit (r(1:2)), logical ([1 0])) %!assert (signbit (r(2:-1:1)), logical ([0 1])) %!assert (signbit (r([2 1 1 3])), logical ([0 1 1 0])) %!assert (full (rrev), [3 2 1 -0]) %!assert (signbit (full (rrev)), logical ([0 0 0 1])) %!assert (rrev(4), -0) %!assert (signbit (rrev(4)), true) %!assert (signbit (rrev(3:4)), logical ([0 1])) %!assert (signbit (rrev(4:-1:3)), logical ([1 0])) %!assert (signbit (rrev([1 4 4 2])), logical ([0 1 1 0])) %!assert (min (r), -0) %!assert (signbit (min (r)), true) %!assert (min (rrev), -0) %!assert (signbit (min (rrev)), true) %!assert (max (rneg), -0) %!assert (signbit (max (rneg)), true) %!assert (sort (r, "descend"), [3 2 1 -0]) %!assert (signbit (sort (r, "descend")), logical ([0 0 0 1])) %!assert (signbit (sort (rrev, "ascend")), logical ([1 0 0 0]))