public void SetUp() { Matcher = new NaNConstraint(); GoodValues = new object[] { double.NaN, float.NaN }; BadValues = new object[] { null, "hello", 42, 4.2, 4.2f, 4.2m, double.PositiveInfinity, double.NegativeInfinity, float.PositiveInfinity, float.NegativeInfinity }; Description = "NaN"; }
/// <summary> Calculates an optimal lambda (rigidity) value by the variance of values_ array.</summary> protected double BestRigidityEstimate() { if (!IsInitialized) { return(0); } const double minSmoothParam = 1e-6; const double maxSmoothParam = 1 - 1e-6; if (values_.Length < 1) { return(minSmoothParam); } var sT = new double[values_.Length]; if (values_.Length < 2) { return(minSmoothParam); } for (var i = 0; i < sT.Length - 1; i++) { sT[i] = values_[i + 1] - values_[i]; } var varSt = sT.Variance(); var smoothParameter = 1.0 / (varSt * Math.Pow(sT.Length, 1.0 / 2) + 1); var param = new NaNConstraint(); if ((smoothParameter > 0.1) && _isPca) { smoothParameter /= Math.Sqrt(sT.Length); } if ((param.Matches(smoothParameter)) || smoothParameter > maxSmoothParam) { smoothParameter = minSmoothParam; } return(smoothParameter); }
public void SetUp() { theConstraint = new NaNConstraint(); stringRepresentation = "<nan>"; expectedDescription = "NaN"; }