# HG changeset patch # User Allan Jacobs # Date 1396567805 25200 # Node ID aff86394c201c71b3399df40f355c0fa8e8b81bd # Parent 0ede4dbb37f12189e4fd967698a10d20ec0a5855 del2.m: Add %!tests (bug #42005). * del2.m: Add %!tests (bug #42005). * contributors.in: Add Allan Jacobs to list of contributors. diff -r 0ede4dbb37f1 -r aff86394c201 doc/interpreter/contributors.in --- a/doc/interpreter/contributors.in Sun Mar 30 14:18:43 2014 -0700 +++ 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 0ede4dbb37f1 -r aff86394c201 scripts/general/del2.m --- a/scripts/general/del2.m Sun Mar 30 14:18:43 2014 -0700 +++ 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)); +