//============================================================================== // Copyright 2003 & onward LASMEA UMR 6602 CNRS/Univ. Clermont II // Copyright 2009 & onward LRI UMR 8623 CNRS/Univ Paris Sud XI // // Distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE.txt or copy at // http://www.boost.org/LICENSE_1_0.txt //============================================================================== #ifndef NT2_TOOLBOX_OPERATOR_FUNCTION_COMPARE_GREATER_HPP_INCLUDED #define NT2_TOOLBOX_OPERATOR_FUNCTION_COMPARE_GREATER_HPP_INCLUDED #include <nt2/include/simd.hpp> #include <nt2/include/functor.hpp> #include <nt2/toolbox/operator/include.hpp> #include <nt2/toolbox/operator/specific/common.hpp> #include <nt2/toolbox/operator/specific/compare_tags.hpp> namespace nt2 { NT2_FUNCTION_IMPLEMENTATION(tag::compare_greater_, compare_greater , 2 ) NT2_FUNCTION_IMPLEMENTATION(tag::compare_greater_, compare_gt , 2 ) } #include <nt2/toolbox/operator/function/scalar/compare_greater.hpp> #include <nt2/toolbox/operator/function/simd/all/compare_greater.hpp> #endif
// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI // // Distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE.txt or copy at // http://www.boost.org/LICENSE_1_0.txt //============================================================================== #ifndef NT2_ARITHMETIC_FUNCTIONS_CONTAINER_MAX_HPP_INCLUDED #define NT2_ARITHMETIC_FUNCTIONS_CONTAINER_MAX_HPP_INCLUDED #include <nt2/arithmetic/functions/max.hpp> #include <nt2/include/functions/maximum.hpp> #include <nt2/include/functions/numel.hpp> namespace nt2 { NT2_FUNCTION_IMPLEMENTATION(nt2::tag::max_, max, 1) NT2_FUNCTION_IMPLEMENTATION(nt2::tag::max_, max, 3) } namespace boost { namespace simd { namespace ext { BOOST_DISPATCH_IMPLEMENT ( max_, tag::cpu_ , (A0) , (unspecified_<A0>) ) { typedef typename boost::dispatch::meta::call< nt2::tag::maximum_(A0 const&)>::type result_type; BOOST_FORCEINLINE result_type operator()(A0 const& a0) const {
// Copyright 2009 - 2012 LRI UMR 8623 CNRS/Univ Paris Sud XI // // Distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE.txt or copy at // http://www.boost.org/LICENSE_1_0.txt //============================================================================== #ifndef NT2_TOOLBOX_ARITHMETIC_FUNCTIONS_CONTAINER_MIN_HPP_INCLUDED #define NT2_TOOLBOX_ARITHMETIC_FUNCTIONS_CONTAINER_MIN_HPP_INCLUDED #include <nt2/toolbox/arithmetic/functions/min.hpp> #include <nt2/include/functions/minimum.hpp> #include <nt2/include/functions/numel.hpp> namespace nt2 { NT2_FUNCTION_IMPLEMENTATION(nt2::tag::min_, min, 1) NT2_FUNCTION_IMPLEMENTATION(nt2::tag::min_, min, 3) } namespace nt2 { namespace ext { NT2_FUNCTOR_IMPLEMENTATION( nt2::tag::min_, tag::cpu_ , (A0) , (unspecified_<A0>) ) { typedef typename meta::call< nt2::tag::minimum_(A0 const&)>::type result_type; BOOST_FORCEINLINE result_type operator()(A0 const& a0) const {