Exemplo n.º 1
0
 //
 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);
 }