30 template<
unsigned int D>
35 double val1 =
dot(v1, v1);
36 CHECK(val1 == Approx(4.0 * D));
46 double val =
Dot(PA1, PA1);
47 CHECK(val == Approx(3 * 1.0 * D));
51 TEST_CASE(
"particle_attrib_ops_double",
"[particle_base]")
53 SECTION(
"dim = 1") { double_test_case<1>(); }
54 SECTION(
"dim = 2") { double_test_case<2>(); }
55 SECTION(
"dim = 3") { double_test_case<3>(); }
56 SECTION(
"dim = 4") { double_test_case<4>(); }
59 template<
unsigned int D>
64 v1 = std::complex<double>(2.0, 1.0);
66 CHECK(val1 == Approx(3.0 * D));
69 CHECK(val1_cc == Approx(5.0 * D));
77 PA1 = std::complex<double>(1.0, 2.0);
79 double val =
Dot(PA1, PA1);
80 CHECK(val == Approx(-3.0 * 3 * D));
82 double val_cc =
Dot_CC(PA1, PA1);
83 CHECK(val_cc == Approx(5.0 * 3 * D));
86 TEST_CASE(
"particle_attrib_ops_complex",
"[particle_base]")
88 SECTION(
"dim = 1") { complex_test_case<1>(); }
89 SECTION(
"dim = 2") { complex_test_case<2>(); }
90 SECTION(
"dim = 3") { complex_test_case<3>(); }
91 SECTION(
"dim = 4") { complex_test_case<4>(); }
void resize(size_type n, Type_t val=Type_t())
Resize the container.
helper functions for EinsplineSetBuilder
static Type_t apply(const TinyVector< std::complex< T1 >, D > &lhs, const TinyVector< std::complex< T2 >, D > &rhs)
static Type_t apply(const TinyVector< std::complex< T1 >, D > &lhs, const TinyVector< std::complex< T2 >, D > &rhs)
TEST_CASE("complex_helper", "[type_traits]")
Attaches a unit to a Vector for IO.
Declaration of CrystalLattice<T,D>
T Dot(const ParticleAttrib< TinyVector< T, D >> &pa, const ParticleAttrib< TinyVector< T, D >> &pb)
size_type size() const
return the current size
REQUIRE(std::filesystem::exists(filename))
Declaraton of ParticleAttrib<T> derived from Vector.
double Dot_CC(const ParticleAttrib< TinyVector< std::complex< double >, D >> &pa, const ParticleAttrib< TinyVector< std::complex< double >, D >> &pb)
Declaraton of ParticleAttrib<T>
CHECK(log_values[0]==ComplexApprox(std::complex< double >{ 5.603777579195571, -6.1586603331188225 }))
Tensor< typename BinaryReturn< T1, T2, OpMultiply >::Type_t, D > dot(const AntiSymTensor< T1, D > &lhs, const AntiSymTensor< T2, D > &rhs)