Beispiel #1
0
NT2_TEST_CASE_TPL( trans_scalar, NT2_TYPES )
{
  typedef std::complex<T> cT;
  NT2_TEST_EQUAL(nt2::trans(cT(1)), cT(1));
}
Beispiel #2
0
NT2_TEST_CASE_TPL( flipdim_scalar, NT2_TYPES )
{
  T x = nt2::flipdim(T(42), 2);
  NT2_TEST_EQUAL( x, T(42) );
}
Beispiel #3
0
////////////////////////////////////////////////////////////////////////////////
// Test value of digit constant for every base types
////////////////////////////////////////////////////////////////////////////////
NT2_TEST_CASE_TPL( digit_value, BOOST_SIMD_TYPES )
{
  NT2_TEST_EQUAL( boost::simd::Mten<T>()            , static_cast<T>( -10) );
  NT2_TEST_EQUAL( boost::simd::Mnine<T>()           , static_cast<T>(  -9) );
  NT2_TEST_EQUAL( boost::simd::Meight<T>()          , static_cast<T>(  -8) );
  NT2_TEST_EQUAL( boost::simd::Mseven<T>()          , static_cast<T>(  -7) );
  NT2_TEST_EQUAL( boost::simd::Msix<T>()            , static_cast<T>(  -6) );
  NT2_TEST_EQUAL( boost::simd::Mfive<T>()           , static_cast<T>(  -5) );
  NT2_TEST_EQUAL( boost::simd::Mfour<T>()           , static_cast<T>(  -4) );
  NT2_TEST_EQUAL( boost::simd::Mthree<T>()          , static_cast<T>(  -3) );
  NT2_TEST_EQUAL( boost::simd::Mtwo<T>()            , static_cast<T>(  -2) );
  NT2_TEST_EQUAL( boost::simd::Mone<T>()            , static_cast<T>(  -1) );
  NT2_TEST_EQUAL( boost::simd::Zero<T>()            , static_cast<T>(   0) );
  NT2_TEST_EQUAL( boost::simd::One<T>()             , static_cast<T>(   1) );
  NT2_TEST_EQUAL( boost::simd::Two<T>()             , static_cast<T>(   2) );
  NT2_TEST_EQUAL( boost::simd::Three<T>()           , static_cast<T>(   3) );
  NT2_TEST_EQUAL( boost::simd::Four<T>()            , static_cast<T>(   4) );
  NT2_TEST_EQUAL( boost::simd::Five<T>()            , static_cast<T>(   5) );
  NT2_TEST_EQUAL( boost::simd::Six<T>()             , static_cast<T>(   6) );
  NT2_TEST_EQUAL( boost::simd::Seven<T>()           , static_cast<T>(   7) );
  NT2_TEST_EQUAL( boost::simd::Eight<T>()           , static_cast<T>(   8) );
  NT2_TEST_EQUAL( boost::simd::Nine<T>()            , static_cast<T>(   9) );
  NT2_TEST_EQUAL( boost::simd::Ten<T>()             , static_cast<T>(  10) );
}
Beispiel #4
0
////////////////////////////////////////////////////////////////////////////////
// Test integral_constant for every base types
////////////////////////////////////////////////////////////////////////////////
NT2_TEST_CASE_TPL( integral_constant, BOOST_SIMD_INTEGRAL_TYPES )
{
  NT2_TEST_EQUAL( (boost::simd::integral_constant<T,42>()), static_cast<T>(42) );
}
Beispiel #5
0
////////////////////////////////////////////////////////////////////////////////
// Test value of infinites for every base integral types
////////////////////////////////////////////////////////////////////////////////
NT2_TEST_CASE_TPL( int_inf, BOOST_SIMD_INTEGRAL_TYPES )
{
  NT2_TEST_EQUAL( boost::simd::Inf<T>() , boost::simd::Valmax<T>()  );
  NT2_TEST_EQUAL( boost::simd::Minf<T>(), boost::simd::Valmin<T>()  );
}
Beispiel #6
0
////////////////////////////////////////////////////////////////////////////////
// Test value of real constants for every base real types
////////////////////////////////////////////////////////////////////////////////
NT2_TEST_CASE_TPL(real_values, BOOST_SIMD_TYPES)
{
  typedef BOOST_SIMD_DEFAULT_EXTENSION  ext_t;
  typedef boost::simd::native<T,ext_t> vd_t;
  for(std::size_t i=0; i< boost::simd::meta::cardinal_of<vd_t>::value;++i)
  {
    NT2_TEST_EQUAL( (boost::simd::Mhalf<vd_t>())[i], boost::simd::Mhalf<T>() );
    NT2_TEST_EQUAL( (boost::simd::Mzero<vd_t>())[i], boost::simd::Mzero<T>() );
    NT2_TEST_EQUAL( (boost::simd::Half<vd_t>())[i], boost::simd::Half<T>() );
    NT2_TEST_EQUAL( (boost::simd::Third<vd_t>())[i], boost::simd::Third<T>() );
    NT2_TEST_EQUAL( (boost::simd::Quarter<vd_t>())[i], boost::simd::Quarter<T>() );
    NT2_TEST_EQUAL( (boost::simd::Twotom10<vd_t>())[i], boost::simd::Twotom10<T>() );
    NT2_TEST_EQUAL( (boost::simd::Pi<vd_t>())[i], boost::simd::Pi<T>() );
    NT2_TEST_EQUAL( (boost::simd::Sqrt_2<vd_t>())[i], boost::simd::Sqrt_2<T>() );
    NT2_TEST_EQUAL( (boost::simd::Sqrt_2o_2<vd_t>())[i], boost::simd::Sqrt_2o_2<T>() );
    NT2_TEST_EQUAL( (boost::simd::Gold<vd_t>())[i], boost::simd::Gold<T>() );
    NT2_TEST_EQUAL( (boost::simd::Cgold<vd_t>())[i], boost::simd::Cgold<T>() );
    NT2_TEST_EQUAL( (boost::simd::Twotonmb<vd_t>())[i] , boost::simd::Twotonmb<T>() );
    NT2_TEST_EQUAL( (boost::simd::Splitfactor<vd_t>())[i], boost::simd::Splitfactor<T>());
  }
}
Beispiel #7
0
////////////////////////////////////////////////////////////////////////////////
// Test value of infinites for every base real types
////////////////////////////////////////////////////////////////////////////////
NT2_TEST_CASE_TPL( real_inf, BOOST_SIMD_REAL )
{
  NT2_TEST_EQUAL( boost::simd::Inf<T>() , std::numeric_limits<T>::infinity()  );
  NT2_TEST_EQUAL( boost::simd::Minf<T>(), -std::numeric_limits<T>::infinity() );
}
Beispiel #8
0
NT2_TEST_CASE_TPL( diag_of0, NT2_TYPES )
{
  NT2_TEST_EQUAL(  nt2::diag_of(T(1)), T(1));
}
Beispiel #9
0
 void operator()() const
 {
   NT2_TEST_EQUAL( seq_[I], boost::fusion::at_c<I>(seq_));
 }
Beispiel #10
0
NT2_TEST_CASE_TPL( colvect_scalar, NT2_TYPES )
{
  NT2_TEST_EQUAL(nt2::rowvect(T(1)), T(1));
}
Beispiel #11
0
NT2_TEST_CASE_TPL( ctranspose_scalar, NT2_TYPES )
{
  NT2_TEST_EQUAL(nt2::ctranspose(T(1)), T(1));
}