diff --git a/tests/test_slice.cpp b/tests/test_slice.cpp index 618f681e7..c7d4a7a66 100644 --- a/tests/test_slice.cpp +++ b/tests/test_slice.cpp @@ -93,10 +93,14 @@ static int test_slice_0() static int test_slice_1() { ncnn::Mat a = RandomMat(7, 3, 16); + ncnn::Mat b = RandomMat(5, 4, 20); return 0 || test_slice(a, IntArrayMat(3, 8, -233), 0) - || test_slice(a, IntArrayMat(3, 8, -233), -3); + || test_slice(a, IntArrayMat(3, 8, -233), -3) + + || test_slice(b, IntArrayMat(4, -233), 0) + || test_slice(b, IntArrayMat(4, -233), -3); } static int test_slice_2() @@ -128,31 +132,40 @@ static int test_slice_3() static int test_slice_4() { ncnn::Mat a = RandomMat(7, 16); - ncnn::Mat b = RandomMat(16, 2); - ncnn::Mat c = RandomMat(16, 8); + ncnn::Mat b = RandomMat(5, 20); + + ncnn::Mat c = RandomMat(15, 2); + ncnn::Mat d = RandomMat(16, 8); return 0 || test_slice(a, IntArrayMat(3, 8, 5), 0) || test_slice(a, IntArrayMat(3, 8, 5), -2) - || test_slice(b, IntArrayMat(3, -233, -233), 1) - || test_slice(b, IntArrayMat(3, -233, -233), -1) + || test_slice(b, IntArrayMat(4, -233), 0) + || test_slice(b, IntArrayMat(4, -233), -2) - || test_slice(c, IntArrayMat(3, 8, 5), 1) - || test_slice(c, IntArrayMat(3, 8, 5), -1); + || test_slice(c, IntArrayMat(3, -233, -233), 1) + || test_slice(c, IntArrayMat(3, -233, -233), -1) + + || test_slice(d, IntArrayMat(3, 8, 5), 1) + || test_slice(d, IntArrayMat(3, 8, 5), -1); } static int test_slice_5() { ncnn::Mat a = RandomMat(16); - ncnn::Mat b = RandomMat(24); + ncnn::Mat b = RandomMat(20); + ncnn::Mat c = RandomMat(24); return 0 || test_slice(a, IntArrayMat(3, 8, 5), 0) || test_slice(a, IntArrayMat(3, 8, 5), -1) - || test_slice(b, IntArrayMat(4, 8, -233), 0) - || test_slice(b, IntArrayMat(4, 8, -233), -1); + || test_slice(b, IntArrayMat(4, -233), 0) + || test_slice(b, IntArrayMat(4, -233), -1) + + || test_slice(c, IntArrayMat(4, 8, -233), 0) + || test_slice(c, IntArrayMat(4, 8, -233), -1); } int main()