Simplify LanguageNameSearch code
A more efficient "startsWith" lookup. And simplifying redundant modulo code. Change-Id: I87ab0ff70d26fc058fc40bd20745b9b6effb7ddd
This commit is contained in:
@@ -42,11 +42,9 @@ class LanguageNameSearch {
|
|||||||
$results = array();
|
$results = array();
|
||||||
foreach ( $bucket as $name => $code ) {
|
foreach ( $bucket as $name => $code ) {
|
||||||
// Prefix search
|
// Prefix search
|
||||||
if ( strpos( $name, $searchKey, 0 ) === 0 ) {
|
if ( strrpos( $name, $searchKey, -strlen( $name ) ) !== false
|
||||||
$results[$code] = $name;
|
|| ( $typos > 0 && self::levenshteinDistance( $name, $searchKey ) <= $typos )
|
||||||
continue;
|
) {
|
||||||
}
|
|
||||||
if ( $typos > 0 && self::levenshteinDistance( $name, $searchKey ) === $typos ) {
|
|
||||||
$results[$code] = $name;
|
$results[$code] = $name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -55,14 +53,7 @@ class LanguageNameSearch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static function getIndex( $name ) {
|
public static function getIndex( $name ) {
|
||||||
$codepoint = self::getCodepoint( $name );
|
return self::getCodepoint( $name ) % 1000;
|
||||||
if ( $codepoint < 1000 ) {
|
|
||||||
$bucket = $codepoint;
|
|
||||||
} else {
|
|
||||||
$bucket = $codepoint % 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $bucket;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user