Алго ELFhash

insidex

флихтэръер
Алго ELFhash

Приветствую. У меня 2 вопроса,

1) Реально ли портировать сей код на php

Код:
unsigned int ELFHash(const std::string& str)
{
   unsigned int hash = 0;
   unsigned int x    = 0;

   for(std::size_t i = 0; i < str.length(); i++)
   {
      hash = (hash << 4) + str[i];
      if((x = hash & 0xF0000000L) != 0)
      {
         hash ^= (x >> 24);
      }
      hash &= ~x;
   }

   return hash;
}
p.s.

PHP:
function ELFhash($str){
 $hash=0;                   
 $x=0;
 for($i=0;$i<strlen($str);$i++){
    $hash = ($hash << 4) + ord($str[$i]);
    if(($x = $hash & 0xF0000000) != 0){
        $hash ^= ($x >> 24);
    }
    $hash &=~$x;      
 }       
 return $hash;   
}
врет при большом ключе.

2) Целесообразно ли вшивать эту функцию через SAPI ?
 

tony2001

TeaM PHPClub
"врет" == ?
а, хехехе..
ну да, в C++ у тебя unsigned, а здесь signed.

>2) Целесообразно ли вшивать эту функцию через SAPI ?
не понял вопроса.
"вшивать"? причем тут Server API?

-~{}~ 22.05.07 23:59:

да, Pingvin22 прав.
 

insidex

флихтэръер
tony2001
Нечетко выразился, имел ввиду написания расширения на Цэ для php.


Pingvin22
Про GMP я слышал, проблема, что оно не везде есть.
 

tony2001

TeaM PHPClub
если есть возможность подключить свой экстеншен, то с GMP проблем не будет уж точно.
 
Сверху