Lattice Builder
Software Package for Constructing Rank-1 Lattices
|
Symmetric compression. More...
#include <CompressTraits.h>
Public Member Functions | |
int | levelCompressionRatio (Modulus base, Level level) const |
Returns the compression ratio for the elements on level level in base base . More... | |
Static Public Member Functions | |
static constexpr bool | symmetric () |
static size_t | size (size_t n) |
Returns the internal vector size corresponding to natural size n . More... | |
static size_t | compressIndex (size_t i, size_t n) |
Returns the index at which the i -th natural element is stored. More... | |
static constexpr const char * | name () |
Returns "symmetric". | |
static int | indexCompressionRatio (size_t i, size_t n) |
Returns the compression ratio of the element at index i for vector size n . More... | |
Symmetric compression.
|
inlinestatic |
Returns the index at which the i
-th natural element is stored.
This is \( \min(i, n - i) \).
|
inlinestatic |
Returns the compression ratio of the element at index i
for vector size n
.
The first element of a vector is never compressed. The last element of a vector is not compressed when n
is even and is compressed by a factor of 2 otherwise. The rest of the elements are compressed by a factor of 2.
|
inline |
Returns the compression ratio for the elements on level level
in base base
.
If base
is 2, levels 0 and 1 are not compressed, and higher levels are compressed by a factor of 2.
If base
is larger than 2, level 0 is not compressed, and higher levels are compressed by a factor of 2.
|
inlinestatic |
Returns the internal vector size corresponding to natural size n
.
Natural points are at \( i / n \) for \(i = 0, \dots, n-1\). All points up to the middle one, inclusively, contain unique information. The middle point is found at \( (n + 1) / 2 \) if \( n \) is odd, and at \( n / 2 + 1 \) if \( n \) is even. This gives the necessary storage size to contain the complete information.