OpenQMC API
Loading...
Searching...
No Matches
rank1.h File Reference
#include "gpu.h"
#include "pcg.h"
#include "permute.h"
#include <cassert>
#include <cstdint>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  oqmc
 

Functions

constexpr std::uint32_t oqmc::rotate (std::uint32_t value, std::uint32_t distance)
 Rotate an integer a given distance.
 
constexpr std::uint32_t oqmc::latticeReversedIndex (std::uint32_t index, int dimension)
 Compute a rank 1 lattice value at an index with reversed bits.
 
template<int Depth>
constexpr void oqmc::shuffledRotatedLattice (std::uint32_t index, std::uint32_t patternId, std::uint32_t sample[Depth])
 Compute a randomised rank 1 lattice value.
 

Detailed Description

An implementation of a rank 1 lattice as described in 'Weighted Compound Integration Rules with Higher Order Convergence for all N' by Fred J. Hickernell, et al., made progressive with a radical inversion of the sample index.