diff options
| author | Oswald Buddenhagen <[email protected]> | 2013-03-07 19:22:06 +0100 |
|---|---|---|
| committer | Simon Hausmann <[email protected]> | 2015-10-22 19:40:09 +0000 |
| commit | f343989852b555fd960f5eaae51ece1423ba4373 (patch) | |
| tree | e1333d22519c72f0fa4759f9a5dc010bf8969bbe /src/tools/qdoc/editdistance.cpp | |
| parent | a903ddd8dc806b51c21c84965611880a25037562 (diff) | |
qdoc is moving back to qttools
Change-Id: Icb5abd32a1cbc3e8d876341c877e8d2a963c0e25
Reviewed-by: Frederik Gladhorn <[email protected]>
Reviewed-by: Topi Reiniƶ <[email protected]>
Diffstat (limited to 'src/tools/qdoc/editdistance.cpp')
| -rw-r--r-- | src/tools/qdoc/editdistance.cpp | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/src/tools/qdoc/editdistance.cpp b/src/tools/qdoc/editdistance.cpp deleted file mode 100644 index c3336d2ab5d..00000000000 --- a/src/tools/qdoc/editdistance.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the tools applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL21$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 or version 3 as published by the Free -** Software Foundation and appearing in the file LICENSE.LGPLv21 and -** LICENSE.LGPLv3 included in the packaging of this file. Please review the -** following information to ensure the GNU Lesser General Public License -** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** As a special exception, The Qt Company gives you certain additional -** rights. These rights are described in The Qt Company LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/* - editdistance.cpp -*/ - -#include "editdistance.h" - -QT_BEGIN_NAMESPACE - -int editDistance( const QString& s, const QString& t ) -{ -#define D( i, j ) d[(i) * n + (j)] - int i; - int j; - int m = s.length() + 1; - int n = t.length() + 1; - int *d = new int[m * n]; - int result; - - for ( i = 0; i < m; i++ ) - D( i, 0 ) = i; - for ( j = 0; j < n; j++ ) - D( 0, j ) = j; - for ( i = 1; i < m; i++ ) { - for ( j = 1; j < n; j++ ) { - if ( s[i - 1] == t[j - 1] ) { - D( i, j ) = D( i - 1, j - 1 ); - } else { - int x = D( i - 1, j ); - int y = D( i - 1, j - 1 ); - int z = D( i, j - 1 ); - D( i, j ) = 1 + qMin( qMin(x, y), z ); - } - } - } - result = D( m - 1, n - 1 ); - delete[] d; - return result; -#undef D -} - -QString nearestName( const QString& actual, const QSet<QString>& candidates ) -{ - if (actual.isEmpty()) - return QString(); - - int deltaBest = 10000; - int numBest = 0; - QString best; - - QSet<QString>::ConstIterator c = candidates.constBegin(); - while ( c != candidates.constEnd() ) { - if ( (*c)[0] == actual[0] ) { - int delta = editDistance( actual, *c ); - if ( delta < deltaBest ) { - deltaBest = delta; - numBest = 1; - best = *c; - } else if ( delta == deltaBest ) { - numBest++; - } - } - ++c; - } - - if ( numBest == 1 && deltaBest <= 2 && - actual.length() + best.length() >= 5 ) { - return best; - } else { - return QString(); - } -} - -QT_END_NAMESPACE |
