JNIEXPORT void JNICALL Java_org_simgrid_msg_RngStream_resetStart(JNIEnv *env, jobject jrngstream) { RngStream rngstream = jrngstream_to_native(env, jrngstream); if (!rngstream) return; RngStream_ResetStartStream(rngstream); }
// seed MUST be an array of at least 6 numbers, or you will get a segfault ! VALUE rng_set_seed(VALUE self, VALUE seed) { unsigned long seed_arr[6]; int i; for(i=0 ; i<6 ; i++) { seed_arr[i] = NUM2ULONG(rb_ary_entry(seed, i)); } VALUE stream_ptr = rb_iv_get(self, "@stream_prt"); RngStream stream; Data_Get_Struct(stream_ptr, RngStream, stream); int error = RngStream_SetSeed(stream, seed_arr); if(error) { rb_raise(rb_eArgError, "Invalid seed"); } RngStream_ResetStartStream(stream); return self; }
SEXP R_RngStreams_ResetStartStream (SEXP R_stream) /*----------------------------------------------------------------------*/ /* Reset Stream object. */ /* */ /* parameters: */ /* R_stream ... (pointer) ... pointer the Stream object */ /*----------------------------------------------------------------------*/ { RngStream stream; /* check pointer */ CHECK_STREAM_PTR(R_stream); /* Extract pointer to generator */ stream = R_ExternalPtrAddr(R_stream); CHECK_NULL(stream); /* reset */ RngStream_ResetStartStream(stream); return R_NilValue; } /* end of R_RngStreams_ResetStartStream() */