mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-05 23:25:30 +02:00
Shifting bits appears to be faster than the pow() function
git-svn-id: file:///svn/phpbb/trunk@4190 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
03d46951b2
commit
b59698aa10
@ -35,18 +35,18 @@ class bbcode
|
||||
}
|
||||
}
|
||||
|
||||
function bbcode_second_pass(&$message, $bbcode_uid = '', $bbcode_bitfield = '')
|
||||
function bbcode_second_pass(&$message, $bbcode_uid = '', $bbcode_bitfield = FALSE)
|
||||
{
|
||||
if ($bbcode_uid)
|
||||
{
|
||||
$this->bbcode_uid = $bbcode_uid;
|
||||
}
|
||||
|
||||
if ($bbcode_bitfield)
|
||||
if ($bbcode_bitfield !== FALSE)
|
||||
{
|
||||
$this->bbcode_bitfield = $bbcode_bitfield;
|
||||
}
|
||||
elseif (!$this->bbcode_bitfield)
|
||||
if (!$this->bbcode_bitfield)
|
||||
{
|
||||
return $message;
|
||||
}
|
||||
@ -62,7 +62,7 @@ class bbcode
|
||||
$bitlen = strlen(decbin($this->bbcode_bitfield));
|
||||
for ($bbcode_id = 0; $bbcode_id < $bitlen; ++$bbcode_id)
|
||||
{
|
||||
if ($this->bbcode_bitfield & pow(2, $bbcode_id))
|
||||
if ($this->bbcode_bitfield & (1 << $bbcode_id))
|
||||
{
|
||||
foreach ($this->bbcode_cache[$bbcode_id] as $type => $array)
|
||||
{
|
||||
@ -105,7 +105,7 @@ class bbcode
|
||||
|
||||
for ($bbcode_id = 0; $bbcode_id < $bitlen; ++$bbcode_id)
|
||||
{
|
||||
if (isset($this->bbcode_cache[$bbcode_id]) || !($this->bbcode_bitfield & pow(2, $bbcode_id)))
|
||||
if (isset($this->bbcode_cache[$bbcode_id]) || !($this->bbcode_bitfield & (1 << $bbcode_id)))
|
||||
{
|
||||
// do not try to re-cache it if it's already in
|
||||
continue;
|
||||
@ -276,7 +276,7 @@ class bbcode
|
||||
);
|
||||
}
|
||||
|
||||
if ($bbcode_id != -1 && !($user->theme['bbcode_bitfield'] & pow(2, $bbcode_id)))
|
||||
if ($bbcode_id != -1 && !($user->theme['bbcode_bitfield'] & (1 << $bbcode_id)))
|
||||
{
|
||||
return $bbcode_hardtpl[$tpl_name];
|
||||
}
|
||||
|
@ -180,12 +180,6 @@ class parse_message
|
||||
foreach ($bbcode_data['regexp'] as $regexp => $replacement)
|
||||
{
|
||||
$this->message = preg_replace($regexp, $replacement, $this->message);
|
||||
|
||||
if (is_array($this->message))
|
||||
{
|
||||
$this->warn_msg[] = $this->message['error_msg'];
|
||||
$this->message = $this->message['message'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -193,7 +187,7 @@ class parse_message
|
||||
$new_size = strlen($this->message);
|
||||
if ($size != $new_size)
|
||||
{
|
||||
$this->bbcode_bitfield += pow(2, $bbcode_data['bbcode_id']);
|
||||
$this->bbcode_bitfield |= (1 << $bbcode_data['bbcode_id']);
|
||||
$size = $new_size;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user