23#ifndef ROOFIT_BATCHCOMPUTE_BATCHES_H
24#define ROOFIT_BATCHCOMPUTE_BATCHES_H
36constexpr uint8_t maxExtraArgs = 16;
45 const double *__restrict
_array =
nullptr;
87 double *buffer =
nullptr);
These classes encapsulate the necessary data for the computations.
constexpr double operator[](size_t i) const noexcept
const double *__restrict _array
void set(double scalar, InputArr array, bool isVector)
void advance(size_t _nEvents)
__roodevice__ constexpr bool isItVector() const
Batch(InputArr array, bool isVector)
void setNEvents(size_t n)
__roodevice__ Batch operator[](int batchIdx) const
Batches(const Batches &)=delete
__roodevice__ void setExtraArg(uint8_t i, double val)
void advance(size_t nEvents)
std::vector< Batch > _arrays
std::vector< double > _extraArgs
__roodevice__ size_t getNEvents() const
__roodevice__ uint8_t getNExtraArgs() const
Batches & operator=(Batches &&)=delete
Batches(Batches &&)=delete
Batches & operator=(const Batches &)=delete
__roodevice__ double extraArg(uint8_t i) const
Namespace for dispatching RooFit computations to various backends.
std::vector< RooSpan< const double > > VarVector
const double *__restrict InputArr
constexpr uint16_t bufferSize
std::vector< double > ArgVector
double *__restrict RestrictArr
static void output(int code)