Data members
The State is bitwise encoded in an array of predefined length:
-
std::array<IntType, NInt> danceq::internal::State::data
Data member for bitwise storage.
Each \(\vert\sigma_i\rangle\) is bitwise stored using an array of the primitive integer type IntType. A local site is encoded in Nbits bits. Each integer encodes \(M=\) ( sizeof ( IntType ) \(\cdot 8\) ) / Nbits qudits.
Memory alignment:
Integers
Block \(M-1\)
…
Block 1
Block 0
data[0]
\(\vert\sigma_{M-1}\rangle\)
…
\(\vert\sigma_1\rangle\)
\(\vert\sigma_0\rangle\)
data[1]
\(\vert\sigma_{2M-1}\rangle\)
…
\(\vert\sigma_{M+1}\rangle\)
\(\vert\sigma_M\rangle\)
…
…
…
…
…
data[NInt-1]
…
\(\vert\sigma_{\textbf{MaxSites}-1}\rangle\)
…
\(\vert\sigma_0\rangle\)