public void TestUncompressedOne() { var q = new SampleStream(Invariants.Targeted(new[] { new QuantileEpsilonPair(0.99d, 0.001d) })); q.InsertRange(new[] { 3.14 }); double g = q.Query(0.90); Assert.Equal(3.14, g); }
public void TestTargetedQuery(double quantile, double epsilon, double[] data) { Array.Sort(data); var targets = new[] { new QuantileEpsilonPair(quantile, epsilon) }; var s = new SampleStream(Invariants.Targeted(targets)); s.InsertRange(data); VerifyPercsWithAbsoluteEpsilon(data, s, targets); }
private static double[] PopulateStream(SampleStream stream, Random random) { var a = new double[100100]; for (int i = 0; i < a.Length; i++) { double v = random.NormDouble(); // Add 5% asymmetric outliers. if (i % 20 == 0) { v = (v * v) + 1; } a[i] = v; } Array.Sort(a); stream.InsertRange(a); return(a); }