17#ifndef ROOFIT_ROOFITCORE_INC_BATCHHELPERS_H_
18#define ROOFIT_ROOFITCORE_INC_BATCHHELPERS_H_
32 const double * __restrict
ptr;
49EvaluateInfo getInfo(std::vector<const RooRealProxy*> parameters,
size_t begin,
size_t batchSize);
51 std::vector< ArrayWrapper* > wrappers,
52 std::vector< double*> arrays,
53 size_t begin,
size_t batchSize );
57template <
class T =
double>
68 constexpr operator double()
const {
87 _mask(batch.empty() ? 0 : ~
static_cast<size_t>(0))
BracketAdapterWithMask & operator=(const BracketAdapterWithMask &other)=delete
bool isBatch() const noexcept
double operator[](std::size_t i) const noexcept
const double *__restrict const _pointer
BracketAdapterWithMask(double payload, const RooSpan< const double > &batch) noexcept
BracketAdapterWithMask(const BracketAdapterWithMask &other) noexcept
Little adapter that gives a bracket operator to types that don't have one.
constexpr double operator[](std::size_t) const
constexpr BracketAdapter(T payload) noexcept
constexpr bool isBatch() const noexcept
RooArgSet is a container object that can hold multiple RooAbsArg objects.
A simple container to hold a batch of data values.
size_t findSize(std::vector< RooSpan< const double > > parameters)
This function returns the minimum size of the non-zero-sized batches.
EvaluateInfo init(std::vector< RooRealProxy > parameters, std::vector< ArrayWrapper * > wrappers, std::vector< double * > arrays, size_t begin, size_t batchSize)
EvaluateInfo getInfo(std::vector< const RooRealProxy * > parameters, size_t begin, size_t batchSize)
constexpr bool batch() const
constexpr double operator[](std::size_t i) const
const double *__restrict ptr