mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* string.c (rb_str_hash): Update the HASH_PERL alternative hash
algorithm in sync with Perl 5.8. * st.c (strhash): Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									92160dc6d0
								
							
						
					
					
						commit
						fe85bcd644
					
				
					 3 changed files with 19 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -1,3 +1,10 @@
 | 
			
		|||
Sun Nov  2 01:02:04 2003  Akinori MUSHA  <knu@iDaemons.org>
 | 
			
		||||
 | 
			
		||||
	* string.c (rb_str_hash): Update the HASH_PERL alternative hash
 | 
			
		||||
	  algorithm in sync with Perl 5.8.
 | 
			
		||||
 | 
			
		||||
	* st.c (strhash): Ditto.
 | 
			
		||||
 | 
			
		||||
Sat Nov  1 18:21:09 2003 GOTOU Yuuzou  <gotoyuzo@notwork.org>
 | 
			
		||||
 | 
			
		||||
	* ext/openssl/ossl_ssl.c (ossl_ssl_peer_cert_chain): add new method
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										8
									
								
								st.c
									
										
									
									
									
								
							
							
						
						
									
										8
									
								
								st.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -536,10 +536,14 @@ strhash(string)
 | 
			
		|||
    register int val = 0;
 | 
			
		||||
 | 
			
		||||
    while ((c = *string++) != '\0') {
 | 
			
		||||
	val = val*33 + c;
 | 
			
		||||
	val += c;
 | 
			
		||||
	val += (val << 10);
 | 
			
		||||
	val ^= (val >> 6);
 | 
			
		||||
    }
 | 
			
		||||
    val += (val << 3);
 | 
			
		||||
    val ^= (val >> 11);
 | 
			
		||||
 | 
			
		||||
    return val + (val>>5);
 | 
			
		||||
    return val + (val << 15);
 | 
			
		||||
#else
 | 
			
		||||
    register int val = 0;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										8
									
								
								string.c
									
										
									
									
									
								
							
							
						
						
									
										8
									
								
								string.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -744,9 +744,13 @@ rb_str_hash(str)
 | 
			
		|||
    }
 | 
			
		||||
#elif HASH_PERL
 | 
			
		||||
    while (len--) {
 | 
			
		||||
	key = key*33 + *p++;
 | 
			
		||||
	key += *p++;
 | 
			
		||||
	key += (key << 10);
 | 
			
		||||
	key ^= (key >> 6);
 | 
			
		||||
    }
 | 
			
		||||
    key = key + (key>>5);
 | 
			
		||||
    key += (key << 3);
 | 
			
		||||
    key ^= (key >> 11);
 | 
			
		||||
    key += (key << 15);
 | 
			
		||||
#else
 | 
			
		||||
    while (len--) {
 | 
			
		||||
	key = key*65599 + *p;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue