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

Go to the source code of this file.

Functions

void oqmc::stochasticPmjInit (int nsamples, std::uint32_t table[][4])
 Initialise a table with a progressive mult-jittered (0,2) sequence.
 

Detailed Description

An efficient implementation of progressive multi-jittered (0,2) sequences. This can be used to construct higher level sampler types. The method is based on 'Stochastic Generation of (t, s) Sample Sequences' by Andrew Helmer, et al. As progressive multi-jittered (0,2) XOR tables only produce the first pair of the four dimensions, the second pair is a randomisation of the first.

Function Documentation

◆ stochasticPmjInit()

void oqmc::stochasticPmjInit ( int  nsamples,
std::uint32_t  table[][4] 
)
inline

Given a data array and size, compute the corresponding progressive multi-jittered (0,2) sequence value for each element of the array. Each element in the array is a 4 dimensional sample. Number of samples must be larger than zero and no more than 2^16.

Parameters
[in]nsamplesSize of the table array.
[out]tableOutput array of 4 dimensional samples.
Here is the caller graph for this function: