private static MatchStructure matchViaPhysicalUnits(ExpandedUnit exStart, ExpandedUnit exEnd) { var ms = new MatchStructure(); var mutatingList = new List<Unit>(exEnd.Numerators); foreach (var u in exStart.Numerators) { var u2 = mutatingList.First(unit => unit.ToPhysicalUnit() == u.ToPhysicalUnit()); ms.AddNumeratorPair(u, u2); mutatingList.Remove(u2); } mutatingList = new List<Unit>(exEnd.Denominators); foreach (var u in exStart.Denominators) { var u2 = mutatingList.First(unit => unit.ToPhysicalUnit() == u.ToPhysicalUnit()); ms.AddDenominatorPair(u, u2); mutatingList.Remove(u2); } return ms; }
private static MatchStructure matchViaPhysicalUnits(ExpandedUnit exStart, ExpandedUnit exEnd) { var ms = new MatchStructure(); var mutatingList = new List <Unit>(exEnd.Numerators); foreach (var u in exStart.Numerators) { var u2 = mutatingList.First(unit => unit.ToPhysicalUnit() == u.ToPhysicalUnit()); ms.AddNumeratorPair(u, u2); mutatingList.Remove(u2); } mutatingList = new List <Unit>(exEnd.Denominators); foreach (var u in exStart.Denominators) { var u2 = mutatingList.First(unit => unit.ToPhysicalUnit() == u.ToPhysicalUnit()); ms.AddDenominatorPair(u, u2); mutatingList.Remove(u2); } return(ms); }