tDictionary.cpp
Engine/source/core/util/tDictionary.cpp
Namespaces:
namespace
Detailed Description
1 2//----------------------------------------------------------------------------- 3// Copyright (c) 2012 GarageGames, LLC 4// 5// Permission is hereby granted, free of charge, to any person obtaining a copy 6// of this software and associated documentation files (the "Software"), to 7// deal in the Software without restriction, including without limitation the 8// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 9// sell copies of the Software, and to permit persons to whom the Software is 10// furnished to do so, subject to the following conditions: 11// 12// The above copyright notice and this permission notice shall be included in 13// all copies or substantial portions of the Software. 14// 15// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 21// IN THE SOFTWARE. 22//----------------------------------------------------------------------------- 23 24#include "core/util/tDictionary.h" 25 26namespace DictHash 27{ 28 29static U32 Primes[] = { 30 53ul, 97ul, 193ul, 389ul, 769ul, 31 1543ul, 3079ul, 6151ul, 12289ul, 24593ul, 32 49157ul, 98317ul, 196613ul, 393241ul, 786433ul, 33 1572869ul, 3145739ul, 6291469ul, 12582917ul, 25165843ul, 34 50331653ul, 100663319ul, 201326611ul, 402653189ul, 805306457ul, 35 1610612741ul, 3221225473ul, 4294967291ul 36}; 37 38U32 nextPrime(U32 size) 39{ 40 U32 len = sizeof(Primes) / sizeof(U32); 41 for(U32 i=0; i<len; i++) 42 if(Primes[i] > size) 43 return Primes[i]; 44 45 return Primes[len-1]; 46} 47 48}; 49