SNAP Library 6.0, User Reference  2020-12-09 16:24:20
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
TStrHashF_DJB Class Reference

#include <hash.h>

Static Public Member Functions

static int GetPrimHashCd (const char *p)
 
static int GetSecHashCd (const char *p)
 
static int GetPrimHashCd (const TStr &s)
 
static int GetSecHashCd (const TStr &s)
 
static int GetPrimHashCd (const char *p, const ::TSize &Len)
 
static int GetSecHashCd (const char *p, const ::TSize &Len)
 

Static Private Member Functions

static unsigned int DJBHash (const char *Str, const ::TSize &Len)
 

Detailed Description

Definition at line 1244 of file hash.h.

Member Function Documentation

static unsigned int TStrHashF_DJB::DJBHash ( const char *  Str,
const ::TSize Len 
)
inlinestaticprivate

Definition at line 1246 of file hash.h.

1246  {
1247  unsigned int hash = 5381;
1248  for(unsigned int i = 0; i < Len; Str++, i++) {
1249  hash = ((hash << 5) + hash) + (*Str); }
1250  return hash;
1251  }
static int TStrHashF_DJB::GetPrimHashCd ( const char *  p)
inlinestatic

Definition at line 1253 of file hash.h.

1253  {
1254  const char *r = p; while (*r) { r++; }
1255  return (int) DJBHash((const char *) p, r - p) & 0x7fffffff; }
static unsigned int DJBHash(const char *Str, const ::TSize &Len)
Definition: hash.h:1246
static int TStrHashF_DJB::GetPrimHashCd ( const TStr s)
inlinestatic

Definition at line 1259 of file hash.h.

1259  {
1260  return GetPrimHashCd(s.CStr()); }
char * CStr()
Definition: dt.h:479
static int GetPrimHashCd(const char *p)
Definition: hash.h:1253
static int TStrHashF_DJB::GetPrimHashCd ( const char *  p,
const ::TSize Len 
)
inlinestatic

Definition at line 1263 of file hash.h.

1263  {
1264  return (int) DJBHash((const char *) p, Len) & 0x7fffffff; }
static unsigned int DJBHash(const char *Str, const ::TSize &Len)
Definition: hash.h:1246
static int TStrHashF_DJB::GetSecHashCd ( const char *  p)
inlinestatic

Definition at line 1256 of file hash.h.

1256  {
1257  const char *r = p; while (*r) { r++; }
1258  return (int) DJBHash((const char *) p, r - p) & 0x7fffffff; }
static unsigned int DJBHash(const char *Str, const ::TSize &Len)
Definition: hash.h:1246
static int TStrHashF_DJB::GetSecHashCd ( const TStr s)
inlinestatic

Definition at line 1261 of file hash.h.

1261  {
1262  return GetSecHashCd(s.CStr()); }
static int GetSecHashCd(const char *p)
Definition: hash.h:1256
char * CStr()
Definition: dt.h:479
static int TStrHashF_DJB::GetSecHashCd ( const char *  p,
const ::TSize Len 
)
inlinestatic

Definition at line 1265 of file hash.h.

1265  {
1266  return (int) DJBHash((const char *) p, Len) & 0x7fffffff; }
static unsigned int DJBHash(const char *Str, const ::TSize &Len)
Definition: hash.h:1246

The documentation for this class was generated from the following file: