Mercurial > hg > octave-lyh
diff test/test_index-wfi-f.m @ 7646:ad16ea379d2f
additional fixes for Array::assignN
author | David Bateman <dbateman@free.fr> |
---|---|
date | Wed, 26 Mar 2008 15:38:25 -0400 |
parents | 9a4541c622b5 |
children | eb63fbe60fab |
line wrap: on
line diff
--- a/test/test_index-wfi-f.m +++ b/test/test_index-wfi-f.m @@ -380,106 +380,130 @@ %! assert(a(2),3); %! warning (wfi.state, "Octave:fortran-indexing"); -%% test/octave.test/index-wfi-f/misc.m -%!test -%! wfi = warning ("query", "Octave:fortran-indexing"); -%! warning ("off", "Octave:fortran-indexing"); +%% Additional tests +%!shared a, b %! a = [1,2;3,4]; %! b = a; %! b(:,:,2) = [5,6;7,8]; -%! a1 = [1; 3; 2; 4]; -%! a2 = [1, 3]; -%! a3 = [1, 2; 3, 4]; -%! a4 = [1; 3]; -%! a5 = 1; -%! a6 = [1; 3]; -%! a7 = [1, 2; 3, 4]; -%! a8(:,:,1) = [1, 2; 3, 4]; -%! a8(:,:,2) = [1, 2; 3, 4]; -%! a9(:,:,1,1) = [1, 2; 3, 4]; -%! a9(:,:,1,2) = [1, 2; 3, 4]; -%! a10(:,:,1,1) = [1, 2; 3, 4]; -%! a10(:,:,2,1) = [1, 2; 3, 4]; -%! a10(:,:,1,2) = [1, 2; 3, 4]; -%! a10(:,:,2,2) = [1, 2; 3, 4]; -%! a11 = zeros (1, 0); -%! a12 = zeros (1, 0, 2); -%! a13 = zeros (1, 1, 0); -%! clear a14; a14(1:10,1) = 1:10; -%! clear a15; a15(1,:) = a2; -%! clear a16; a16(1,:) = a4; -%! clear a17; a17(:,1) = a4; -%! clear a18; a18(1,:,:) = a; -%! a19 = reshape (a, [1,2,2]); -%! clear a20; a20(1,1:4,2) = reshape (1:4, [1,1,4]); -%! clear a21; a21(:,:,2) = 1:4; -%! clear a22; a22(:,:,:) = 1:4; -%! clear a23; a23(1,:,:) = 1:4; -%! clear a24; a24(:,1,:) = 1:4; -%! clear a25; a25(:,:,1) = 1:4; -%! clear a26; a26(:,:,1) = [1:4]'; -%! clear a27; a27(:,:,1) = reshape(1:4,[1,1,4]); -%! clear a28; a28(1,:,:) = 1:4; -%! clear a29; a29(1,:,:) = [1:4]'; -%! clear a30; a30(1,:,:) = reshape (1:4,[1,1,4]); -%! b1 = [1; 3; 2; 4; 5; 7; 6; 8]; -%! b2 = [1, 2, 5, 6; 3, 4, 7, 8]; -%! b3 = [1; 3]; -%! b4(:,:,1) = [1, 2; 3, 4]; -%! b4(:,:,2) = [5, 6; 7, 8]; -%! b5 = [1; 3]; -%! b6(:,:,1,1) = [1; 3]; -%! b6(:,:,1,2) = [1; 3]; -%! b7 = 5; -%! b8 = [5, 6]; -%! b9 = [1, 2, 5, 6]; -%! b10 = zeros (1, 0, 2); -%! b11 = zeros (1, 0); -%! b12 = [5; 7]; -%! b13 = zeros (0, 1); -%! -%! assert(a(:),a1); -%! assert(a(1:2), a2); -%! assert(a(:,:), a3); -%! assert(a(:,1), a4); -%! assert(a(1,1), a5); -%! assert(a(1:2,1), a6); -%! assert(a(:,:,1), a7); -%! assert(a(:,:,[1,1]), a8); -%! assert(a(:,:,1,[1,1]), a9); -%! assert(a(:,:,[1,1],[1,1]), a10); -%! assert(a(1,[]), a11); -%! assert(a(1,[],[1,1]), a12); -%! assert(a(1,1,[]), a13); -%! assert(a14, (1:10)'); -%! assert(b(:), b1); -%! assert(b(:,:), b2); -%! assert(b(:,1), b3); -%! assert(b(:,:,:), b4); -%! assert(b(:,1,1), b5); -%! assert(b(:,1,1,[1,1]), b6); -%! assert(b(1,3), b7); -%! assert(b(1,[3,4]), b8); -%! assert(b(1,1:4), b9); -%! assert(b(1,[],:), b10); -%! assert(b(1,[]), b11); -%! assert(b(:,3), b12); -%! assert(b([1,2],3), b12); -%! assert(b(true(2,1),3), b12); -%! assert(b(false(2,1),3), b13) -%! assert(b([],3), b13) -%! assert(a15, a2); -%! assert(a16, a2); -%! assert(a17, a4); -%! assert(a18, a19); -%! assert(a20, a21); -%! assert(a22, [1:4]); -%! assert(a23, reshape (1:4, [1,1,4])); -%! assert(a24, reshape (1:4, [1,1,4])); -%! assert(a25, [1,2,3,4]); -%! assert(a26, [1;2;3;4]); -%! assert(a27, [1;2;3;4]); -%! assert(a28, reshape (1:4, [1,1,4])); -%! assert(a29, [1,2,3,4]); -%! assert(a30, [1,2,3,4]); -%! warning (wfi.state, "Octave:fortran-indexing"); + +%!assert (a(:), [1;3;2;4]); +%!assert (a(1:2), [1,3]); +%!assert (a(:,:), [1,2;3,4]); +%!assert (a(:,1), [1;3]); +%!assert (a(1,1), 1); +%!assert (a(1:2,1), [1;3]); +%!assert (a(:,:,1), [1,2;3,4]); + +%!test +%! c(:,:,1) = [1,2;3,4]; +%! c(:,:,2) = [1,2;3,4]; +%! assert (a(:,:,[1,1]),c) + +%!test +%! c(:,:,1,1) = [1,2;3,4]; +%! c(:,:,1,2) = [1,2;3,4]; +%! assert (a(:,:,1,[1,1]),c) + +%!test +%! c(:,:,1,1) = [1,2;3,4]; +%! c(:,:,2,1) = [1,2;3,4]; +%! c(:,:,1,2) = [1,2;3,4]; +%! c(:,:,2,2) = [1,2;3,4]; +%! assert (a(:,:,[1,1],[1,1]),c) + +%!assert (a(1,[]), zeros(1,0)); +%!assert (a(1,[],[1,1]), zeros(1,0,2)); +%!assert (a(1,1,[]), zeros(1,1,0)); + +%!test +%! c (1:10,1) = 1:10; +%! assert (c, [1:10]'); + +%!assert (b(:), [1; 3; 2; 4; 5; 7; 6; 8]); +%!assert (b(:,:), [1, 2, 5, 6; 3, 4, 7, 8]); +%!assert (b(:,1), [1;3]); +%!assert (b(:,:,:), reshape ([1,3,2,4,5,7,6,8],[2,2,2])); +%!assert (b(:,1,1), [1;3]); +%!assert (b(:,1,1,[1,1]),reshape([1,3,1,3],[2,1,1,2])); +%!assert (b(1,3), 5); +%!assert (b(1,[3,4]), [5,6]); +%!assert (b(1,1:4), [1,2,5,6]); +%!assert (b(1,[],:), zeros (1,0,2)); +%!assert (b(1,[]), zeros(1,0)); +%!assert (b(:,3), [5;7]) +%!assert (b([1,2],3), [5;7]) +%!assert (b(true(2,1),3), [5;7]) +%!assert (b(false(2,1),3), zeros(0,1)) +%!assert (b([],3), zeros(0,1)); + +%!shared x +%! # Dummy shared block to clear any previous definitions +%! x = 1; + +%!test +%! a(1,:) = [1,3]; +%! assert (a, [1,3]); + +%!test +%! a(1,:) = [1;3]; +%! assert (a, [1,3]); + +%!test +%! a(:,1) = [1;3]; +%! assert (a, [1;3]); + +%!test +%! a = [1,2;3,4]; +%! b (1,:,:) = a; +%! assert (b, reshape (a, [1,2,2])); + +%!test +%! a(1,1:4,2) = reshape (1:4, [1,1,4]); +%! b(:,:,2) = 1:4; +%! assert (a, b); + +%!test +%! a(:,:,:) = 1:4; +%! assert (a, [1:4]); + +%!test +%! a(:,:,1) = 1:4;; +%! assert (a, [1:4]); + +%!test +%! a(:,:,1) = [1:4]'; +%! assert (a, [1:4]'); + +%!test +%! a(:,:,1) = reshape(1:4,[1,1,4]); +%! assert (a, [1:4]'); + +%!test +%! a(:,1,:) = 1:4; +%! assert (a, reshape (1:4,[1,1,4])); + +%!test +%! a(:,1,:) = [1:4]'; +%! assert (a, [1:4]'); + +%!test +%! a(:,1,:) = reshape(1:4,[1,1,4]);; +%! assert (a, [1:4]'); + +%!test +%! a(1,:,:) = 1:4; +%! assert (a, reshape (1:4,[1,1,4])); + +%!test +%! a(1,:,:) = [1:4]'; +%! assert (a, [1:4]); + +%!test +%! a(1,:,:) = reshape(1:4,[1,1,4]); +%! assert (a, [1:4]); + +%!test +%! a(1,:,:,:) = reshape(1:4,[1,1,4]); +%! assert (a, reshape (1:4,[1,1,1,4])); + +%!error (a(1:2,1:2) = 1:4)