This commit is contained in:
CommanderRoot 2024-07-17 10:41:43 +09:00 committed by GitHub
commit 109be25075
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 5 deletions

View File

@ -21,12 +21,12 @@ describe('PolynomialHash', () => {
// Check hashing for different word lengths. // Check hashing for different word lengths.
frameSizes.forEach((frameSize) => { frameSizes.forEach((frameSize) => {
let previousWord = text.substr(0, frameSize); let previousWord = text.slice(0, frameSize);
let previousHash = polynomialHash.hash(previousWord); let previousHash = polynomialHash.hash(previousWord);
// Shift frame through the whole text. // Shift frame through the whole text.
for (let frameShift = 1; frameShift < (text.length - frameSize); frameShift += 1) { for (let frameShift = 1; frameShift < (text.length - frameSize); frameShift += 1) {
const currentWord = text.substr(frameShift, frameSize); const currentWord = text.slice(frameShift, frameShift + frameSize);
const currentHash = polynomialHash.hash(currentWord); const currentHash = polynomialHash.hash(currentWord);
const currentRollingHash = polynomialHash.roll(previousHash, previousWord, currentWord); const currentRollingHash = polynomialHash.roll(previousHash, previousWord, currentWord);

View File

@ -18,12 +18,12 @@ describe('PolynomialHash', () => {
// Check hashing for different word lengths. // Check hashing for different word lengths.
frameSizes.forEach((frameSize) => { frameSizes.forEach((frameSize) => {
let previousWord = text.substr(0, frameSize); let previousWord = text.slice(0, frameSize);
let previousHash = polynomialHash.hash(previousWord); let previousHash = polynomialHash.hash(previousWord);
// Shift frame through the whole text. // Shift frame through the whole text.
for (let frameShift = 1; frameShift < (text.length - frameSize); frameShift += 1) { for (let frameShift = 1; frameShift < (text.length - frameSize); frameShift += 1) {
const currentWord = text.substr(frameShift, frameSize); const currentWord = text.slice(frameShift, frameShift + frameSize);
const currentHash = polynomialHash.hash(currentWord); const currentHash = polynomialHash.hash(currentWord);
const currentRollingHash = polynomialHash.roll(previousHash, previousWord, currentWord); const currentRollingHash = polynomialHash.roll(previousHash, previousWord, currentWord);

View File

@ -32,7 +32,7 @@ export default function rabinKarp(text, word) {
// In case of hash collision the strings may not be equal. // In case of hash collision the strings may not be equal.
if ( if (
wordHash === currentFrameHash wordHash === currentFrameHash
&& text.substr(charIndex, word.length) === word && text.slice(charIndex, charIndex + word.length) === word
) { ) {
return charIndex; return charIndex;
} }