# HG changeset patch # User Allan Jacobs # Date 1396567805 25200 # Node ID 21e5205679d05679b38750115814da223b6d4990 # Parent 1b6f5917ae4b99b3d3ac0f05d008becc66f4289d del2.m: Add %!tests (bug #42005). * del2.m: Add %!tests (bug #42005). * contributors.in: Add Allan Jacobs to list of contributors. diff -r 1b6f5917ae4b -r 21e5205679d0 doc/interpreter/contributors.in --- a/doc/interpreter/contributors.in Thu Apr 03 22:01:36 2014 +0100 +++ b/doc/interpreter/contributors.in Thu Apr 03 16:30:05 2014 -0700 @@ -123,6 +123,7 @@ John Hunt Teemu Ikonen Alan W. Irwin +Allan Jacobs Geoff Jacobsen Mats Jansson Cai Jianming diff -r 1b6f5917ae4b -r 21e5205679d0 scripts/general/del2.m --- a/scripts/general/del2.m Thu Apr 03 22:01:36 2014 +0100 +++ b/scripts/general/del2.m Thu Apr 03 16:30:05 2014 -0700 @@ -158,3 +158,164 @@ D = D ./ nd; endfunction + +## 3x3 constant test +%!test +%! a = ones (3,3); +%! b = del2 (a); +%! assert (b(:,1), [0.00;0.00;0.00]); +%! assert (b(:,2), [0.00;0.00;0.00]); +%! assert (b(:,3), [0.00;0.00;0.00]); + +## 3x3 planar test +%!test +%! a = [1,2,3;2,3,4;3,4,5]; +%! b = del2 (a); +%! assert (b(:,1), [0.00;0.00;0.00]); +%! assert (b(:,2), [0.00;0.00;0.00]); +%! assert (b(:,3), [0.00;0.00;0.00]); + +## 3x3 corner test +%!test +%! a = zeros (3,3); +%! a(1,1) = 1.0; +%! b = 2*del2 (a); +%! assert (b(:,1), [1.00;0.50;0.50]); +%! assert (b(:,2), [0.50;0.00;0.00]); +%! assert (b(:,3), [0.50;0.00;0.00]); +%! assert (b, flipud (2*del2 (flipud (a)))); +%! assert (b, fliplr (2*del2 (fliplr (a)))); +%! assert (b, flipud (fliplr (2*del2 (fliplr (flipud (a)))))); + +## 3x3 boundary test +%!test +%! a = zeros (3,3); +%! a(2,1)=1.0; +%! b = 2*del2 (a); +%! assert (b(:,1), [-1.00;-0.50;-1.00]); +%! assert (b(:,2), [0.00;0.50;0.00]); +%! assert (b(:,3), [0.00;0.50;0.00]); +%! assert (b, flipud (2*del2 (flipud (a)))); +%! assert (b, fliplr (2*del2 (fliplr (a)))); +%! assert (b, flipud (fliplr (2*del2 (fliplr (flipud (a)))))); + +## 3x3 center test +%!test +%! a = zeros (3,3); +%! a(2,2) = 1.0; +%! b = del2 (a); +%! assert (b(:,1), [0.00;-0.50;0.00]); +%! assert (b(:,2), [-0.50;-1.00;-0.50]); +%! assert (b(:,3), [0.00;-0.50;0.00]); + +## 4x4 constant test +%!test +%! a = ones (4,4); +%! b = del2 (a); +%! assert (b(:,1), [0.00;0.00;0.00;0.00]); +%! assert (b(:,2), [0.00;0.00;0.00;0.00]); +%! assert (b(:,3), [0.00;0.00;0.00;0.00]); +%! assert (b(:,4), [0.00;0.00;0.00;0.00]); + +## 4x4 planar test +%!test +%! a = [1,2,3,4;2,3,4,5;3,4,5,6;4,5,6,7]; +%! b = del2 (a); +%! assert (b(:,1), [0.00;0.00;0.00;0.00]); +%! assert (b(:,2), [0.00;0.00;0.00;0.00]); +%! assert (b(:,3), [0.00;0.00;0.00;0.00]); +%! assert (b(:,4), [0.00;0.00;0.00;0.00]); + +## 4x4 corner test +%!test +%! a = zeros (4,4); +%! a(1,1) = 1.0; +%! b = 2*del2 (a); +%! assert (b(:,1), [2.00;0.50;0.00;-0.50]); +%! assert (b(:,2), [0.50;0.00;0.00;0.00]); +%! assert (b(:,3), [0.00;0.00;0.00;0.00]); +%! assert (b(:,4), [-0.50;0.00;0.00;0.00]); +%! assert (b, flipud (2*del2 (flipud (a)))); +%! assert (b, fliplr (2*del2 (fliplr (a)))); +%! assert (b, flipud (fliplr (2*del2 (fliplr (flipud (a)))))); + +## 9x9 center test +%!test +%! a = zeros (9,9); +%! a(5,5) = 1.0; +%! b = 2*del2 (a); +%! assert (b(:,1), [0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00]); +%! assert (b(:,2), [0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00]); +%! assert (b(:,3), [0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00]); +%! assert (b(:,4), [0.00;0.00;0.00;0.00;0.50;0.00;0.00;0.00;0.00]); +%! assert (b(:,5), [0.00;0.00;0.00;0.50;-2.00;0.50;0.00;0.00;0.00]); +%! assert (b(:,6), b(:,4)); +%! assert (b(:,7), b(:,3)); +%! assert (b(:,8), b(:,2)); +%! assert (b(:,9), b(:,1)); + +## 9x9 boundary test +%!test +%! a = zeros (9,9); +%! a(1,5) = 1.0; +%! b = 2*del2 (a); +%! assert (b(1,:), [0.00,0.00,0.00,0.50,0.00,0.50,0.00,0.00,0.00]); +%! assert (b(2,:), [0.00,0.00,0.00,0.00,0.50,0.00,0.00,0.00,0.00]); +%! assert (b(3:9,:), zeros (7,9)); +%! a(1,5) = 0.0; +%! a(5,1) = 1.0; +%! b = 2*del2 (a); +%! assert (b(:,1), [0.00;0.00;0.00;0.50;0.00;0.50;0.00;0.00;0.00]); +%! assert (b(:,2), [0.00;0.00;0.00;0.00;0.50;0.00;0.00;0.00;0.00]); +%! assert (b(:,3:9), zeros (9,7)); + +## 9x9 dh center test +%!test +%! a = zeros (9,9); +%! a(5,5) = 1.0; +%! b = 8*del2 (a,2); +%! assert (b(:,1:3), zeros (9,3)); +%! assert (b(:,4), [0.00;0.00;0.00;0.00;0.50;0.00;0.00;0.00;0.00]); +%! assert (b(:,5), [0.00;0.00;0.00;0.50;-2.00;0.50;0.00;0.00;0.00]); +%! assert (b(:,6), b(:,4)); +%! assert (b(:,7:9), zeros (9,3)); + +## 9x9 dx test +%!test +%! a = zeros (9,9); +%! a(5,5) = 1.0; +%! b = 4*del2 (a,2,1); +%! assert (b(1:3,:), zeros (3,9)); +%! assert (b(4,:), [0.00;0.00;0.00;0.00;1.00;0.00;0.00;0.00;0.00]'); +%! assert (b(5,:), [0.00;0.00;0.00;0.25;-2.5;0.25;0.00;0.00;0.00]'); +%! assert (b(6,:), b(4,:)); +%! assert (b(7:9,:), zeros (3,9)); + +## 9x9 dy test +%!test +%! a = zeros (9,9); +%! a(5,5) = 1.0; +%! b = 4*del2 (a,1,2); +%! assert (b(:,1:3), zeros (9,3)); +%! assert (b(:,4), [0.00;0.00;0.00;0.00;1.00;0.00;0.00;0.00;0.00]); +%! assert (b(:,5), [0.00;0.00;0.00;0.25;-2.5;0.25;0.00;0.00;0.00]); +%! assert (b(:,6), b(:,4)); +%! assert (b(:,7:9), zeros (9,3)); + +## 3D test +%!test +%! a = zeros (9,9,9); +%! a(5,5,5) = 1.0; +%! b = 8*3*del2 (a,2); +%! assert (b(:,:,1:3), zeros (9,9,3)); +%! assert (b(:,1:3,:), zeros (9,3,9)); +%! assert (b(1:3,:,:), zeros (3,9,9)); +%! assert (b(4:5,4,4), [0.0,0.0]'); +%! assert (b(5,5,4), 1.00); +%! assert (b(4,4,5), 0.00); +%! assert (b(5,4,5), 1.00); +%! assert (b(5,5,5),-6.00); +%! assert (b, flipdim (b,1)); +%! assert (b, flipdim (b,2)); +%! assert (b, flipdim (b,3)); +