File: insert_string_roll.c

package info (click to toggle)
node-yarnpkg 4.1.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 24,752 kB
  • sloc: javascript: 38,953; ansic: 26,035; cpp: 7,247; sh: 2,829; makefile: 724; perl: 493
file content (24 lines) | stat: -rw-r--r-- 733 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* insert_string_roll.c -- insert_string rolling hash variant
 *
 * Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler
 * For conditions of distribution and use, see copyright notice in zlib.h
 *
 */

#include "zbuild.h"
#include "deflate.h"

#define HASH_SLIDE           5

#define HASH_CALC(h, val)    h = ((h << HASH_SLIDE) ^ ((uint8_t)val))
#define HASH_CALC_VAR        s->ins_h
#define HASH_CALC_VAR_INIT
#define HASH_CALC_READ       val = strstart[0]
#define HASH_CALC_MASK       (32768u - 1u)
#define HASH_CALC_OFFSET     (STD_MIN_MATCH-1)

#define UPDATE_HASH          update_hash_roll
#define INSERT_STRING        insert_string_roll
#define QUICK_INSERT_STRING  quick_insert_string_roll

#include "insert_string_tpl.h"