mc.cpp File Reference

#include "lux.h"
#include "randomgen.h"
#include "shape.h"
#include "mc.h"
#include "volume.h"
#include <limits>
Include dependency graph for mc.cpp:

Go to the source code of this file.

Namespaces

namespace  lux

Defines

#define A1   (-3.969683028665376e+01)
#define A2   2.209460984245205e+02
#define A3   (-2.759285104469687e+02)
#define A4   1.383577518672690e+02
#define A5   (-3.066479806614716e+01)
#define A6   2.506628277459239e+00
#define B1   (-5.447609879822406e+01)
#define B2   1.615858368580409e+02
#define B3   (-1.556989798598866e+02)
#define B4   6.680131188771972e+01
#define B5   (-1.328068155288572e+01)
#define C1   (-7.784894002430293e-03)
#define C2   (-3.223964580411365e-01)
#define C3   (-2.400758277161838e+00)
#define C4   (-2.549732539343734e+00)
#define C5   4.374664141464968e+00
#define C6   2.938163982698783e+00
#define D1   7.784695709041462e-03
#define D2   3.224671290700398e-01
#define D3   2.445134137142996e+00
#define D4   3.754408661907416e+00
#define P_LOW   0.02425
#define P_HIGH   0.97575

Functions

void lux::ComputeStep1dCDF (float *f, int nSteps, float *c, float *cdf)
float lux::SampleStep1d (float *f, float *cdf, float c, int nSteps, float u, float *pdf)
void lux::RejectionSampleDisk (const TsPack *tspack, float *x, float *y)
Vector lux::UniformSampleHemisphere (float u1, float u2)
float lux::UniformHemispherePdf (float theta, float phi)
Vector lux::UniformSampleSphere (float u1, float u2)
float lux::UniformSpherePdf ()
void lux::UniformSampleDisk (float u1, float u2, float *x, float *y)
void lux::ConcentricSampleDisk (float u1, float u2, float *dx, float *dy)
void lux::UniformSampleTriangle (float u1, float u2, float *u, float *v)
float lux::UniformConePdf (float cosThetaMax)
Vector lux::UniformSampleCone (float u1, float u2, float costhetamax)
Vector lux::UniformSampleCone (float u1, float u2, float costhetamax, const Vector &x, const Vector &y, const Vector &z)
Vector lux::SampleHG (const Vector &w, float g, float u1, float u2)
float lux::HGPdf (const Vector &w, const Vector &wp, float g)
double lux::normsinv (double p)
float lux::GaussianSampleDisk (float u1)
float lux::InverseGaussianSampleDisk (float u1)
float lux::ExponentialSampleDisk (float u1, int power)
float lux::InverseExponentialSampleDisk (float u1, int power)
float lux::TriangularSampleDisk (float u1)

Define Documentation

#define A1   (-3.969683028665376e+01)

Definition at line 184 of file mc.cpp.

Referenced by lux::normsinv().

#define A2   2.209460984245205e+02

Definition at line 185 of file mc.cpp.

Referenced by lux::normsinv().

#define A3   (-2.759285104469687e+02)

Definition at line 186 of file mc.cpp.

Referenced by lux::normsinv().

#define A4   1.383577518672690e+02

Definition at line 187 of file mc.cpp.

Referenced by lux::normsinv().

#define A5   (-3.066479806614716e+01)

Definition at line 188 of file mc.cpp.

Referenced by lux::normsinv().

#define A6   2.506628277459239e+00

Definition at line 189 of file mc.cpp.

Referenced by lux::normsinv().

#define B1   (-5.447609879822406e+01)

Definition at line 191 of file mc.cpp.

Referenced by lux::Matrix4x4::Mul(), and lux::normsinv().

#define B2   1.615858368580409e+02

Definition at line 192 of file mc.cpp.

Referenced by lux::Matrix4x4::Mul(), and lux::normsinv().

#define B3   (-1.556989798598866e+02)

Definition at line 193 of file mc.cpp.

Referenced by lux::Matrix4x4::Mul(), and lux::normsinv().

#define B4   6.680131188771972e+01

Definition at line 194 of file mc.cpp.

Referenced by lux::Matrix4x4::Mul(), and lux::normsinv().

#define B5   (-1.328068155288572e+01)

Definition at line 195 of file mc.cpp.

Referenced by lux::normsinv().

#define C1   (-7.784894002430293e-03)

Definition at line 197 of file mc.cpp.

Referenced by lux::normsinv().

#define C2   (-3.223964580411365e-01)

Definition at line 198 of file mc.cpp.

Referenced by lux::normsinv().

#define C3   (-2.400758277161838e+00)

Definition at line 199 of file mc.cpp.

Referenced by lux::normsinv().

#define C4   (-2.549732539343734e+00)

Definition at line 200 of file mc.cpp.

Referenced by lux::normsinv().

#define C5   4.374664141464968e+00

Definition at line 201 of file mc.cpp.

Referenced by lux::normsinv().

#define C6   2.938163982698783e+00

Definition at line 202 of file mc.cpp.

Referenced by lux::normsinv().

#define D1   7.784695709041462e-03

Definition at line 204 of file mc.cpp.

Referenced by cimg_library::CImg< T >::draw_fill(), and lux::normsinv().

#define D2   3.224671290700398e-01

Definition at line 205 of file mc.cpp.

Referenced by lux::normsinv().

#define D3   2.445134137142996e+00

Definition at line 206 of file mc.cpp.

Referenced by lux::normsinv().

#define D4   3.754408661907416e+00

Definition at line 207 of file mc.cpp.

Referenced by lux::normsinv().

#define P_HIGH   0.97575

Definition at line 211 of file mc.cpp.

Referenced by lux::normsinv().

#define P_LOW   0.02425

Definition at line 209 of file mc.cpp.

Referenced by lux::normsinv().

Generated by  doxygen 1.6.2-20100208