bool AbsSecondDerivativeHistogramAutoTest() { bool result = true; result = result && AbsSecondDerivativeHistogramAutoTest(FUNC_ASDH(Simd::Base::AbsSecondDerivativeHistogram), FUNC_ASDH(SimdAbsSecondDerivativeHistogram)); #ifdef SIMD_SSE2_ENABLE if(Simd::Sse2::Enable) result = result && AbsSecondDerivativeHistogramAutoTest(FUNC_ASDH(Simd::Sse2::AbsSecondDerivativeHistogram), FUNC_ASDH(SimdAbsSecondDerivativeHistogram)); #endif #ifdef SIMD_AVX2_ENABLE if(Simd::Avx2::Enable) result = result && AbsSecondDerivativeHistogramAutoTest(FUNC_ASDH(Simd::Avx2::AbsSecondDerivativeHistogram), FUNC_ASDH(SimdAbsSecondDerivativeHistogram)); #endif #ifdef SIMD_VMX_ENABLE if(Simd::Vmx::Enable) result = result && AbsSecondDerivativeHistogramAutoTest(FUNC_ASDH(Simd::Vmx::AbsSecondDerivativeHistogram), FUNC_ASDH(SimdAbsSecondDerivativeHistogram)); #endif #ifdef SIMD_NEON_ENABLE if (Simd::Neon::Enable) result = result && AbsSecondDerivativeHistogramAutoTest(FUNC_ASDH(Simd::Neon::AbsSecondDerivativeHistogram), FUNC_ASDH(SimdAbsSecondDerivativeHistogram)); #endif return result; }
bool AbsSecondDerivativeHistogramAutoTest(const FuncASDH & f1, const FuncASDH & f2) { bool result = true; result = result && AbsSecondDerivativeHistogramAutoTest(W, H, 1, 16, f1, f2); result = result && AbsSecondDerivativeHistogramAutoTest(W + O, H - O, 2, 16, f1, f2); result = result && AbsSecondDerivativeHistogramAutoTest(W, H, 3, 8, f1, f2); result = result && AbsSecondDerivativeHistogramAutoTest(W - O, H + O, 4, 8, f1, f2); return result; }