LdsGen 1.2.6
Loading...
Searching...
No Matches
Namespaces | Classes | Concepts | Functions | Variables
ldsgen Namespace Reference

Namespaces

namespace  detail
 

Classes

class  Circle
 Circle sequence generator. More...
 
class  Disk
 Disk sequence generator. More...
 
class  GeneratorBase
 CRTP base implementing the sequence generator protocol. More...
 
class  GeneratorIterable
 CRTP mixin adding STL iterator support to a GeneratorBase. More...
 
class  GeneratorIterator
 Forward iterator for sequence generators. More...
 
class  Halton
 Halton sequence generator. More...
 
class  HaltonN
 Halton(n) sequence generator. More...
 
class  Sphere
 Sphere sequence generator. More...
 
class  Sphere3
 3-Sphere sequence generator (standalone, returns std::array). More...
 
class  Sphere3Hopf
 S(3) sequence generator by Hopf fibration. More...
 
class  SphereGen
 Base class for sphere generators. More...
 
class  SphereN
 N-dimensional sphere sequence generator. More...
 
class  SphereWrapper
 Wrapper class to make Sphere compatible with SphereGen interface. More...
 
class  VdCorput
 Van der Corput sequence generator. More...
 

Concepts

concept  SequenceGenerator
 Concept for the sequence generator protocol.
 

Functions

constexpr auto vdc (unsigned long count, unsigned long base) -> double
 Van der Corput sequence.
 
unsigned long dummy (unsigned int index)
 Dummy function (placeholder, not yet implemented).
 
void log_with_spdlog (const std::string &message)
 Log a message using spdlog.
 
std::vector< double > linspace (double start, double stop, unsigned int num)
 Generate evenly spaced numbers over a specified interval.
 
double simple_interp (double x_value, std::span< const double > x_points, std::span< const double > y_points)
 Perform one-dimensional linear interpolation.
 
std::vector< double > get_tp (unsigned int n)
 Compute Tp(n) recurrence for sphere mapping.
 

Variables

constexpr const auto TWO_PI = 2.0 * M_PI
 
constexpr unsigned int MAX_REVERSE_BITS = 64
 
constexpr double MAPPING_FACTOR = 2.0
 
constexpr double PI = M_PI
 
constexpr double HALF_PI = M_PI / 2.0
 
constexpr std::size_t TABLE_SIZE = 300
 Number of interpolation points for sphere mapping tables.
 
const std::array< double, TABLE_SIZEX
 Precomputed interpolation tables (static storage, no heap)
 
const std::array< double, TABLE_SIZENEG_COSINE
 
const std::array< double, TABLE_SIZESINE
 
const std::array< double, TABLE_SIZEF2
 

Function Documentation

◆ dummy()

unsigned long ldsgen::dummy ( unsigned int  index)
extern

Dummy function (placeholder, not yet implemented).

Parameters
[in]indexThe input index.
Returns
The result of the dummy operation.

◆ get_tp()

std::vector< double > ldsgen::get_tp ( unsigned int  n)

Compute Tp(n) recurrence for sphere mapping.

Parameters
nThe recurrence index.
Returns
Vector of TABLE_SIZE interpolated values.

◆ linspace()

std::vector< double > ldsgen::linspace ( double  start,
double  stop,
unsigned int  num 
)

Generate evenly spaced numbers over a specified interval.

◆ log_with_spdlog()

void ldsgen::log_with_spdlog ( const std::string &  message)

Log a message using spdlog.

This function provides a simple wrapper around spdlog for logging messages. It creates a file logger that writes to "ldsgen.log" and logs at the info level.

Parameters
messageThe message to log

◆ simple_interp()

double ldsgen::simple_interp ( double  x_value,
std::span< const double >  x_points,
std::span< const double >  y_points 
)

Perform one-dimensional linear interpolation.

◆ vdc()

constexpr auto ldsgen::vdc ( unsigned long  count,
unsigned long  base 
) -> double
constexpr

Van der Corput sequence.

The vdc function is calculating the Van der Corput sequence value for a given index count and base base. It returns a double value.

*     Base 2 Example:
*     count=1 -> 0.5  (0.1 in base 2)
*     count=2 -> 0.25 (0.01 in base 2)
*     count=3 -> 0.75 (0.11 in base 2)
*     count=4 -> 0.125(0.001 in base 2)
* 
Parameters
[in]countindex of the sequence
[in]basebase of the sequence
Returns
double

Variable Documentation

◆ F2

const std::array<double, TABLE_SIZE> ldsgen::F2
extern

◆ HALF_PI

constexpr double ldsgen::HALF_PI = M_PI / 2.0
constexpr

◆ MAPPING_FACTOR

constexpr double ldsgen::MAPPING_FACTOR = 2.0
constexpr

◆ MAX_REVERSE_BITS

constexpr unsigned int ldsgen::MAX_REVERSE_BITS = 64
constexpr

◆ NEG_COSINE

const std::array<double, TABLE_SIZE> ldsgen::NEG_COSINE
extern

◆ PI

constexpr double ldsgen::PI = M_PI
constexpr

◆ SINE

const std::array<double, TABLE_SIZE> ldsgen::SINE
extern

◆ TABLE_SIZE

constexpr std::size_t ldsgen::TABLE_SIZE = 300
constexpr

Number of interpolation points for sphere mapping tables.

◆ TWO_PI

constexpr const auto ldsgen::TWO_PI = 2.0 * M_PI
constexpr

◆ X

const std::array<double, TABLE_SIZE> ldsgen::X
extern

Precomputed interpolation tables (static storage, no heap)