Subversion Repositories cheapmusic

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
93 - 1
<?php namespace Fuse\Bitap;
2
 
3
function pattern_alphabet($pattern)
4
{
5
    $mask = [];
6
    $len = mb_strlen($pattern);
7
 
8
    for ($i = 0; $i < $len; $i++) {
9
        $mask[mb_substr($pattern, $i, 1)] = 0;
10
    }
11
 
12
    for ($i = 0; $i < $len; $i++) {
13
        $mask[mb_substr($pattern, $i, 1)] |= 1 << ($len - $i - 1);
14
    }
15
 
16
    return $mask;
17
}