diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/rng/RRNG.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/rng/RRNG.java index 1b8d000143f1bb25b769f8324da7e2bb431d1bdf..e4388adb82d77d73304d83bba0e9ce7bd13a194a 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/rng/RRNG.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/rng/RRNG.java @@ -383,6 +383,12 @@ public class RRNG { // no change of the .Random.seed variable return; } + } else if (seedsObj instanceof int[]) { + seeds = (int[]) seedsObj; + if (seeds == currentGenerator().getSeeds()) { + // no change of the .Random.seed variable + return; + } } else { // seedsObj is not valid, which should have been reported and fixed in getRNGKind return; @@ -408,7 +414,5 @@ public class RRNG { int[] seeds = currentGenerator().getSeeds(); seeds[0] = currentKind().ordinal() + 100 * currentNormKind().ordinal(); RContext.getInstance().stateRNG.currentSeeds = seeds; -// RIntVector vector = RDataFactory.createIntVector(seeds, RDataFactory.INCOMPLETE_VECTOR); -// REnvironment.globalEnv().safePut(RANDOM_SEED, vector.makeSharedPermanent()); } }