FNV-1 on HSP (ハッシュ関数)

http://wowdev.jp/?p=873
からお借りしてHSPに移植しました。

http://wowdev.jp/?p=873
からお借りしてHSPに移植しました。

// http://wowdev.jp/?p=873
// https://qiita.com/Ushio/items/a19083514d087a57fc72
/**
 * FNV Constants
 */
#module FNV
	#const FNV_OFFSET_BASIS_32 2166136261
	#const FNV_PRIME_32 16777619
	/**
	 * FNV Hash Algorithm
	 */
	#defcfunc fnv_1_hash_32 str _bytes

		bytes = _bytes
		hash = FNV_OFFSET_BASIS_32
		repeat strlen(bytes)
			hash = (FNV_PRIME_32 * hash) ^ peek(bytes, cnt)
		loop
	
	return double(strf("%u",hash))
#global