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);
}
Example #2
0
// 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;
}
Example #3
0
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() */