Example usage for org.apache.commons.math3.random RandomGenerator RandomGenerator

List of usage examples for org.apache.commons.math3.random RandomGenerator RandomGenerator

Introduction

In this page you can find the example usage for org.apache.commons.math3.random RandomGenerator RandomGenerator.

Prototype

RandomGenerator

Source Link

Usage

From source file:io.coala.math3.Math3PseudoRandom.java

/**
 * @param rng the {@link PseudoRandom} to unwrap (if possible)
 * @return the unwrapped {@link RandomGenerator} or otherwise a decorated
 *         {@link PseudoRandom}// w  ww.j a v a 2s  .c  o  m
 */
public static RandomGenerator toRandomGenerator(final PseudoRandom rng) {
    return rng instanceof Math3PseudoRandom ? ((Math3PseudoRandom) rng).unwrap() : new RandomGenerator() {
        @Override
        public void setSeed(final int seed) {
            throw ExceptionFactory.createUnchecked("Seed can be set only once");
        }

        @Override
        public void setSeed(final int[] seed) {
            throw ExceptionFactory.createUnchecked("Seed can be set only once");
        }

        @Override
        public void setSeed(final long seed) {
            throw ExceptionFactory.createUnchecked("Seed can be set only once");
        }

        @Override
        public void nextBytes(final byte[] bytes) {
            rng.nextBytes(bytes);
        }

        @Override
        public int nextInt() {
            return rng.nextInt();
        }

        @Override
        public int nextInt(int n) {
            return rng.nextInt(n);
        }

        @Override
        public long nextLong() {
            return rng.nextInt();
        }

        @Override
        public boolean nextBoolean() {
            return rng.nextBoolean();
        }

        @Override
        public float nextFloat() {
            return rng.nextFloat();
        }

        @Override
        public double nextDouble() {
            return rng.nextDouble();
        }

        @Override
        public double nextGaussian() {
            return rng.nextGaussian();
        }
    };
}

From source file:edu.byu.nlp.crowdsourcing.ModelInitializationTest.java

@Test
public void testNoisyInitializer() {

    // a dummy rand number generator
    RandomGenerator rnd = new RandomGenerator() {
        private int i = 0;
        private int j = 0;

        @Override/*from w w  w .java 2 s .  c o  m*/
        public int nextInt(int arg0) {
            return new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }[i++];
        }

        @Override
        public double nextDouble() {
            return new double[] { .1, .9, .1, .9, .1, .9, .1, .9, .1, .9 }[j++];
        }

        @Override
        public void setSeed(long arg0) {
        }

        @Override
        public void setSeed(int[] arg0) {
        }

        @Override
        public void setSeed(int arg0) {
        }

        @Override
        public long nextLong() {
            throw new UnsupportedOperationException();
        }

        @Override
        public int nextInt() {
            throw new UnsupportedOperationException();
        }

        @Override
        public double nextGaussian() {
            throw new UnsupportedOperationException();
        }

        @Override
        public float nextFloat() {
            throw new UnsupportedOperationException();
        }

        @Override
        public void nextBytes(byte[] arg0) {
            throw new UnsupportedOperationException();
        }

        @Override
        public boolean nextBoolean() {
            throw new UnsupportedOperationException();
        }
    };

    // a do-nothing delegate
    AssignmentInitializer delegate = new AssignmentInitializer() {
        @Override
        public void setData(Dataset data, Map<String, Integer> instanceIndices) {
        }

        @Override
        public void initialize(int[] assignments) {
        }
    };

    int[] arr = new int[] { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 };
    NoisyInitializer noisyInit = new ModelInitialization.NoisyInitializer(delegate, 0.8, 4, rnd);
    noisyInit.initialize(arr);
    Assertions.assertThat(arr).isEqualTo(new int[] { 0, 9, 1, 9, 2, 9, 3, 9, 4, 9 });
}

From source file:com.github.rinde.rinsim.geom.GraphsTest.java

@Test
public void getRandomNodeImpossible() {

    Point A, B, C, D;/* ww w .j  a va  2  s .  com*/
    A = new Point(0, 0);
    B = new Point(0, 10);
    C = new Point(10, 10);
    D = new Point(10, 0);
    Graphs.addBiPath(graph, A, B, C, D, A);

    final RandomGenerator rg = new RandomGenerator() {

        @Override
        public void setSeed(long arg0) {

        }

        @Override
        public void setSeed(@Nullable int[] arg0) {

        }

        @Override
        public void setSeed(int arg0) {

        }

        @Override
        public long nextLong() {
            return 0;
        }

        @Override
        public int nextInt(int arg0) {
            return arg0 + 1;
        }

        @Override
        public int nextInt() {
            return 0;
        }

        @Override
        public double nextGaussian() {
            return 0;
        }

        @Override
        public float nextFloat() {
            return 0;
        }

        @Override
        public double nextDouble() {
            return 0;
        }

        @Override
        public void nextBytes(@Nullable byte[] arg0) {
        }

        @Override
        public boolean nextBoolean() {
            return false;
        }
    };
    boolean flag = false;
    try {
        graph.getRandomNode(rg);
    } catch (final IllegalStateException e) {
        flag = true;
    }
    assertTrue(flag);
}

From source file:org.compevol.ssgd.MaximumLikelihood.java

public MaximumLikelihood(final MultivariateFunction likelihood, final Parameter variables) {
    this.likelihood = likelihood;
    this.variables = variables;
    initial = new double[variables.getDimension()];
    Arrays.fill(initial, 1);/*from w  ww  .j  ava 2 s.c om*/
    optimizer = new CMAESOptimizer(Integer.MAX_VALUE, 0.0, true, 0, 8096, new RandomGenerator() {

        @Override
        public void setSeed(int i) {
            throw new UnsupportedOperationException();
        }

        @Override
        public void setSeed(int[] ints) {
            throw new UnsupportedOperationException();
        }

        @Override
        public void setSeed(long l) {
            throw new UnsupportedOperationException();
        }

        @Override
        public void nextBytes(byte[] bytes) {
            MathUtils.nextBytes(bytes);
        }

        @Override
        public int nextInt() {
            return MathUtils.nextInt();
        }

        @Override
        public int nextInt(int i) {
            return MathUtils.nextInt(i);
        }

        @Override
        public long nextLong() {
            return MathUtils.nextLong();
        }

        @Override
        public boolean nextBoolean() {
            return MathUtils.nextBoolean();
        }

        @Override
        public float nextFloat() {
            return MathUtils.nextFloat();
        }

        @Override
        public double nextDouble() {
            return MathUtils.nextDouble();
        }

        @Override
        public double nextGaussian() {
            return MathUtils.nextGaussian();
        }
    }, true, new SimplePointChecker<PointValuePair>(MachineAccuracy.SQRT_EPSILON, MachineAccuracy.EPSILON));
}