src/core/rng-stream.cc
changeset 364 9df87117d468
parent 360 7bffd987426c
child 1020 ebcb38b7ff7d
--- a/src/core/rng-stream.cc	Thu Mar 22 16:02:33 2007 -0400
+++ b/src/core/rng-stream.cc	Thu Mar 22 16:41:01 2007 -0400
@@ -378,6 +378,19 @@
        Cg[i] = Bg[i];
 }
 
+//-------------------------------------------------------------------------
+// Reset Stream to Nth SubStream.
+//
+void RngStream::ResetNthSubstream (uint32_t N)
+{
+   if(N==0) return;
+   for(uint32_t i=0;i<N;++i) {
+      MatVecModM(A1p76, Bg, Bg, m1);
+      MatVecModM(A2p76, &Bg[3], &Bg[3], m2);
+   }
+   for (int i = 0; i < 6; ++i)
+       Cg[i] = Bg[i];
+}
 
 //-------------------------------------------------------------------------
 bool RngStream::SetPackageSeed (const uint32_t seed[6])