Exemplo n.º 1
0
 public TagAssociation(PairedTag sourceTag, PairedTag targetTag,
                       Core.EditDistance.EditOperation op)
 {
     SourceTag = sourceTag;
     TargetTag = targetTag;
     Operation = op;
 }
Exemplo n.º 2
0
        public void Add(PairedTag srcTag, PairedTag trgTag,
                        Core.EditDistance.EditOperation op)
        {
            System.Diagnostics.Debug.Assert(srcTag != null || trgTag != null);

            if (op == Core.EditDistance.EditOperation.Undefined)
            {
                if (srcTag == null)
                {
                    op = Core.EditDistance.EditOperation.Insert;
                }
                else if (trgTag == null)
                {
                    op = Core.EditDistance.EditOperation.Delete;
                }
                else
                {
                    op = Core.EditDistance.EditOperation.Change;
                }
            }

            int idx = _Associations.Count;

            _Associations.Add(new TagAssociation(srcTag, trgTag, op));

            if (srcTag != null)
            {
                System.Diagnostics.Debug.Assert(srcTag.Start < srcTag.End);
                _SrcPositionIdx.Add(srcTag.Start, idx);
                _SrcPositionIdx.Add(srcTag.End, idx);
            }

            if (trgTag != null)
            {
                System.Diagnostics.Debug.Assert(trgTag.Start < trgTag.End);
                _TrgPositionIdx.Add(trgTag.Start, idx);
                _TrgPositionIdx.Add(trgTag.End, idx);
            }
        }
Exemplo n.º 3
0
 public MatrixItem(double score, Core.EditDistance.EditOperation op, double similarity)
 {
     Score      = score;
     Operation  = op;
     Similarity = similarity;
 }