// public int Handle(RationalInfo r) { if (_basis == null) { _basis = new[] { r.rational }; } else { int[] coords = Vectors.FindCoordinates(_basis, r.rational, _vectorLength); if (coords == null) { Array.Resize(ref _basis, _basis.Length + 1); _basis[_basis.Length - 1] = r.rational; } else { r.additionalData = new VectorInfo { organizer = this, coords = coords }; } } // return(1); }