20 bool isFalse()
const {
return value_ == kFalse; }
22 bool isUndecided()
const {
return value_ == kUndecided; }
24 bool isTrue()
const {
return value_ == kTrue; }
26 friend std::ostream &operator<<(std::ostream &os,
const FuzzyValue &fuzz) {
32 if (fuzz.isUndecided()) {
49 return FuzzyValue(std::min(this->value_, other.value_));
53 return FuzzyValue(std::max(this->value_, other.value_));
56 bool operator==(
FuzzyValue other)
const {
return this->value_ == other.value_; }
58 bool operator!=(
FuzzyValue other)
const {
return this->value_ != other.value_; }
61 static const short kFalse = 0;
62 static const short kUndecided = 1;
63 static const short kTrue = 2;
65 explicit FuzzyValue(
short value) : value_(value){};