//================================================================================================== /* ROTGEN - Runtime Overlay for Eigen Copyright : CODE RECKONS SPDX-License-Identifier: BSL-1.0 */ //================================================================================================== #include #include #include #include namespace rotgen::tests { template void check_norms_functions(const T& input) { using EigenMatrix = Eigen::Matrix; EigenMatrix ref(input.rows(), input.cols()); prepare([&](auto r, auto c) { return input(r,c); }, ref); TTS_EQUAL(input.norm() , ref.norm()); TTS_EQUAL(input.squaredNorm() , ref.squaredNorm()); TTS_EQUAL(input.template lpNorm<1>() , ref.template lpNorm<1>()); TTS_EQUAL(input.template lpNorm<2>() , ref.template lpNorm<2>()); TTS_EQUAL(input.template lpNorm() , ref.template lpNorm()); TTS_EQUAL(norm(input) , ref.norm()); TTS_EQUAL(squaredNorm(input) , ref.squaredNorm()); TTS_EQUAL(lpNorm<1>(input) , ref.template lpNorm<1>()); TTS_EQUAL(lpNorm<2>(input) , ref.template lpNorm<2>()); TTS_EQUAL(lpNorm(input) , ref.template lpNorm()); } }