qsim::SequentialFor

#include <seqfor.h>

Helper struct for executing for loops in series.

Summary

Constructors and Destructors

SequentialFor(unsigned num_threads)

Public static functions

GetIndex0(uint64_t size, unsigned thread_id)
uint64_t
GetIndex1(uint64_t size, unsigned thread_id)
uint64_t
Run(uint64_t size, Function && func, Args &&... args)
void
RunReduce(uint64_t size, Function && func, Op && op, Args &&... args)
Op::result_type
RunReduceP(uint64_t size, Function && func, Op && op, Args &&... args)
std::vector< typename Op::result_type >

Public functions

SequentialFor

 qsim::SequentialFor::SequentialFor(
  unsigned num_threads
)

Public static functions

GetIndex0

uint64_t qsim::SequentialFor::GetIndex0(
  uint64_t size,
  unsigned thread_id
)

GetIndex1

uint64_t qsim::SequentialFor::GetIndex1(
  uint64_t size,
  unsigned thread_id
)

Run

void qsim::SequentialFor::Run(
  uint64_t size,
  Function && func,
  Args &&... args
)

RunReduce

Op::result_type qsim::SequentialFor::RunReduce(
  uint64_t size,
  Function && func,
  Op && op,
  Args &&... args
)

RunReduceP

std::vector< typename Op::result_type > qsim::SequentialFor::RunReduceP(
  uint64_t size,
  Function && func,
  Op && op,
  Args &&... args
)