Macros | Typedefs | Functions
mmc_rand_logistic.h File Reference

An interface to use a coupled chaotic Logistic lattice RNG. More...

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
Include dependency graph for mmc_rand_logistic.h:

Go to the source code of this file.

Macros

#define __device__   static inline
 
#define MCX_RNG_NAME   "Logistic-Lattice"
 
#define RAND_BUF_LEN   5
 
#define RAND_SEED_WORD_LEN   5
 

Typedefs

typedef float RandType
 

Functions

__device__ void rand_need_more (RandType t[RAND_BUF_LEN], RandType tbuf[RAND_BUF_LEN])
 
__device__ void logistic_init (RandType *t, RandType *tnew, uint seed[], uint idx)
 
__device__ RandType rand_uniform01 (RandType v)
 
__device__ void rng_init (RandType t[RAND_BUF_LEN], RandType tnew[RAND_BUF_LEN], uint *n_seed, int idx)
 
__device__ float rand_next_scatlen (RandType t[RAND_BUF_LEN])
 generate [0,1] random number for the next scattering length
 
__device__ float rand_next_aangle (RandType t[RAND_BUF_LEN])
 generate [0,1] random number for the next arimuthal angle
 
__device__ float rand_next_zangle (RandType t[RAND_BUF_LEN])
 generate random number for the next zenith angle
 
__device__ float rand_next_reflect (RandType t[RAND_BUF_LEN])
 generate random number for reflection test
 
__device__ float rand_do_roulette (RandType t[RAND_BUF_LEN])
 generate random number for the next zenith angle
 

Detailed Description

An interface to use a coupled chaotic Logistic lattice RNG.