alternative Standard Libary  0.29.8
std::fletcher32< T > Template-Klassenreferenz

#include <fletcher.hpp>

Öffentliche Methoden

uint32_t hash (const void *data, size_t length, uint32_t old=0)
 
const char * get_name ()
 

Statische öffentliche Attribute

static constexpr uint32_t default_value = 0
 

Ausführliche Beschreibung

template<uint32_t T>
class std::fletcher32< T >

Dokumentation der Elementfunktionen

◆ get_name()

template<uint32_t T>
const char* std::fletcher32< T >::get_name ( )
inline
60 { return "fletcher32"; }

◆ hash()

template<uint32_t T>
uint32_t std::fletcher32< T >::hash ( const void *  data,
size_t  length,
uint32_t  old = 0 
)
inline
42  {
43  uint32_t sum1 = 0xffff, sum2 = 0xffff;
44  size_t tlen;
45 
46  while (length) {
47  tlen = ((length >= 359) ? 359 : length);
48  length -= tlen;
49  do {
50  sum2 += sum1 += *data++;
51  tlen--;
52  } while (tlen);
53  sum1 = (sum1 & 0xffff) + (sum1 >> 16);
54  sum2 = (sum2 & 0xffff) + (sum2 >> 16);
55  }
56  sum1 = (sum1 & 0xffff) + (sum1 >> 16);
57  sum2 = (sum2 & 0xffff) + (sum2 >> 16);
58  return (sum2 << 16) | sum1;
59  }

Dokumentation der Datenelemente

◆ default_value

template<uint32_t T>
constexpr uint32_t std::fletcher32< T >::default_value = 0
static

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: