Changeset 4722 for trunk/sources/HeuristicLab.Random/3.3/MersenneTwister.cs
- Timestamp:
- 11/06/10 01:56:04 (13 years ago)
- Location:
- trunk/sources
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources
- Property svn:mergeinfo changed
/branches/CloningRefactoring (added) merged: 4656-4693,4696-4697,4711-4714,4718-4719
- Property svn:mergeinfo changed
-
trunk/sources/HeuristicLab.Random/3.3/MersenneTwister.cs
r4477 r4722 55 55 56 56 /// <summary> 57 /// Used by HeuristicLab.Persistence to initialize new instances during deserialization. 58 /// </summary> 59 /// <param name="deserializing">true, if the constructor is called during deserialization.</param> 60 [StorableConstructor] 61 private MersenneTwister(bool deserializing) : base(deserializing) { } 62 /// <summary> 63 /// Initializes a new instance from an existing one (copy constructor). 64 /// </summary> 65 /// <param name="original">The original <see cref="MersenneTwister"/> instance which is used to initialize the new instance.</param> 66 /// <param name="cloner">A <see cref="Cloner"/> which is used to track all already cloned objects in order to avoid cycles.</param> 67 private MersenneTwister(MersenneTwister original, Cloner cloner) 68 : base(original, cloner) { 69 state = (uint[])original.state.Clone(); 70 p = original.p; 71 init = original.init; 72 } 73 /// <summary> 57 74 /// Initializes a new instance of <see cref="MersenneTwister"/>. 58 75 /// </summary> … … 78 95 init = true; 79 96 } 80 /// <summary>81 /// Used by HeuristicLab.Persistence to initialize new instances during deserialization.82 /// </summary>83 /// <param name="deserializing">true, if the constructor is called during deserialization.</param>84 [StorableConstructor]85 private MersenneTwister(bool deserializing) : base(deserializing) { }86 97 87 98 /// <summary> … … 91 102 /// <returns>The cloned object as <see cref="MersenneTwister"/>.</returns> 92 103 public override IDeepCloneable Clone(Cloner cloner) { 93 MersenneTwister clone = (MersenneTwister)base.Clone(cloner); 94 clone.state = (uint[])state.Clone(); 95 clone.p = p; 96 clone.init = init; 97 return clone; 104 return new MersenneTwister(this, cloner); 98 105 } 99 106
Note: See TracChangeset
for help on using the changeset viewer.