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