Пример #1
0
    void AddDistance(SolarixGrammarEngineNET.SyntaxTreeNode root, SolarixGrammarEngineNET.SyntaxTreeNode node, int distance)
    {
        WordentryDistance x = new WordentryDistance();

        x.id_entry1 = root.GetEntryID();
        x.id_entry2 = node.GetEntryID();
        if (x.id_entry1 > x.id_entry2)
        {
            x.id_entry2 = root.GetEntryID();
            x.id_entry1 = node.GetEntryID();
        }

        WordentryDistance y;

        if (distance_matrix.TryGetValue(x, out y))
        {
            y.sum_distance  += distance;
            y.sum_distance2 += distance * distance;
            y.N++;
        }
        else
        {
            x.N              = 1;
            x.sum_distance  += distance;
            x.sum_distance2 += distance * distance;
            distance_matrix.Add(x, x);
        }

        return;
    }
Пример #2
0
    public override bool Equals(object obj)
    {
        WordentryDistance y = (WordentryDistance)obj;

        return(id_entry1 == y.id_entry1 && id_entry2 == y.id_entry2);
    }