Class ValueServer

java.lang.Object
org.apache.commons.math.random.ValueServer

public class ValueServer extends Object
Generates values for use in simulation applications.

How values are generated is determined by the mode property.

Supported mode values are:

  • DIGEST_MODE -- uses an empirical distribution
  • REPLAY_MODE -- replays data from valuesFileURL
  • UNIFORM_MODE -- generates uniformly distributed random values with mean = mu
  • EXPONENTIAL_MODE -- generates exponentially distributed random values with mean = mu
  • GAUSSIAN_MODE -- generates Gaussian distributed random values with mean = mu and standard deviation = sigma
  • CONSTANT_MODE -- returns mu every time.

Version:
$Revision: 1003886 $ $Date: 2010-10-02 23:04:44 +0200 (sam. 02 oct. 2010) $
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Always return mu
    static final int
    Use empirical distribution.
    static final int
    Exponential random deviates with mean = μ.
    static final int
    Gaussian random deviates with mean = μ, std dev = σ.
    static final int
    Replay data from valuesFilePath.
    static final int
    Uniform random deviates with mean = μ.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates new ValueServer
    ValueServer(RandomData randomData)
    Construct a ValueServer instance using a RandomData as its source of random data.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes valuesFileURL after use in REPLAY_MODE.
    void
    Computes the empirical distribution using values from the file in valuesFileURL, using the default number of bins.
    void
    computeDistribution(int binCount)
    Computes the empirical distribution using values from the file in valuesFileURL and binCount bins.
    void
    fill(double[] values)
    Fills the input array with values generated using getNext() repeatedly.
    double[]
    fill(int length)
    Returns an array of length length with values generated using getNext() repeatedly.
    Getter for property empiricalDistribution.
    int
    Getter for property mode.
    double
    Getter for property mu.
    double
    Returns the next generated value, generated according to the mode value (see MODE constants).
    double
    Getter for property sigma.
    Getter for valuesFileURL
    void
    Resets REPLAY_MODE file pointer to the beginning of the valuesFileURL.
    void
    setMode(int mode)
    Setter for property mode.
    void
    setMu(double mu)
    Setter for property mu.
    void
    setSigma(double sigma)
    Setter for property sigma.
    void
    Sets the valuesFileURL using a string URL representation
    void
    Sets the valuesFileURL

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DIGEST_MODE

      public static final int DIGEST_MODE
      Use empirical distribution.
      See Also:
    • REPLAY_MODE

      public static final int REPLAY_MODE
      Replay data from valuesFilePath.
      See Also:
    • UNIFORM_MODE

      public static final int UNIFORM_MODE
      Uniform random deviates with mean = μ.
      See Also:
    • EXPONENTIAL_MODE

      public static final int EXPONENTIAL_MODE
      Exponential random deviates with mean = μ.
      See Also:
    • GAUSSIAN_MODE

      public static final int GAUSSIAN_MODE
      Gaussian random deviates with mean = μ, std dev = σ.
      See Also:
    • CONSTANT_MODE

      public static final int CONSTANT_MODE
      Always return mu
      See Also:
  • Constructor Details

    • ValueServer

      public ValueServer()
      Creates new ValueServer
    • ValueServer

      public ValueServer(RandomData randomData)
      Construct a ValueServer instance using a RandomData as its source of random data.
      Parameters:
      randomData - the RandomData instance used to source random data
      Since:
      1.1
  • Method Details

    • getNext

      public double getNext() throws IOException
      Returns the next generated value, generated according to the mode value (see MODE constants).
      Returns:
      generated value
      Throws:
      IOException - in REPLAY_MODE if a file I/O error occurs
    • fill

      public void fill(double[] values) throws IOException
      Fills the input array with values generated using getNext() repeatedly.
      Parameters:
      values - array to be filled
      Throws:
      IOException - in REPLAY_MODE if a file I/O error occurs
    • fill

      public double[] fill(int length) throws IOException
      Returns an array of length length with values generated using getNext() repeatedly.
      Parameters:
      length - length of output array
      Returns:
      array of generated values
      Throws:
      IOException - in REPLAY_MODE if a file I/O error occurs
    • computeDistribution

      public void computeDistribution() throws IOException
      Computes the empirical distribution using values from the file in valuesFileURL, using the default number of bins.

      valuesFileURL must exist and be readable by *this at runtime.

      This method must be called before using getNext() with mode = DIGEST_MODE

      Throws:
      IOException - if an I/O error occurs reading the input file
    • computeDistribution

      public void computeDistribution(int binCount) throws IOException
      Computes the empirical distribution using values from the file in valuesFileURL and binCount bins.

      valuesFileURL must exist and be readable by this process at runtime.

      This method must be called before using getNext() with mode = DIGEST_MODE

      Parameters:
      binCount - the number of bins used in computing the empirical distribution
      Throws:
      IOException - if an error occurs reading the input file
    • getMode

      public int getMode()
      Getter for property mode.
      Returns:
      Value of property mode.
    • setMode

      public void setMode(int mode)
      Setter for property mode.
      Parameters:
      mode - New value of property mode.
    • getValuesFileURL

      public URL getValuesFileURL()
      Getter for valuesFileURL
      Returns:
      Value of property valuesFileURL.
    • setValuesFileURL

      public void setValuesFileURL(String url) throws MalformedURLException
      Sets the valuesFileURL using a string URL representation
      Parameters:
      url - String representation for new valuesFileURL.
      Throws:
      MalformedURLException - if url is not well formed
    • setValuesFileURL

      public void setValuesFileURL(URL url)
      Sets the valuesFileURL
      Parameters:
      url - New value of property valuesFileURL.
    • getEmpiricalDistribution

      public EmpiricalDistribution getEmpiricalDistribution()
      Getter for property empiricalDistribution.
      Returns:
      Value of property empiricalDistribution.
    • resetReplayFile

      public void resetReplayFile() throws IOException
      Resets REPLAY_MODE file pointer to the beginning of the valuesFileURL.
      Throws:
      IOException - if an error occurs opening the file
    • closeReplayFile

      public void closeReplayFile() throws IOException
      Closes valuesFileURL after use in REPLAY_MODE.
      Throws:
      IOException - if an error occurs closing the file
    • getMu

      public double getMu()
      Getter for property mu.
      Returns:
      Value of property mu.
    • setMu

      public void setMu(double mu)
      Setter for property mu.
      Parameters:
      mu - New value of property mu.
    • getSigma

      public double getSigma()
      Getter for property sigma.
      Returns:
      Value of property sigma.
    • setSigma

      public void setSigma(double sigma)
      Setter for property sigma.
      Parameters:
      sigma - New value of property sigma.