37 long i1 = (1L << 30) + (1L << 29);
40 complex<float> i4(0.23, 0.33);
41 complex<double> i5(0.33, 0.23);
42 std::vector<complex<double>> i6_dummy(3);
43 std::vector<complex<double>> i6(3);
44 i6[0] = complex<double>(0.23, 0.33);
45 i6[1] = complex<double>(0.33, 0.23);
46 i6[2] = complex<double>(0.56, 0.65);
54 p.
add(i6_dummy.data(), i6_dummy.data() + i6_dummy.size());
55 p.
add(i6.data(), i6.data() + i6.size());
66 p.
put(i6_dummy.data(), i6_dummy.data() + i6_dummy.size());
67 p.
put(i6.data(), i6.data() + i6.size());
78 complex<float> j4 = i4;
80 complex<double> j5 = i5;
82 std::vector<complex<double>> j6(i6);
93 p.
get(i6_dummy.data(), i6_dummy.data() + i6_dummy.size());
94 bool not_aligned = (((size_t)p.
data()) + p.
current()) & (QMC_SIMD_ALIGNMENT - 1);
97 p.
get(i6.data(), i6.data() + i6.size());
109 #ifdef CHECK_ALLOCATION_PERF 111 for (
size_t size_scale = 15; size_scale < 30; size_scale++)
113 const size_t size = (1 << size_scale) + 17 * 8;
119 std::cout <<
"PooledMemory Allocate " << pm_walker.
byteSize() <<
" bytes Time " << PoolTimer.
elapsed()
123 std::cout <<
"PooledMemory Copy Time " << PoolTimer.
elapsed() << std::endl;
129 pd_walker.
resize(size / 8);
130 std::cout <<
"PooledData Allocate " << pd_walker.
byteSize() <<
" bytes Time " << PoolTimer.
elapsed() << std::endl;
133 std::cout <<
"PooledData Copy Time " << PoolTimer.
elapsed() << std::endl;
136 std::cout << std::endl;
helper functions for EinsplineSetBuilder
TEST_CASE("complex_helper", "[type_traits]")
void allocate()
allocate the data
REQUIRE(std::filesystem::exists(filename))
T * data()
return the address of the first element
size_type byteSize() const
return the size of the data
void resize(size_type n, T val=T())
resize
size_type byteSize() const
return the size of the data
size_type current() const
void rewind(size_type cur=0, size_type cur_scalar=0)
set the cursors
void put(std::complex< T1 > &x)
Define a serialized buffer to store anonymous data.
void add(std::complex< T1 > &x)
void get(std::complex< T1 > &x)