public function isBetterThanOrEqualTo(State $other) { $mySize = $this->bitCount + (DynamicDataEncoder::getLatch($this->getMode(), $other->getMode()) >> 16); if ($other->getBinaryShiftByteCount() > 0 && ($this->getBinaryShiftByteCount() == 0 || $this->getBinaryShiftByteCount() > $other->getBinaryShiftByteCount())) { $mySize += 10; } return $mySize <= $other->getBitCount(); }