示例#1
0
//==============================================================================
//         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
示例#2
0
//         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
    {
示例#3
0
文件: min.hpp 项目: KWMalik/nt2
//         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
    {