org.sunflow.math

## Class QMC

- java.lang.Object
- - org.sunflow.math.QMC

-     public final class QMC
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `MAX_SIGMA_ORDER`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static int` | `fibonacci(int k)`
    `static double` | `fibonacciLattice(int k, int i, int d)`
    `static int` | `getFibonacciRank(int n)`
    `static double` | `halton(int d, int i)`
    `static double` | `korobovLattice(int m, int i, int d)`
    `static double` | `mod1(double x)` Compute mod(x,1), assuming that x is positive or 0.
    `static double` | `reducedCPRotation(int k, int d, double x0, double x1)`
    `static double` | `riLP(int i, int r)`
    `static double` | `riS(int i, int r)`
    `static double` | `riVDC(int bits, int r)`
    `static int` | `sigma(int i, int order)` Compute sigma function used to seed QMC sequence trees.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### MAX_SIGMA_ORDER

          public static final int MAX_SIGMA_ORDER

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### riVDC

          public static double riVDC(int bits,
                                     int r)

    - #### riS

          public static double riS(int i,
                                   int r)

    - #### riLP

          public static double riLP(int i,
                                    int r)

    - #### halton

          public static final double halton(int d,
                                            int i)

    - #### mod1

          public static final double mod1(double x)

      Compute mod(x,1), assuming that x is positive or 0.
      Parameters:
        `x` - any number >= 0
      Returns:
        mod(x,1)

    - #### sigma

          public static final int sigma(int i,
                                        int order)

      Compute sigma function used to seed QMC sequence trees. The sigma table is exactly 2^order elements long, and therefore i should be in the: [0, 2^order) interval. This function is equal to 2^order*halton(0,i)
      Parameters:
        `i` - index
        `order` -
      Returns:
        sigma function

    - #### getFibonacciRank

          public static final int getFibonacciRank(int n)

    - #### fibonacci

          public static final int fibonacci(int k)

    - #### fibonacciLattice

          public static final double fibonacciLattice(int k,
                                                      int i,
                                                      int d)

    - #### reducedCPRotation

          public static final double reducedCPRotation(int k,
                                                       int d,
                                                       double x0,
                                                       double x1)

    - #### korobovLattice

          public static final double korobovLattice(int m,
                                                    int i,
                                                    int d)