Increases the precision of the numbers generated from RngStream g
IncreasedPrecis(g,incp)
When called with incp > 0, switches the RngStream to increased precision mode and the generated number will be in increased precision.
To switch the increased precision mode back it is necessary to call this function with incp == 0.
Since Modelica only have one precision for Real numbers, the effect of this function is only to generate alternate random numbers from the ones in the stream.
g2 := CMRG.IncreasedPrecis(g2,1); for i in 1:6 loop (u1[i],g1) := CMRG.RandU01(g1); //(u2[i],g2) := CMRG.RandU01(g2); end for; for i in 1:3 loop (u2[i],g2) := CMRG.RandU01(g2); end for; // u1 = {0.736348,0.970465,0.776025,0.860987,0.803047,0.574409} // u2 = {0.736348, 0.776025, 0.803047}
function IncreasedPrecis input RngStream g "RngStream"; input Integer incp "Increased precission switch"; output RngStream gout "Updated RngStream"; end IncreasedPrecis;