@@ -337,7 +337,7 @@ public static T[] RandomSubset<T>(this T[] array, int length, int seed = -1, boo
337337 if ( length > array . Length )
338338 throw new ArgumentException ( "The subset length must be less than or equal to the array length." ) ;
339339
340- Random random = seed > 0 ? new Random ( seed ) : new Random ( ) ;
340+ var random = seed > 0 ? new MersenneTwister ( seed ) : new MersenneTwister ( ) ;
341341 var indexes = random . NextIntegers ( 0 , array . Length , length , replace ) ;
342342 var result = new T [ indexes . Length ] ;
343343 for ( int i = 0 ; i < indexes . Length ; i ++ )
@@ -484,7 +484,7 @@ public static void SetColumn<T>(this T[,] array, int index, T[] values)
484484 if ( length > array . GetLength ( 0 ) )
485485 throw new ArgumentException ( "The subset length must be less than or equal to the array length." ) ;
486486
487- Random random = seed > 0 ? new Random ( seed ) : new Random ( ) ;
487+ var random = seed > 0 ? new MersenneTwister ( seed ) : new MersenneTwister ( ) ;
488488 var indexes = random . NextIntegers ( 0 , array . GetLength ( 0 ) , length , replace ) ;
489489 var result = new T [ indexes . Length , array . GetLength ( 1 ) ] ;
490490 for ( int i = 0 ; i < indexes . Length ; i ++ )
@@ -561,7 +561,7 @@ public static Vector RandomSubset(this Vector vector, int length, int seed = -1,
561561 if ( length > vector . Length )
562562 throw new ArgumentException ( "The subset length must be less than or equal to the vector length." ) ;
563563
564- Random random = seed > 0 ? new Random ( seed ) : new Random ( ) ;
564+ var random = seed > 0 ? new MersenneTwister ( seed ) : new MersenneTwister ( ) ;
565565 var indexes = random . NextIntegers ( 0 , vector . Length , length , replace ) ;
566566 var result = new Vector ( indexes . Length ) ;
567567 for ( int i = 0 ; i < indexes . Length ; i ++ )
@@ -687,7 +687,7 @@ public static Matrix RandomSubset(this Matrix matrix, int length, int seed = -1,
687687 if ( length > matrix . NumberOfRows )
688688 throw new ArgumentException ( "The subset length must be less than or equal to the number of rows in the matrix." ) ;
689689
690- Random random = seed > 0 ? new Random ( seed ) : new Random ( ) ;
690+ var random = seed > 0 ? new MersenneTwister ( seed ) : new MersenneTwister ( ) ;
691691 var indexes = random . NextIntegers ( 0 , matrix . NumberOfRows , length , replace ) ;
692692 var result = new Matrix ( indexes . Length , matrix . NumberOfColumns ) ;
693693 for ( int i = 0 ; i < indexes . Length ; i ++ )
0 commit comments