Ejemplo n.º 1
0
 public SoundCorrespondenceSurrogate(Dictionary<WordPair, WordPairSurrogate> wordPairSurrogates, SoundCorrespondence corr)
 {
     Segment1 = corr.Segment1.StrRep;
     Segment2 = corr.Segment2.StrRep;
     Frequency = corr.Frequency;
     _wordPairs = corr.WordPairs.Select(wp => wordPairSurrogates[wp]).ToList();
 }
Ejemplo n.º 2
0
 public SoundCorrespondence ToSoundCorrespondence(SegmentPool segmentPool, Dictionary<WordPairSurrogate, WordPair> wordPairs)
 {
     var corr = new SoundCorrespondence(segmentPool.GetExisting(Segment1), segmentPool.GetExisting(Segment2)) {Frequency = Frequency};
     corr.WordPairs.AddRange(_wordPairs.Select(wps => wordPairs[wps]));
     return corr;
 }
Ejemplo n.º 3
0
		public bool TryGet(Segment seg1, Segment seg2, out SoundCorrespondence value)
		{
			return TryGet(UnorderedTuple.Create(seg1, seg2), out value);
		}
Ejemplo n.º 4
0
		protected override UnorderedTuple<Segment, Segment> GetKeyForItem(SoundCorrespondence item)
		{
			return UnorderedTuple.Create(item.Segment1, item.Segment2);
		}
Ejemplo n.º 5
0
        private static int AddEdge(Dictionary<UnorderedTuple<object, object>, GlobalCorrespondencesGraphEdge> edges, SoundCorrespondence corr,
			object key1, GlobalSegmentVertex vertex1, object key2, GlobalSegmentVertex vertex2)
        {
            GlobalCorrespondencesGraphEdge edge = edges.GetValue(UnorderedTuple.Create(key1, key2), () => new GlobalCorrespondencesGraphEdge(vertex1, vertex2));
            edge.Frequency += corr.Frequency;
            edge.DomainWordPairs.AddRange(corr.WordPairs);
            return edge.Frequency;
        }