Esempio n. 1
0
NT2_TEST_CASE_TPL ( conv,  NT2_REAL_TYPES)
{
  typedef std::complex<T> cT;
  using nt2::conv;
  using nt2::tag::conv_;
  nt2::container::table<cT> a =  nt2::complexify(nt2::_(T(1), T(4)));
  nt2::container::table<cT> b =  nt2::complexify(nt2::_(T(1), T(3)));
  nt2::container::table<cT> c(nt2::of_size(1, 0));
  nt2::container::table<cT> ab = nt2::cons<cT>(nt2::of_size(1, 6), cT(1), cT(4), cT(10), cT(16), cT(17), cT(12));
  NT2_TEST_EQUAL(ab,conv(a, b));
  NT2_TEST_EQUAL(conv(a, c), nt2::zeros(1, 3, nt2::meta::as_<cT>()));
  NT2_TEST_EQUAL(conv(c, b), nt2::zeros(1, 2, nt2::meta::as_<cT>()));
  NT2_TEST_EQUAL(conv(b, b), nt2::cons<cT>(nt2::of_size(1, 5), cT(1), cT(4), cT(10), cT(12), cT(9)));
}
Esempio n. 2
0
NT2_TEST_CASE_TPL ( conv_2,  NT2_REAL_TYPES)
{
  typedef std::complex<T> cT;
  using nt2::conv;
  using nt2::tag::conv_;
  cT a = T(1.0);
  cT b = T(0.0);
  cT c = T(2.0);
  nt2::container::table<cT> aa =  nt2::complexify(nt2::_(T(1), T(1)));
  nt2::container::table<cT> bb =  nt2::complexify(nt2::_(T(0), T(0)));
  nt2::container::table<cT> ab = cT(0);
  NT2_TEST_EQUAL(ab,conv(aa, bb));
  NT2_TEST_EQUAL(ab,conv(a, b));
  NT2_TEST_EQUAL(c,conv(a, c));
  NT2_TEST_EQUAL(ab,conv(aa, b));
  NT2_TEST_EQUAL(ab,conv(a, bb));
}
Esempio n. 3
0
NT2_TEST_CASE_TPL ( conv_real__1_0,  NT2_REAL_TYPES)
{
  using nt2::conv;
  using nt2::tag::conv_;
  nt2::table<T> a =  nt2::_(T(1), T(4));
  nt2::table<T> b =  nt2::_(T(1), T(3));
  NT2_DISPLAY(a);
  NT2_DISPLAY(b);
  nt2::table<T> c(nt2::of_size(1, 0));
  nt2::table<T> ab = cons(nt2::of_size(1, 6), 1, 4, 10, 16, 17, 12);
  NT2_DISPLAY(ab);
  NT2_DISPLAY(conv(a, b));
  NT2_TEST_EQUAL(ab,conv(a, b));
  NT2_TEST_EQUAL(conv(a, c), nt2::zeros(1, 3, nt2::meta::as_<T>()));
  NT2_TEST_EQUAL(conv(c, b), nt2::zeros(1, 2, nt2::meta::as_<T>()));
  NT2_TEST_EQUAL(conv(b, b), nt2::cons<T>(nt2::of_size(1, 5), 1, 4, 10, 12, 9));
}