note 25852 added to function.is-bool
| From: | joeldg at rack1 dot php dot net | Date: | Tue, 08 Oct 2002 23:09:31 +0000 |
| Subject: | note 25852 added to function.is-bool | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-37818@lists.php.net to get a copy of this message | ||
# basic fuzzy logic..
# extends out our boolean logic further...
#
# truth(not x) = 1.0 - truth(x)
# truth(x and y) = minimum (truth(x), truth(y))
# truth(x or y) = maximum (truth(x), truth(y))
# uncomment below to test.
/*
$fz1 = 0.5; // 0.5 start
$fz2 = fuzz(fuzz($fz1, 0.4, "&") , fuzz(0.45, "", "|"),
"&");// 0.45
$fz3 = fuzz(fuzz($fz2, $fz2, "!"), $fz2, "|");// 0.55
$fz4 = fuzz(fuzz($fz1, $fz1, "!"), $fz2, "-"); // 0.95
$bl5 = fuzz ($fz3, $fz2); // false
$bl6 = fuzz ($fz2, $fz3);// true
echo "fz1 = " .$fz1 . "<br>";
echo "fz2 = " .$fz2 . "<br>";
echo "fz3 = " .$fz3 . "<br>";
echo "fz4 = " .$fz4 . "<br>";
echo "bl5 = " . (($bl5) ? "true" : "false") ."<br>";
echo "bl6 = " . (($bl6) ? "true" : "false");
*/
function fuzmin($a, $b){
return (($a < $b) ? $a : $b);
}// end function
function fuzmax($a, $b){
return (($a > $b) ? $a : $b);
}// end function
function fuzz($a, $b=0, $op=""){
switch ($op){
case "|":
return ($a > $b) ? $a : $b;
break;
case "&":
return ($a < $b) ? $a : $b;
break;
case "!":
return 1 - $a;
break;
case "+":
return $a+$b;
break;
case "-":
return $a-$b;
case "*":
return $a*$b;
case "/":
return $a/$b;
default :
return ($a <= $b);
}//case
}//function
--
http://www.php.net/manual/en/function.is-bool.php
http://master.php.net/manage/user-notes.php?action=edit+25852
http://master.php.net/manage/user-notes.php?action=delete+25852
http://master.php.net/manage/user-notes.php?action=reject+25852