changeset 17837:73b239db1594

Make known conv failures xtests. * libinterp/corefcn/conv2.cc: Add note about why 3 conv tests are failing to meet test tolerance. Make these 3 tests xtests.
author Rik <rik@octave.org>
date Sat, 02 Nov 2013 21:59:33 -0700
parents b1610bf6d9a8
children cfe5297e0f3b
files libinterp/corefcn/conv2.cc
diffstat 1 files changed, 14 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/conv2.cc	Sun Nov 03 04:31:24 2013 +0000
+++ b/libinterp/corefcn/conv2.cc	Sat Nov 02 21:59:33 2013 -0700
@@ -409,16 +409,23 @@
 %! assert (convn (v, v, "valid"), 4);
 
 ## The following test may look weird since we are using the output
-## of convn to test itself. However, because calculations are done
+## of convn to test itself.  However, because calculations are done
 ## differently based on the shape option, it will help to catch some
-## bugs. See also bug #39314
+## bugs.  See also bug #39314.
+## FIXME: The "valid" option uses an entirely different code path
+##        through C++ and Fortran to calculate inner convolution.
+##        The terms in the convolution added in reverse order compared
+##        to the "full" option.  This produces differences on the order
+##        of tens of eps.  This should be fixed, but in the meantime
+##        the tests will be marked as xtests.
 %!shared a, b, c
 %! ## test 3D by 3D
 %! a = rand (10, 10, 10);
 %! b = rand (3, 3, 3);
 %! c = convn (a, b, "full");
 %!assert (convn (a, b, "same"), c(2:11,2:11,2:11))
-%!assert (convn (a, b, "valid"), c(3:10,3:10,3:10))
+%!xtest
+%! assert (convn (a, b, "valid"), c(3:10,3:10,3:10));
 %!
 %!test
 %! ## test 3D by 2D
@@ -426,7 +433,8 @@
 %! b = rand (3, 3);
 %! c = convn (a, b, "full");
 %!assert (convn (a, b, "same"), c(2:11,2:11,:))
-%!assert (convn (a, b, "valid"), c(3:10,3:10,:))
+%!xtest
+%! assert (convn (a, b, "valid"), c(3:10,3:10,:))
 %!
 %!test
 %! ## test 2D by 3D
@@ -442,7 +450,8 @@
 %! b = rand (4, 3, 2, 3);
 %! c = convn (a, b, "full");
 %!assert (convn (a, b, "same"), c(3:12,2:16,2:8,2:9,:))
-%!assert (convn (a, b, "valid"), c(4:10,3:15,2:7,3:8,:))
+%!xtest
+%! assert (convn (a, b, "valid"), c(4:10,3:15,2:7,3:8,:))
 
 %!test
 %! a = reshape (floor (magic (16) /10), [4 8 4 2]);