Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
Fix some bad code
Prevent seed == 0
  • Loading branch information
miputra committed Dec 7, 2021
1 parent 0bb0e3e commit 3fe9767
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 9 deletions.
4 changes: 2 additions & 2 deletions RandEXom/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyVersion("0.1.3.2")]
[assembly: AssemblyFileVersion("0.1.3.2")]
11 changes: 6 additions & 5 deletions RandEXom/SeedLib/IterativeSeedR.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public IterativeSeedR(long ? seed = null)
{
long new_seed = 0;
if (seed == null)
new_seed = long.Parse(
this._seed = long.Parse(
System.DateTime.Now.Millisecond.ToString() +
System.DateTime.Now.Second.ToString() +
System.DateTime.Now.Minute.ToString() +
Expand All @@ -64,11 +64,12 @@ public IterativeSeedR(long ? seed = null)

);
else
new_seed = (long)seed;
this._seed = (long)seed;
Console.WriteLine("init seed = " + new_seed);
Console.WriteLine("init seed = " + this.init);
currentSeed = _seed;
previousSeed = currentSeed;
this.currentSeed = _seed;
this.currentSeed = currentSeed == 0 ? currentSeed + 1 : currentSeed;
this.previousSeed = currentSeed;
}

/// <summary>
Expand Down Expand Up @@ -99,7 +100,7 @@ public virtual void Next()
);
break;
}
currentSeed = currentSeed == 0 ? currentSeed + 1 : currentSeed;
}

}
Expand Down
4 changes: 4 additions & 0 deletions RandEXom/SeedLib/IterativeSeedRCustom.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ public IterativeSeedRCustom(Func<long, long> process, long? seed = null)
else
new_seed = (long)seed;
this._seed = new_seed;
this.currentSeed = _seed;
this.currentSeed = currentSeed == 0 ? currentSeed + 1 : currentSeed;
this.previousSeed = currentSeed;
this.process = process;
}

Expand All @@ -69,6 +72,7 @@ public void Next()
this.previousSeed = currentSeed;

this.currentSeed = process(currentSeed);
currentSeed = currentSeed == 0 ? currentSeed + 1 : currentSeed;
}
}
}
4 changes: 3 additions & 1 deletion RandEXom/SeedLib/LCGSeedR.cs
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ public LCGSeedR(long? seed = null, long a = 1664525, long c = 1013904223, long m
new_seed = (long)seed;
this._seed = new_seed;
this.currentSeed = new_seed;
this.currentSeed = currentSeed == 0 ? currentSeed + 1 : currentSeed;
this.previousSeed = new_seed;
this.a = a;
this.c = c;
Expand Down Expand Up @@ -195,7 +196,8 @@ public LCGSeedR(ParameterTemplate template, long ? seed = null)
public void Next()
{
previousSeed = currentSeed;
currentSeed = (a * currentSeed + c);
currentSeed = (a * currentSeed + c);
currentSeed = currentSeed == 0 ? currentSeed + 1 : currentSeed;
}
}
}
2 changes: 2 additions & 0 deletions RandEXom/SeedLib/SeedR.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,12 @@ public SeedR(long? seed = null)
else
new_seed = (long) seed;
this._seed = new_seed;
this._seed = _seed == 0 ? _seed + 1 : _seed;
}

public virtual void Next()
{
_seed = _seed == 0 ? _seed + 1 : _seed;
}


Expand Down
2 changes: 2 additions & 0 deletions RandEXom/SeedLib/XORShiftSeed.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ public XORShiftSeed(long? seed = null)
new_seed = (long)seed;
this._seed = new_seed;
this.currentSeed = new_seed;
this.currentSeed = currentSeed == 0 ? currentSeed + 1 : currentSeed;
this.previousSeed = new_seed;
//this.m = m;
}
Expand All @@ -60,6 +61,7 @@ public virtual void Next()
c ^= c >> 7;
c ^= c << 17;
currentSeed = unchecked((long)c + long.MinValue);
currentSeed = currentSeed == 0 ? currentSeed + 1 : currentSeed;
}
}
}
3 changes: 2 additions & 1 deletion RandEXom/SeedLib/XORShiftStarSeed.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ public override void Next()
c ^= c << 25; // b
c ^= c >> 27; // c
c = c * 2685821657736338717;
currentSeed = unchecked((long)c + long.MinValue);
this.currentSeed = unchecked((long)c + long.MinValue);
this.currentSeed = currentSeed == 0 ? currentSeed + 1 : currentSeed;
}
}
}

0 comments on commit 3fe9767

Please sign in to comment.