From 0dc2e260c3bd0d8a795264c88aef319cdcf5d80b Mon Sep 17 00:00:00 2001 From: meshtag Date: Mon, 16 Aug 2021 14:50:35 +0530 Subject: [PATCH] Add test file and copyright headers --- example/matrix.cpp | 6 +- include/boost/gil/algorithm.hpp | 1 + .../gil/extension/numeric/arithmetics.hpp | 6 +- .../boost/gil/extension/numeric/convolve.hpp | 1 + .../boost/gil/extension/numeric/kernel.hpp | 2 - .../boost/gil/extension/numeric/matrix.hpp | 7 +- test/extension/numeric/convolve_2d.cpp | 330 +++++++++++++++++- test/extension/numeric/kernel_fixed.cpp | 18 +- 8 files changed, 349 insertions(+), 22 deletions(-) diff --git a/example/matrix.cpp b/example/matrix.cpp index db21455fec..c096ea94d9 100644 --- a/example/matrix.cpp +++ b/example/matrix.cpp @@ -1,5 +1,9 @@ // -// Created by shino on 13.08.21. +// Copyright 2020 Olzhas Zhumabek +// +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) // #include #include diff --git a/include/boost/gil/algorithm.hpp b/include/boost/gil/algorithm.hpp index cbd1716868..c8bc4633a8 100644 --- a/include/boost/gil/algorithm.hpp +++ b/include/boost/gil/algorithm.hpp @@ -1,5 +1,6 @@ // // Copyright 2005-2007 Adobe Systems Incorporated +// Copyright 2021 Prathamesh Tagore // // Distributed under the Boost Software License, Version 1.0 // See accompanying file LICENSE_1_0.txt or copy at diff --git a/include/boost/gil/extension/numeric/arithmetics.hpp b/include/boost/gil/extension/numeric/arithmetics.hpp index 57bb528184..c6633ba553 100644 --- a/include/boost/gil/extension/numeric/arithmetics.hpp +++ b/include/boost/gil/extension/numeric/arithmetics.hpp @@ -1,5 +1,9 @@ // -// Created by shino on 14.08.21. +// Copyright 2020 Olzhas Zhumabek +// +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) // #ifndef BOOST_GIL_ARITHMETICS_HPP diff --git a/include/boost/gil/extension/numeric/convolve.hpp b/include/boost/gil/extension/numeric/convolve.hpp index f2e7d5f67d..ed78b3ca68 100644 --- a/include/boost/gil/extension/numeric/convolve.hpp +++ b/include/boost/gil/extension/numeric/convolve.hpp @@ -1,6 +1,7 @@ // // Copyright 2005-2007 Adobe Systems Incorporated // Copyright 2019 Miral Shah +// Copyright 2021 Prathamesh Tagore // // Distributed under the Boost Software License, Version 1.0 // See accompanying file LICENSE_1_0.txt or copy at diff --git a/include/boost/gil/extension/numeric/kernel.hpp b/include/boost/gil/extension/numeric/kernel.hpp index f2d11d140d..dfe32e284b 100644 --- a/include/boost/gil/extension/numeric/kernel.hpp +++ b/include/boost/gil/extension/numeric/kernel.hpp @@ -23,8 +23,6 @@ #include #include -#include - namespace boost { namespace gil { // Definitions of 1D fixed-size and variable-size kernels and related operations diff --git a/include/boost/gil/extension/numeric/matrix.hpp b/include/boost/gil/extension/numeric/matrix.hpp index 8b7118cc71..7d4c2072a8 100644 --- a/include/boost/gil/extension/numeric/matrix.hpp +++ b/include/boost/gil/extension/numeric/matrix.hpp @@ -1,7 +1,10 @@ // -// Created by shino on 14.08.21. +// Copyright 2020 Olzhas Zhumabek +// +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) // - #ifndef BOOST_GIL_MATRIX_HPP #define BOOST_GIL_MATRIX_HPP diff --git a/test/extension/numeric/convolve_2d.cpp b/test/extension/numeric/convolve_2d.cpp index fbce6d73fc..1fa082553c 100644 --- a/test/extension/numeric/convolve_2d.cpp +++ b/test/extension/numeric/convolve_2d.cpp @@ -1,5 +1,6 @@ // // Copyright 2019 Miral Shah +// Copyright 2021 Prathamesh Tagore // // Use, modification and distribution are subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -7,13 +8,11 @@ // #include #include - #include - +#include #include namespace gil = boost::gil; - std::uint8_t img[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -26,7 +25,6 @@ std::uint8_t img[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - std::uint8_t output[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -44,11 +42,9 @@ void test_convolve_2d_with_normalized_mean_filter() { gil::gray8c_view_t src_view = gil::interleaved_view(9, 9, reinterpret_cast(img), 9); - gil::image temp_img(src_view.width(), src_view.height()); typename gil::image::view_t temp_view = view(temp_img); gil::gray8_view_t dst_view(temp_view); - std::vector v(9, 1.0f / 9.0f); gil::detail::kernel_2d kernel(v.begin(), v.size(), 1, 1); @@ -56,13 +52,333 @@ void test_convolve_2d_with_normalized_mean_filter() gil::gray8c_view_t out_view = gil::interleaved_view(9, 9, reinterpret_cast(output), 9); - BOOST_TEST(gil::equal_pixels(out_view, dst_view)); } +template +void print_gil_gray_image(GrayImageView src_view) +{ + std::cout << "Gil Image = \n"; + for (std::ptrdiff_t row = 0; row < src_view.height(); ++row) + { + for (std::ptrdiff_t col = 0; col < src_view.width(); ++col) + std::cout << static_cast(static_cast(src_view(col, row))) << " "; + std::cout << "\n"; + } +} + +void test_boundary_option_extend_zero() +{ + gil::gray8_image_t src_gray(15, 15), dst_gray(15, 15), dst_gray_fixed(15, 15), exp_dst_gray(15, 15); + gil::rgb8_image_t src_rgb(9, 9), dst_rgb(9, 9), dst_rgb_fixed(9, 9), exp_dst_rgb(9, 9); + std::vector vec(25, 1.0f); + vec[12] = 0; + + gil::read_image("Test_Images/Extend_Zero/in_extend_zero_gray.png", src_gray, gil::png_tag{}); + gil::read_image("Test_Images/Extend_Zero/in_extend_zero_rgb.png", src_rgb, gil::png_tag{}); + + for (std::ptrdiff_t x = 0; x < 5; ++x) + { + for (std::ptrdiff_t y = 0; y < 5; ++y) + { + gil::detail::kernel_2d kernel(vec.begin(), vec.size(), y, x); + gil::detail::kernel_2d_fixed kernel_fixed(vec.cbegin(), y, x); + + gil::correlate_2d(gil::view(src_gray), kernel, gil::view(dst_gray), + gil::boundary_option::extend_zero); + gil::correlate_2d_fixed(gil::view(src_gray), kernel_fixed, + gil::view(dst_gray_fixed), gil::boundary_option::extend_zero); + + gil::correlate_2d(gil::view(src_rgb), kernel, gil::view(dst_rgb), + gil::boundary_option::extend_zero); + gil::correlate_2d_fixed(gil::view(src_rgb), kernel_fixed, + gil::view(dst_rgb_fixed), gil::boundary_option::extend_zero); + + std::string exp_gray = "Test_Images/Extend_Zero/exp_out_extend_zero_gray_"; + std::string exp_rgb = "Test_Images/Extend_Zero/exp_out_extend_zero_rgb_"; + + gil::read_image(exp_gray + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_gray, + gil::png_tag{}); + gil::read_image(exp_rgb + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_rgb, + gil::png_tag{}); + + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray_fixed), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_rgb), gil::view(exp_dst_rgb))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_rgb_fixed), gil::view(exp_dst_rgb))); + } + } +} + +void test_boundary_option_extend_constant() +{ + gil::gray8_image_t src_gray(15, 15), dst_gray(15, 15), dst_gray_fixed(15, 15), exp_dst_gray(15, 15); + gil::rgb8_image_t src_rgb(9, 9), dst_rgb(9, 9), dst_rgb_fixed(9, 9), exp_dst_rgb(9, 9); + std::vector vec(25, 1.0f); + vec[12] = 0; + + gil::read_image("Test_Images/Extend_Constant/in_extend_constant_gray.png", src_gray, gil::png_tag{}); + gil::read_image("Test_Images/Extend_Constant/in_extend_constant_rgb.png", src_rgb, gil::png_tag{}); + + for (std::ptrdiff_t x = 0; x < 5; ++x) + { + for (std::ptrdiff_t y = 0; y < 5; ++y) + { + gil::detail::kernel_2d kernel(vec.begin(), vec.size(), y, x); + gil::detail::kernel_2d_fixed kernel_fixed(vec.cbegin(), y, x); + + gil::correlate_2d(gil::view(src_gray), kernel, gil::view(dst_gray), + gil::boundary_option::extend_constant); + gil::correlate_2d_fixed(gil::view(src_gray), kernel_fixed, + gil::view(dst_gray_fixed), gil::boundary_option::extend_constant); + + gil::correlate_2d(gil::view(src_rgb), kernel, gil::view(dst_rgb), + gil::boundary_option::extend_constant); + gil::correlate_2d_fixed(gil::view(src_rgb), kernel_fixed, + gil::view(dst_rgb_fixed), gil::boundary_option::extend_constant); + + std::string exp_gray = "Test_Images/Extend_Constant/exp_out_extend_constant_gray_"; + std::string exp_rgb = "Test_Images/Extend_Constant/exp_out_extend_constant_rgb_"; + + gil::read_image(exp_gray + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_gray, + gil::png_tag{}); + gil::read_image(exp_rgb + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_rgb, + gil::png_tag{}); + + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray_fixed), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_rgb), gil::view(exp_dst_rgb))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_rgb_fixed), gil::view(exp_dst_rgb))); + } + } +} + +void test_boundary_option_extend_reflection() +{ + gil::gray8_image_t src_gray(15, 15), dst_gray(15, 15), dst_gray_fixed(15, 15), exp_dst_gray(15, 15); + gil::rgb8_image_t src_rgb(9, 9), dst_rgb(9, 9), dst_rgb_fixed(9, 9), exp_dst_rgb(9, 9); + std::vector vec(25, 1.0f); + vec[12] = 0; + + gil::read_image("Test_Images/Extend_Reflection/in_extend_reflection_gray.png", src_gray, + gil::png_tag{}); + gil::read_image("Test_Images/Extend_Reflection/in_extend_reflection_rgb.png", src_rgb, + gil::png_tag{}); + + for (std::ptrdiff_t x = 0; x < 5; ++x) + { + for (std::ptrdiff_t y = 0; y < 5; ++y) + { + gil::detail::kernel_2d kernel(vec.begin(), vec.size(), y, x); + gil::detail::kernel_2d_fixed kernel_fixed(vec.cbegin(), y, x); + + gil::correlate_2d(gil::view(src_gray), kernel, gil::view(dst_gray), + gil::boundary_option::extend_reflection); + gil::correlate_2d_fixed(gil::view(src_gray), kernel_fixed, + gil::view(dst_gray_fixed), gil::boundary_option::extend_reflection); + + gil::correlate_2d(gil::view(src_rgb), kernel, gil::view(dst_rgb), + gil::boundary_option::extend_reflection); + gil::correlate_2d_fixed(gil::view(src_rgb), kernel_fixed, + gil::view(dst_rgb_fixed), gil::boundary_option::extend_reflection); + + std::string exp_gray = "Test_Images/Extend_Reflection/exp_out_extend_reflection_gray_"; + std::string exp_rgb = "Test_Images/Extend_Reflection/exp_out_extend_reflection_rgb_"; + + gil::read_image(exp_gray + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_gray, + gil::png_tag{}); + gil::read_image(exp_rgb + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_rgb, + gil::png_tag{}); + + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray_fixed), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_rgb), gil::view(exp_dst_rgb))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_rgb_fixed), gil::view(exp_dst_rgb))); + } + } +} + +void test_boundary_option_extend_padded() +{ + gil::gray8_image_t src_gray(15, 15), dst_gray(5, 5), dst_gray_fixed(5, 5), exp_dst_gray(5, 5); + gil::rgb8_image_t src_rgb(9, 9), dst_rgb(5, 5), dst_rgb_fixed(5, 5), exp_dst_rgb(5, 5); + std::vector vec(9, 1.0f); + vec[4] = 0; + + gil::read_image("Test_Images/Extend_Padded/in_extend_padded_gray.png", src_gray, + gil::png_tag{}); + gil::read_image("Test_Images/Extend_Padded/in_extend_padded_rgb.png", src_rgb, + gil::png_tag{}); + + for (std::ptrdiff_t x = 0; x < 3; ++x) + { + for (std::ptrdiff_t y = 0; y < 3; ++y) + { + gil::detail::kernel_2d kernel(vec.begin(), vec.size(), y, x); + gil::detail::kernel_2d_fixed kernel_fixed(vec.cbegin(), y, x); + + gil::correlate_2d( + gil::subimage_view(gil::view(src_gray), 5, 5, 5, 5), kernel, + gil::view(dst_gray), gil::boundary_option::extend_padded); + gil::correlate_2d_fixed( + gil::subimage_view(gil::view(src_gray), 5, 5, 5, 5), kernel_fixed, + gil::view(dst_gray_fixed), gil::boundary_option::extend_padded); + + gil::correlate_2d( + gil::subimage_view(gil::view(src_rgb), 2, 2, 5, 5), kernel, + gil::view(dst_rgb), gil::boundary_option::extend_padded); + gil::correlate_2d_fixed( + gil::subimage_view(gil::view(src_rgb), 2, 2, 5, 5), kernel_fixed, + gil::view(dst_rgb_fixed), gil::boundary_option::extend_padded); + + std::string exp_gray = "Test_Images/Extend_Padded/exp_out_extend_padded_gray_"; + std::string exp_rgb = "Test_Images/Extend_Padded/exp_out_extend_padded_rgb_"; + + gil::read_image(exp_gray + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_gray, + gil::png_tag{}); + gil::read_image(exp_rgb + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_rgb, + gil::png_tag{}); + + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray_fixed), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_rgb), gil::view(exp_dst_rgb))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_rgb_fixed), gil::view(exp_dst_rgb))); + } + } +} + +void test_boundary_option_output_zero() +{ + gil::gray8_image_t src_gray(15, 15), dst_gray(15, 15), dst_gray_fixed(15, 15), exp_dst_gray(15, 15); + gil::rgb8_image_t src_rgb(9, 9), dst_rgb(9, 9), dst_rgb_fixed(9, 9), exp_dst_rgb(9, 9); + std::vector vec(25, 1.0f); + vec[12] = 0; + + gil::read_image("Test_Images/Output_Zero/in_output_zero_gray.png", src_gray, + gil::png_tag{}); + gil::read_image("Test_Images/Output_Zero/in_output_zero_rgb.png", src_rgb, + gil::png_tag{}); + + for (std::ptrdiff_t x = 0; x < 5; ++x) + { + for (std::ptrdiff_t y = 0; y < 5; ++y) + { + gil::detail::kernel_2d kernel(vec.begin(), vec.size(), y, x); + gil::detail::kernel_2d_fixed kernel_fixed(vec.cbegin(), y, x); + + gil::correlate_2d(gil::view(src_gray), kernel, gil::view(dst_gray), + gil::boundary_option::output_zero); + gil::correlate_2d_fixed(gil::view(src_gray), kernel_fixed, + gil::view(dst_gray_fixed), gil::boundary_option::output_zero); + + gil::correlate_2d(gil::view(src_rgb), kernel, gil::view(dst_rgb), + gil::boundary_option::output_zero); + gil::correlate_2d_fixed(gil::view(src_rgb), kernel_fixed, + gil::view(dst_rgb_fixed), gil::boundary_option::output_zero); + + std::string exp_gray = "Test_Images/Output_Zero/exp_out_output_zero_gray_"; + std::string exp_rgb = "Test_Images/Output_Zero/exp_out_output_zero_rgb_"; + + gil::read_image(exp_gray + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_gray, + gil::png_tag{}); + gil::read_image(exp_rgb + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_rgb, + gil::png_tag{}); + + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray_fixed), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_rgb), gil::view(exp_dst_rgb))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_rgb_fixed), gil::view(exp_dst_rgb))); + } + } +} + +void test_boundary_option_output_ignore() +{ + gil::gray8_image_t src_gray(15, 15), dst_gray(15, 15), dst_gray_fixed(15, 15), exp_dst_gray(15, 15); + gil::rgb8_image_t src_rgb(9, 9), dst_rgb(9, 9), dst_rgb_fixed(9, 9), exp_dst_rgb(9, 9); + std::vector vec(25, 1.0f); + vec[12] = 0; + + gil::read_image("Test_Images/Output_Ignore/in_output_ignore_gray.png", src_gray, + gil::png_tag{}); + gil::read_image("Test_Images/Output_Ignore/in_output_ignore_rgb.png", src_rgb, + gil::png_tag{}); + + for (std::ptrdiff_t x = 0; x < 5; ++x) + { + for (std::ptrdiff_t y = 0; y < 5; ++y) + { + gil::detail::kernel_2d kernel(vec.begin(), vec.size(), y, x); + gil::detail::kernel_2d_fixed kernel_fixed(vec.cbegin(), y, x); + + gil::correlate_2d(gil::view(src_gray), kernel, gil::view(dst_gray), + gil::boundary_option::output_ignore); + gil::correlate_2d_fixed(gil::view(src_gray), kernel_fixed, + gil::view(dst_gray_fixed), gil::boundary_option::output_ignore); + + gil::correlate_2d(gil::view(src_rgb), kernel, gil::view(dst_rgb), + gil::boundary_option::output_ignore); + gil::correlate_2d_fixed(gil::view(src_rgb), kernel_fixed, + gil::view(dst_rgb_fixed), gil::boundary_option::output_ignore); + + std::string exp_gray = "Test_Images/Output_Ignore/exp_out_output_ignore_gray_"; + std::string exp_rgb = "Test_Images/Output_Ignore/exp_out_output_ignore_rgb_"; + + gil::read_image(exp_gray + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_gray, + gil::png_tag{}); + gil::read_image(exp_rgb + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_rgb, + gil::png_tag{}); + + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray_fixed), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_rgb), gil::view(exp_dst_rgb))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_rgb_fixed), gil::view(exp_dst_rgb))); + } + } +} + +void test_separable_correlation() +{ + gil::gray8_image_t src_gray(15, 15), dst_gray(15, 15), dst_gray_fixed(15, 15), exp_dst_gray(15, 15); + std::vector vec(25, 1.0f); + + gil::read_image("Test_Images/Separable_Correlation/in_separable_correlation_gray.png", src_gray, + gil::png_tag{}); + + for (std::ptrdiff_t x = 0; x < 5; ++x) + { + for (std::ptrdiff_t y = 0; y < 5; ++y) + { + gil::detail::kernel_2d kernel(vec.begin(), vec.size(), y, x); + gil::detail::kernel_2d_fixed kernel_fixed(vec.cbegin(), y, x); + + gil::correlate_2d(gil::view(src_gray), kernel, gil::view(dst_gray)); + gil::correlate_2d_fixed(gil::view(src_gray), kernel_fixed, + gil::view(dst_gray_fixed)); + + std::string exp_gray = + "Test_Images/Separable_Correlation/exp_out_separable_correlation_gray_"; + + gil::read_image(exp_gray + (char)('0' + x) + '_' + (char)('0' + y) + ".png", exp_dst_gray, + gil::png_tag{}); + + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray), gil::view(exp_dst_gray))); + BOOST_TEST(gil::equal_pixels(gil::view(dst_gray_fixed), gil::view(exp_dst_gray))); + } + } +} + + int main() { test_convolve_2d_with_normalized_mean_filter(); + test_boundary_option_extend_zero(); + test_boundary_option_extend_constant(); + test_boundary_option_extend_reflection(); + test_boundary_option_extend_padded(); + test_boundary_option_output_zero(); + test_boundary_option_output_ignore(); + test_separable_correlation(); return ::boost::report_errors(); } diff --git a/test/extension/numeric/kernel_fixed.cpp b/test/extension/numeric/kernel_fixed.cpp index f511be0f05..cfd075eafc 100644 --- a/test/extension/numeric/kernel_fixed.cpp +++ b/test/extension/numeric/kernel_fixed.cpp @@ -167,17 +167,17 @@ void test_kernel_1d_fixed_reverse_kernel() int main() { - // test_kernel_1d_fixed_default_constructor(); - // test_kernel_2d_fixed_default_constructor(); - // test_kernel_1d_fixed_parameterized_constructor(); - // test_kernel_2d_fixed_parameterized_constructor(); + test_kernel_1d_fixed_default_constructor(); + test_kernel_2d_fixed_default_constructor(); + test_kernel_1d_fixed_parameterized_constructor(); + test_kernel_2d_fixed_parameterized_constructor(); test_kernel_1d_fixed_parameterized_constructor_with_iterator(); test_kernel_2d_fixed_parameterized_constructor_with_iterator(); - // test_kernel_1d_fixed_copy_constructor(); - // test_kernel_2d_fixed_copy_constructor(); - // test_kernel_1d_fixed_assignment_operator(); - // test_kernel_2d_fixed_assignment_operator(); - // test_kernel_1d_fixed_reverse_kernel(); + test_kernel_1d_fixed_copy_constructor(); + test_kernel_2d_fixed_copy_constructor(); + test_kernel_1d_fixed_assignment_operator(); + test_kernel_2d_fixed_assignment_operator(); + test_kernel_1d_fixed_reverse_kernel(); return ::boost::report_errors(); }