Documentation of 'umontreal.iro.lecuyer.rng.BakerTransformedStream' Java class
BakerTransformedStream
umontreal.iro.lecuyer.rng

Class BakerTransformedStream

  • All Implemented Interfaces:
    RandomStream


    public class BakerTransformedStream
    extends java.lang.Object
    implements RandomStream
    This container class permits one to apply the baker's transformation to the output of any RandomStream. It transforms each u∈[0, 1] into 2u if u <= 1/2 and 2(1 - u) if u > 1/2. The nextDouble method will return the result of this transformation and the other next... methods are affected accordingly. Any instance of this class contains a RandomStream called its base stream, used to generate its numbers and to which the transformation is applied. Any call to one of the next... methods of this class will modify the state of the base stream.

    The baker transformation is often applied when the RandomStream is actually an iterator over a point set used for quasi-Monte Carlo integration (see the hups package).

    • Constructor Summary

      Constructors 
      Constructor and Description
      BakerTransformedStream(RandomStream stream)
      Constructs a new baker transformed stream, using the random numbers from the base stream stream.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      void nextArrayOfDouble(double[] u, int start, int n)
      Calls nextArrayOfDouble (u, start, n) for the base stream, then applies the baker transformation.
      void nextArrayOfInt(int i, int j, int[] u, int start, int n)
      Fills up the array by calling nextInt (i, j).
      double nextDouble()
      Returns the baker transformation of s.nextDouble() where s is the base stream.
      int nextInt(int i, int j)
      Generates a random integer in {i,..., j} via nextDouble (in which the baker transformation is applied).
      void resetNextSubstream()
      Reinitializes the stream to the beginning of its next substream: Ng is computed, and Cg and Bg are set to Ng.
      void resetStartStream()
      Reinitializes the stream to its initial state Ig: Cg and Bg are set to Ig.
      void resetStartSubstream()
      Reinitializes the stream to the beginning of its current substream: Cg is set to Bg.
      java.lang.String toString()
      Returns a string starting with "Baker transformation of " and finishing with the result of the call to the toString method of the generator.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • BakerTransformedStream

        public BakerTransformedStream(RandomStream stream)
        Constructs a new baker transformed stream, using the random numbers from the base stream stream.
    • Method Detail

      • resetStartStream

        public void resetStartStream()
        Description copied from interface: RandomStream
        Reinitializes the stream to its initial state Ig: Cg and Bg are set to Ig.
        Specified by:
        resetStartStream in interface RandomStream
      • resetStartSubstream

        public void resetStartSubstream()
        Description copied from interface: RandomStream
        Reinitializes the stream to the beginning of its current substream: Cg is set to Bg.
        Specified by:
        resetStartSubstream in interface RandomStream
      • resetNextSubstream

        public void resetNextSubstream()
        Description copied from interface: RandomStream
        Reinitializes the stream to the beginning of its next substream: Ng is computed, and Cg and Bg are set to Ng.
        Specified by:
        resetNextSubstream in interface RandomStream
      • toString

        public java.lang.String toString()
        Returns a string starting with "Baker transformation of " and finishing with the result of the call to the toString method of the generator.
        Specified by:
        toString in interface RandomStream
        Overrides:
        toString in class java.lang.Object
        Returns:
        the state of the generator formated as a string
      • nextDouble

        public double nextDouble()
        Returns the baker transformation of s.nextDouble() where s is the base stream.
        Specified by:
        nextDouble in interface RandomStream
        Returns:
        the next generated uniform
      • nextInt

        public int nextInt(int i,
                           int j)
        Generates a random integer in {i,..., j} via nextDouble (in which the baker transformation is applied).
        Specified by:
        nextInt in interface RandomStream
        Parameters:
        i - smallest integer that can be generated
        j - greatest integer that can be generated
        Returns:
        the generated integer
      • nextArrayOfDouble

        public void nextArrayOfDouble(double[] u,
                                      int start,
                                      int n)
        Calls nextArrayOfDouble (u, start, n) for the base stream, then applies the baker transformation.
        Specified by:
        nextArrayOfDouble in interface RandomStream
        Parameters:
        u - the array in which the numbers will be stored
        start - the first index of u to be used
        n - the number of random numbers to put in u
      • nextArrayOfInt

        public void nextArrayOfInt(int i,
                                   int j,
                                   int[] u,
                                   int start,
                                   int n)
        Fills up the array by calling nextInt (i, j).
        Specified by:
        nextArrayOfInt in interface RandomStream
        Parameters:
        i - the smallest possible integer to put in u
        j - the largest possible integer to put in u
        u - the array in which the numbers will be stored
        start - the first index of u to be used
        n - the number of random numbers to put in u

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.