/// <summary> /// Select axis of maximum spread and test for degenerate data sets. /// </summary> public int Select <T> (KdNode <T> target) where T : IVector { // Use the internal bounds to detect degenerate data sets. IVector diagonal = target.InternalBounds.Diagonal; int max_spread_id = VectorReductions.IndexNormInf(diagonal); // Sanity check for degenerate data-sets if (FloatComparison.CloseZero(diagonal[max_spread_id], FloatComparison.DefaultEps)) { throw new DegenerateDatasetException(); } return(max_spread_id); }
public void TestIndexNormInf() { Vector a = Vector.Create(1.0, 2.0); Assert.AreEqual(1, VectorReductions.IndexNormInf(a)); }