version 1.99, 2006/01/10 21:41:29
|
version 1.99.2.1, 2006/02/23 08:38:54
|
Line 318 sub loadmap {
|
Line 318 sub loadmap {
|
|
|
sub simplify { |
sub simplify { |
my $expression=shift; |
my $expression=shift; |
|
# (0&1) = 1 |
|
$expression=~s/\(0\&(\d+)\)/$1/g; |
# (8)=8 |
# (8)=8 |
$expression=~s/\((\d+)\)/$1/g; |
$expression=~s/\((\d+)\)/$1/g; |
# 8&8=8 |
# 8&8=8 |
Line 327 sub simplify {
|
Line 329 sub simplify {
|
# (5&3)&4=5&3&4 |
# (5&3)&4=5&3&4 |
$expression=~s/\((\d+)((?:\&\d+)+)\)\&(\d+\D)/$1$2\&$3/g; |
$expression=~s/\((\d+)((?:\&\d+)+)\)\&(\d+\D)/$1$2\&$3/g; |
# (((5&3)|(4&6)))=((5&3)|(4&6)) |
# (((5&3)|(4&6)))=((5&3)|(4&6)) |
$expression=~ |
# $expression=~ |
s/\((\(\(\d+(?:\&\d+)*\)(?:\|\(\d+(?:\&\d+)*\))+\))\)/$1/g; |
# s/\((\(\(\d+(?:\&\d+)*\)(?:\|\(\d+(?:\&\d+)*\))+\))\)/$1/g; |
# ((5&3)|(4&6))|(1&2)=(5&3)|(4&6)|(1&2) |
# ((5&3)|(4&6))|(1&2)=(5&3)|(4&6)|(1&2) |
$expression=~ |
$expression=~ |
s/\((\(\d+(?:\&\d+)*\))((?:\|\(\d+(?:\&\d+)*\))+)\)\|(\(\d+(?:\&\d+)*\))/\($1$2\|$3\)/g; |
s/\((\(\d+(?:\&\d+)*\))((?:\|\(\d+(?:\&\d+)*\))+)\)\|(\(\d+(?:\&\d+)*\))/\($1$2\|$3\)/g; |