/****************************************************************************** * * Copyright (C) 2014 Google, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ******************************************************************************//* ... */#include<string.h>#include"osi/hash_functions.h"hash_index_thash_function_naive(constvoid*key){return(hash_index_t)key;}{ ... }hash_index_thash_function_integer(constvoid*key){return((hash_index_t)key)*2654435761;}{ ... }hash_index_thash_function_pointer(constvoid*key){return((hash_index_t)key)*2654435761;}{ ... }hash_index_thash_function_string(constvoid*key){hash_index_thash=5381;constchar*name=(constchar*)key;size_tstring_len=strlen(name);for(size_ti=0;i<string_len;++i){hash=((hash<<5)+hash)+name[i];}{...}returnhash;}{ ... }voidhash_function_blob(constunsignedchar*s,unsignedintlen,hash_key_th){size_tj;while(len--){j=sizeof(hash_key_t)-1;while(j){h[j]=((h[j]<<7)|(h[j-1]>>1))+h[j];--j;}{...}h[0]=(h[0]<<7)+h[0]+*s++;}{...}}{ ... }
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.