1 #include <Sequence/variant_matrix/windows.hpp> 10 throw std::invalid_argument(
"end must be >= beg");
14 auto pe = std::upper_bound(pb, m.
positions.end(), end);
15 decltype(m.
data) data;
23 for (
auto i = pb; i < pe; ++i)
26 m, static_cast<std::size_t>(
28 data.insert(data.end(), v.begin(), v.end());
35 const std::size_t i,
const std::size_t j)
39 throw std::invalid_argument(
"end must be >= beg");
43 throw std::invalid_argument(
"i must be < j");
47 throw std::invalid_argument(
"slice indexes out of range");
51 auto pe = std::upper_bound(pb, m.
positions.end(), end);
52 decltype(m.
data) data;
59 for (
auto pi = pb; pi < pe; ++pi)
62 m, static_cast<std::size_t>(
64 data.insert(data.end(), v.begin() + i, v.begin() + j);
VariantMatrix make_window(const VariantMatrix &m, const double beg, const double end)
Return a window from a VariantMatrix.
The namespace in which this library resides.
std::vector< double > positions
Position of sites.
ConstRowView get_ConstRowView(const VariantMatrix &m, const std::size_t row)
Return a ConstRowView from VariantMatrix m at row row. std::out_of_range is thrown if row is out of r...
Matrix representation of variation data.
std::size_t nsam
Sample size of data set.
VariantMatrix make_slice(const VariantMatrix &m, const double beg, const double end, const std::size_t i, const std::size_t j)
Return a slice from a VariantMatrix.
std::vector< std::int8_t > data
Data stored in matrix form with rows as sites.