Browse Source

changed the count type from int to unlong to help prevent overflow

la-knuth
Marcus Cuda 17 years ago
parent
commit
a2464408d5
  1. 20
      src/Numerics/Statistics/Statistics.cs

20
src/Numerics/Statistics/Statistics.cs

@ -50,7 +50,7 @@ namespace MathNet.Numerics.Statistics
} }
double mean = 0; double mean = 0;
int m = 0; ulong m = 0;
foreach (var item in data) foreach (var item in data)
{ {
mean += (item - mean) / ++m; mean += (item - mean) / ++m;
@ -72,7 +72,7 @@ namespace MathNet.Numerics.Statistics
} }
double mean = 0; double mean = 0;
int m = 0; ulong m = 0;
foreach (var item in data) foreach (var item in data)
{ {
if (item.HasValue) if (item.HasValue)
@ -98,7 +98,7 @@ namespace MathNet.Numerics.Statistics
double variance = 0; double variance = 0;
double t = 0; double t = 0;
int j = 0; ulong j = 0;
IEnumerator<double> iterator = data.GetEnumerator(); IEnumerator<double> iterator = data.GetEnumerator();
if (iterator.MoveNext()) if (iterator.MoveNext())
@ -133,7 +133,7 @@ namespace MathNet.Numerics.Statistics
double variance = 0; double variance = 0;
double t = 0; double t = 0;
int j = 0; ulong j = 0;
IEnumerator<double?> iterator = data.GetEnumerator(); IEnumerator<double?> iterator = data.GetEnumerator();
@ -182,7 +182,7 @@ namespace MathNet.Numerics.Statistics
double variance = 0; double variance = 0;
double t = 0; double t = 0;
int j = 0; ulong j = 0;
IEnumerator<double> iterator = data.GetEnumerator(); IEnumerator<double> iterator = data.GetEnumerator();
if (iterator.MoveNext()) if (iterator.MoveNext())
@ -217,7 +217,7 @@ namespace MathNet.Numerics.Statistics
double variance = 0; double variance = 0;
double t = 0; double t = 0;
int j = 0; ulong j = 0;
IEnumerator<double?> iterator = data.GetEnumerator(); IEnumerator<double?> iterator = data.GetEnumerator();
@ -325,7 +325,7 @@ namespace MathNet.Numerics.Statistics
} }
double min = double.MaxValue; double min = double.MaxValue;
int count = 0; ulong count = 0;
foreach (double? d in data) foreach (double? d in data)
{ {
if (d.HasValue) if (d.HasValue)
@ -356,7 +356,7 @@ namespace MathNet.Numerics.Statistics
} }
double max = double.MinValue; double max = double.MinValue;
int count = 0; ulong count = 0;
foreach (double? d in data) foreach (double? d in data)
{ {
if (d.HasValue) if (d.HasValue)
@ -387,7 +387,7 @@ namespace MathNet.Numerics.Statistics
} }
double min = double.MaxValue; double min = double.MaxValue;
int count = 0; ulong count = 0;
foreach (double d in data) foreach (double d in data)
{ {
min = Math.Min(min, d); min = Math.Min(min, d);
@ -415,7 +415,7 @@ namespace MathNet.Numerics.Statistics
} }
double max = double.MinValue; double max = double.MinValue;
int count = 0; ulong count = 0;
foreach (double d in data) foreach (double d in data)
{ {
max = Math.Max(max, d); max = Math.Max(max, d);

Loading…
Cancel
Save