mirror of
https://github.com/opencv/opencv.git
synced 2026-07-25 21:33:04 +04:00
d1cdef596c
[G-API]: Add Fluid bitwise operations implementation for (GMat, GScalar) * Added Fluid `bitwise` with `Scalar` + acc.tests - simple loop implementation for Fluid used (no `hal`); - `Scalar` is casted to `int` in the beginning - tests just modified to work with `Scalar` - expected output in operators' tests fixed (operators can't change Mat's depth) - `float` `Scalar` `RNG` added, `RNG` reworked (`time` is used now), initialization of test fixtures reworked - if input or output is `float` Scalar is initialized by `float` - some problems with Fluid/OCV floating-point comparison difference stashed by `AbsSimilarPoints()` usage, FIXME added - divide-by-zero is now fixed differently and everywhere * - Added perf_tests for bitwise_Scalar operations - due to errors of Fluid floating-point comparison operations, added support of different validation in Cmp perf_tests; added FIXME - reworked integral initialization of Scalar * Addressing comments - NULL -> nullptr - Scalar convertion moved to the function - avoid -> avoiding * Addressing comments * CV_assert -> GAPI_assert * Addressed DM comments - refactored convertScalarForBitwise() - removed unnecessary braces for switch * Changed the operators tests - switch via `enum` implemented - infrastructure for that refactored
74 lines
3.4 KiB
C++
74 lines
3.4 KiB
C++
// This file is part of OpenCV project.
|
|
// It is subject to the license terms in the LICENSE file found in the top-level directory
|
|
// of this distribution and at http://opencv.org/license.html.
|
|
//
|
|
// Copyright (C) 2018 Intel Corporation
|
|
|
|
|
|
#include "../test_precomp.hpp"
|
|
#include "../common/gapi_operators_tests.hpp"
|
|
#include <opencv2/gapi/cpu/core.hpp>
|
|
|
|
namespace
|
|
{
|
|
#define CORE_CPU [] () { return cv::compile_args(cv::gapi::use_only{cv::gapi::core::cpu::kernels()}); }
|
|
} // anonymous namespace
|
|
|
|
namespace opencv_test
|
|
{
|
|
|
|
// FIXME: CPU test runs are disabled since Fluid is an exclusive plugin now!
|
|
INSTANTIATE_TEST_CASE_P(MathOperatorTestCPU, MathOperatorMatMatTest,
|
|
Combine(Values(CV_8UC1, CV_16SC1, CV_32FC1),
|
|
Values(cv::Size(1280, 720),
|
|
cv::Size(640, 480),
|
|
cv::Size(128, 128)),
|
|
Values(-1),
|
|
Values(CORE_CPU),
|
|
Values(AbsExact().to_compare_obj()),
|
|
Values( ADD, SUB, DIV,
|
|
GT, LT, GE, LE, EQ, NE)));
|
|
|
|
INSTANTIATE_TEST_CASE_P(MathOperatorTestCPU, MathOperatorMatScalarTest,
|
|
Combine(Values(CV_8UC1, CV_16SC1, CV_32FC1),
|
|
Values(cv::Size(1280, 720),
|
|
cv::Size(640, 480),
|
|
cv::Size(128, 128)),
|
|
Values(-1),
|
|
Values(CORE_CPU),
|
|
Values(AbsExact().to_compare_obj()),
|
|
Values( ADD, SUB, MUL, DIV,
|
|
ADDR, SUBR, MULR, DIVR,
|
|
GT, LT, GE, LE, EQ, NE,
|
|
GTR, LTR, GER, LER, EQR, NER)));
|
|
|
|
INSTANTIATE_TEST_CASE_P(BitwiseOperatorTestCPU, MathOperatorMatMatTest,
|
|
Combine(Values(CV_8UC1, CV_16UC1, CV_16SC1),
|
|
Values(cv::Size(1280, 720),
|
|
cv::Size(640, 480),
|
|
cv::Size(128, 128)),
|
|
Values(-1),
|
|
Values(CORE_CPU),
|
|
Values(AbsExact().to_compare_obj()),
|
|
Values( AND, OR, XOR )));
|
|
|
|
INSTANTIATE_TEST_CASE_P(BitwiseOperatorTestCPU, MathOperatorMatScalarTest,
|
|
Combine(Values(CV_8UC1, CV_16UC1, CV_16SC1),
|
|
Values(cv::Size(1280, 720),
|
|
cv::Size(640, 480),
|
|
cv::Size(128, 128)),
|
|
Values(-1),
|
|
Values(CORE_CPU),
|
|
Values(AbsExact().to_compare_obj()),
|
|
Values( AND, OR, XOR,
|
|
ANDR, ORR, XORR )));
|
|
|
|
INSTANTIATE_TEST_CASE_P(BitwiseNotOperatorTestCPU, NotOperatorTest,
|
|
Combine(Values(CV_8UC1, CV_16UC1, CV_16SC1),
|
|
Values(cv::Size(1280, 720),
|
|
cv::Size(640, 480),
|
|
cv::Size(128, 128)),
|
|
Values(-1),
|
|
Values(CORE_CPU)));
|
|
}
|