@@ -10,20 +10,15 @@ fn bitset_search<
10
10
> (
11
11
needle : u32 ,
12
12
chunk_idx_map : & [ u8 ; N ] ,
13
- last_chunk_idx : u16 ,
14
13
bitset_chunk_idx : & [ [ u8 ; CHUNK_SIZE ] ; N1 ] ,
15
14
bitset_canonical : & [ u64 ; CANONICAL ] ,
16
15
bitset_canonicalized : & [ ( u8 , u8 ) ; CANONICALIZED ] ,
17
16
) -> bool {
18
17
let bucket_idx = ( needle / 64 ) as usize ;
19
18
let chunk_map_idx = bucket_idx / CHUNK_SIZE ;
20
19
let chunk_piece = bucket_idx % CHUNK_SIZE ;
21
- // The last entry of `chunk_idx_map` actually should be at `last_chunk_idx`,
22
- // so we need to remap it
23
- let chunk_idx = if chunk_map_idx < ( chunk_idx_map. len ( ) - 1 ) {
24
- chunk_idx_map[ chunk_map_idx]
25
- } else if chunk_map_idx == last_chunk_idx as usize {
26
- chunk_idx_map[ chunk_idx_map. len ( ) - 1 ]
20
+ let chunk_idx = if let Some ( & v) = chunk_idx_map. get ( chunk_map_idx) {
21
+ v
27
22
} else {
28
23
return false ;
29
24
} ;
@@ -317,12 +312,12 @@ pub mod grapheme_extend {
317
312
318
313
#[ rustfmt:: skip]
319
314
pub mod lowercase {
320
- const BITSET_LAST_CHUNK_MAP : u16 = 122 ;
321
- static BITSET_CHUNKS_MAP : [ u8 ; 119 ] = [
315
+ static BITSET_CHUNKS_MAP : [ u8 ; 123 ] = [
322
316
13 , 16 , 0 , 0 , 8 , 0 , 0 , 11 , 12 , 9 , 0 , 15 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
323
317
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 5 , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
324
318
0 , 0 , 3 , 1 , 0 , 14 , 0 , 7 , 0 , 0 , 10 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
325
- 0 , 4 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 17 , 6 ,
319
+ 0 , 4 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 17 , 0 , 0 ,
320
+ 0 , 0 , 6 ,
326
321
] ;
327
322
static BITSET_INDEX_CHUNKS : [ [ u8 ; 16 ] ; 18 ] = [
328
323
[ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
@@ -408,7 +403,6 @@ pub mod lowercase {
408
403
super :: bitset_search (
409
404
c as u32 ,
410
405
& BITSET_CHUNKS_MAP ,
411
- BITSET_LAST_CHUNK_MAP ,
412
406
& BITSET_INDEX_CHUNKS ,
413
407
& BITSET_CANONICAL ,
414
408
& BITSET_MAPPING ,
@@ -449,13 +443,12 @@ pub mod n {
449
443
450
444
#[ rustfmt:: skip]
451
445
pub mod uppercase {
452
- const BITSET_LAST_CHUNK_MAP : u16 = 124 ;
453
- static BITSET_CHUNKS_MAP : [ u8 ; 124 ] = [
446
+ static BITSET_CHUNKS_MAP : [ u8 ; 125 ] = [
454
447
12 , 15 , 5 , 5 , 0 , 5 , 5 , 2 , 4 , 11 , 5 , 14 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 ,
455
448
5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 8 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 ,
456
449
5 , 5 , 5 , 6 , 5 , 13 , 5 , 10 , 5 , 5 , 1 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 ,
457
450
5 , 7 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 16 , 5 , 5 ,
458
- 5 , 5 , 9 , 3 ,
451
+ 5 , 5 , 9 , 5 , 3 ,
459
452
] ;
460
453
static BITSET_INDEX_CHUNKS : [ [ u8 ; 16 ] ; 17 ] = [
461
454
[ 41 , 41 , 5 , 33 , 41 , 41 , 41 , 41 , 41 , 41 , 41 , 41 , 41 , 41 , 5 , 0 ] ,
@@ -529,7 +522,6 @@ pub mod uppercase {
529
522
super :: bitset_search (
530
523
c as u32 ,
531
524
& BITSET_CHUNKS_MAP ,
532
- BITSET_LAST_CHUNK_MAP ,
533
525
& BITSET_INDEX_CHUNKS ,
534
526
& BITSET_CANONICAL ,
535
527
& BITSET_MAPPING ,
0 commit comments