1 #ifndef jb_testing_create_triangle_timeseries_hpp 2 #define jb_testing_create_triangle_timeseries_hpp 7 #include <boost/multi_array.hpp> 15 template <
typename timeseries>
18 using value_type =
typename timeseries::value_type;
19 float p4 = nsamples / 4.0F;
20 for (
int i = 0; i != nsamples / 2; ++i) {
21 ts[i] = value_type((i - p4) / p4);
22 ts[i + nsamples / 2] = value_type((p4 - i) / p4);
37 template <
typename T, std::
size_t K,
typename A>
42 float p4 = nsamples / 4.0F;
46 for (
int i = 0; i != nsamples / 2; ++i, ++count) {
47 ts.data()[count] = value_type((i - p4) / p4);
48 ts.data()[count + nsamples / 2] = value_type((p4 - i) / p4);
51 int shift = nsamples / num_timeseries;
53 for (
int j = 1; j != num_timeseries; ++j) {
54 for (
int i = 0; i !=
nsamples; ++i, ++count) {
55 ts.data()[count] = ts.data()[count + shift -
nsamples];
63 #endif // jb_testing_create_triangle_timeseries_hpp void resize_if_applicable(timeseries &ts, std::size_t newsize, std::true_type)
Resize a timeseries to a newsize.
void create_triangle_timeseries(int nsamples, timeseries &ts)
Create a simple timeseries where the values look like a triangle.
std::size_t nsamples(container_type const &a)
Count the elements in the last dimension of a vector-like container.
std::size_t element_count(container_type const &a)
Count the number of elements for a vector-like container.
The top-level namespace for the JayBeams library.