The R Project SVN R

Rev

Rev 24516 | Rev 32380 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 24516 Rev 25685
Line 264... Line 264...
264
    /* Get  .Random.seed  into proper variables */
264
    /* Get  .Random.seed  into proper variables */
265
    int len_seed, j, tmp;
265
    int len_seed, j, tmp;
266
    SEXP seeds;
266
    SEXP seeds;
267
    RNGtype newRNG; N01type newN01;
267
    RNGtype newRNG; N01type newN01;
268
    
268
    
-
 
269
    /* look only in the workspace */
269
    seeds = findVar(R_SeedsSymbol, R_GlobalEnv);
270
    seeds = findVarInFrame(R_GlobalEnv, R_SeedsSymbol);
270
    if (seeds == R_UnboundValue) {
271
    if (seeds == R_UnboundValue) {
271
	Randomize(RNG_kind);
272
	Randomize(RNG_kind);
272
    }
273
    }
273
    else {
274
    else {
274
	seeds = coerceVector(seeds, INTSXP);
275
	seeds = coerceVector(seeds, INTSXP);
Line 339... Line 340...
339
 
340
 
340
    INTEGER(seeds)[0] = RNG_kind + 100 * N01_kind;
341
    INTEGER(seeds)[0] = RNG_kind + 100 * N01_kind;
341
    for(j = 0; j < len_seed; j++)
342
    for(j = 0; j < len_seed; j++)
342
	INTEGER(seeds)[j+1] = RNG_Table[RNG_kind].i_seed[j];
343
	INTEGER(seeds)[j+1] = RNG_Table[RNG_kind].i_seed[j];
343
 
344
 
-
 
345
    /* assign only in the workspace */
344
    setVar(R_SeedsSymbol, seeds, R_GlobalEnv);
346
    defineVar(R_SeedsSymbol, seeds, R_GlobalEnv);
345
    UNPROTECT(1);
347
    UNPROTECT(1);
346
}
348
}
347
 
349
 
348
static void RNGkind(RNGtype newkind)
350
static void RNGkind(RNGtype newkind)
349
{
351
{