Definition: parallel_for.hpp:27
void par_for_mask(const bitCapIntOcl, const bitCapIntOcl, const std::vector< bitCapIntOcl > &maskArray, ParallelFunc fn)
Skip over the bits listed in maskArray in the same fashion as par_for_skip.
Definition: parallel_for.cpp:118
real1_f par_norm_exact(const bitCapIntOcl maxQPower, const StateVectorPtr stateArray)
Calculate the normal for the array, (without flooring.)
Definition: parallel_for.cpp:390
ParallelFor()
Definition: parallel_for.cpp:32
void par_for_inc_sparse(const bitCapIntOcl begin, const bitCapIntOcl itemCount, IncrementFuncSparse, ParallelFuncSparse fn)
Definition: parallel_for.cpp:364
unsigned GetConcurrencyLevel()
Definition: parallel_for.hpp:49
const bitCapIntOcl pStride
Definition: parallel_for.hpp:29
bitLenInt GetPreferredConcurrencyPower()
Definition: parallel_for.hpp:51
bitLenInt dispatchThreshold
Definition: parallel_for.hpp:30
bitCapIntOcl GetStride()
Definition: parallel_for.hpp:50
void SetConcurrencyLevel(unsigned num)
Definition: parallel_for.hpp:36
void par_for_skip(const bitCapIntOcl begin, const bitCapIntOcl end, const bitCapIntOcl skipPower, const bitLenInt skipBitCount, ParallelFunc fn)
Skip over the skipPower bits.
Definition: parallel_for.cpp:86
void par_for_sparse_compose(const std::vector< bitCapInt > &lowSet, const std::vector< bitCapInt > &highSet, const bitLenInt &highStart, ParallelFuncSparse fn)
Iterate over the power set of 2 sparse state vectors.
Definition: parallel_for.cpp:66
void par_for(const bitCapIntOcl begin, const bitCapIntOcl end, ParallelFunc fn)
Call fn once for every numerical value between begin and end.
Definition: parallel_for.cpp:50
real1_f par_norm(const bitCapIntOcl maxQPower, const StateVectorPtr stateArray, real1_f norm_thresh=ZERO_R1_F)
Calculate the normal for the array, (with flooring).
Definition: parallel_for.cpp:373
unsigned numCores
Definition: parallel_for.hpp:31
void par_for_set(const std::set< bitCapInt > &sparseSet, ParallelFuncSparse fn)
Iterate over a sparse state vector.
Definition: parallel_for.cpp:55
void par_for_inc(const bitCapIntOcl begin, const bitCapIntOcl itemCount, IncrementFunc, ParallelFunc fn)
Iterate through the permutations a maximum of end-begin times, allowing the caller to control the inc...
Definition: parallel_for.cpp:355
GLOSSARY: bitLenInt - "bit-length integer" - unsigned integer ID of qubit position in register bitCap...
Definition: complex16x2simd.hpp:25
bitLenInt log2Ocl(bitCapIntOcl n)
Definition: qrack_functions.hpp:97
std::function< bitCapIntOcl(const bitCapIntOcl &)> IncrementFunc
Definition: parallel_for.hpp:24
void U(quid sid, bitLenInt q, real1_f theta, real1_f phi, real1_f lambda)
(External API) 3-parameter unitary gate
Definition: wasm_api.cpp:1199
std::function< bitCapInt(const bitCapIntOcl &)> IncrementFuncSparse
Definition: parallel_for.hpp:25
float real1_f
Definition: qrack_types.hpp:107
std::function< void(const bitCapInt &, const unsigned &cpu)> ParallelFuncSparse
Definition: parallel_for.hpp:23
std::function< void(const bitCapIntOcl &, const unsigned &cpu)> ParallelFunc
Definition: parallel_for.hpp:22
std::shared_ptr< StateVector > StateVectorPtr
Definition: qrack_types.hpp:147
bitCapIntOcl pow2Ocl(const bitLenInt &p)
Definition: qrack_functions.hpp:157
#define bitLenInt
Definition: qrack_types.hpp:41
#define ZERO_R1_F
Definition: qrack_types.hpp:162
#define bitCapInt
Definition: qrack_types.hpp:65
#define bitCapIntOcl
Definition: qrack_types.hpp:53