2#ifndef STORMM_SET_OPS_H
3#define STORMM_SET_OPS_H
7#include "Accelerator/hybrid.h"
8#include "Constants/scaling.h"
9#include "DataTypes/common_types.h"
10#include "Parsing/parse.h"
11#include "Parsing/polynumeric.h"
13#include "vector_ops.h"
19using parse::NumberFormat;
20using parse::realToString;
30template <
typename T> std::vector<T> incrementingSeries(
const T start_value,
const T end_value,
31 const T increment = 1);
49std::vector<uint> numberSeriesToBitMask(
const int* number_series,
const size_t length,
52std::vector<uint> numberSeriesToBitMask(
const std::vector<int> &number_series,
55std::vector<uint> numberSeriesToBitMask(
const Hybrid<int> &number_series,
int output_size = 0);
72std::vector<int> getSubsetIndexPattern(std::vector<int> *x_subset,
int x_size,
73 int *n_subset_indices =
nullptr);
94template <
typename T> std::vector<T> extractIndexedValues(
const T* original_values,
96 const std::vector<int> reduced_indices,
97 const int reduced_length = 0);
99template <
typename T> std::vector<T> extractIndexedValues(
const std::vector<T> &original_values,
100 const std::vector<int> reduced_indices,
101 const int reduced_length = 0);
103template <
typename T> std::vector<T> extractIndexedValues(
const Hybrid<T> &original_values,
104 const std::vector<int> reduced_indices,
105 const int reduced_length = 0);
129template <
typename Tdata,
typename Tloc>
130void indexingArray(
const Tdata* raw_values, Tloc* value_locations, Tloc* value_bounds,
131 size_t value_count,
size_t value_limit);
133template <
typename Tdata,
typename Tloc>
134void indexingArray(
const std::vector<Tdata> &raw_values, std::vector<Tloc> *value_locations,
135 std::vector<Tloc> *value_bounds,
size_t value_limit = 0);
137template <
typename Tdata,
typename Tloc>
158std::vector<int> enumerateMask(
const std::vector<bool> &bitmask);
160std::vector<int> enumerateMask(
const uint* bitmask,
const int length);
162std::vector<int> enumerateMask(
const std::vector<uint> &bitmask);
164std::vector<int> enumerateMask(
const Hybrid<uint> &bitmask);
171#include "series_ops.tpp"
An evolution of GpuBuffer in pmemd.cuda, the Composite array has elements that are accessible from ei...
Definition hybrid.h:202