Fermat
Public Types | Public Methods | Public Members | List of all members
PerturbedPrimaryCoords Struct Reference

Detailed description

A perturbation sampler

#include <bpt_samplers.h>

Public Types

enum  Type { Null = 0x0, CauchyPerturbation = 0x1, IndependentSample = 0x2 }
 

Public Methods

FERMAT_HOST_DEVICE FERMAT_FORCEINLINE uint32 chain_coordinate_index (const uint32 idx, const uint32 dim) const
 
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE PerturbedPrimaryCoords (const uint32 _n_chains, float *_path_u, const uint32 _path_vertex_offset, float *_mut_u, const uint32 _mut_vertex_offset, const Type _type, const float _radius=0.01f)
 
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float sample (const uint32 idx, const uint32 vertex, const uint32 dim) const
 
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float u_m (const uint32 chain_id, const uint32 dim) const
 
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float & u (const uint32 chain_id, const uint32 dim)
 
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE const float & u (const uint32 chain_id, const uint32 dim) const
 
FERMAT_HOST_DEVICE FERMAT_FORCEINLINE float perturbed_u (const uint32 chain_id, const uint32 dim) const
 

Public Members

float * path_u
 
float * mut_u
 
uint32 n_chains
 
Type type
 
float radius
 

The documentation for this struct was generated from the following file: