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

#include <fletcher.hpp>

Öffentliche Methoden

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

Öffentliche Attribute

const uint32_t default_value = 0
 

Ausführliche Beschreibung

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

Dokumentation der Elementfunktionen

◆ get_name()

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

◆ hash()

template<uint32_t T>
uint16_t std::fletcher16< T >::hash ( const void *  data,
size_t  length,
uint32_t  old = 0 
)
inline
68  {
69  uint32_t sum1 = 0xff, sum2 = 0xff;
70  size_t tlen;
71 
72  while (length) {
73  tlen = ((length >= 20) ? 20 : length);
74  length -= tlen;
75  do {
76  sum2 += sum1 += *data++;
77  tlen--;
78  } while (tlen);
79  sum1 = (sum1 & 0xff) + (sum1 >> 8);
80  sum2 = (sum2 & 0xff) + (sum2 >> 8);
81  }
82  sum1 = (sum1 & 0xff) + (sum1 >> 8);
83  sum2 = (sum2 & 0xff) + (sum2 >> 8);
84  return (sum2 << 16) | sum1;
85  }

Dokumentation der Datenelemente

◆ default_value

template<uint32_t T>
const uint32_t std::fletcher16< T >::default_value = 0

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