@reversed_processor<EOL><INDENT>def bitwise_not(self):<DEDENT>
splitted_si = self._ssplit()<EOL>if len(splitted_si) == <NUM_LIT:0>:<EOL><INDENT>return StridedInterval.empty(self.bits)<EOL><DEDENT>result_interval = list()<EOL>for si in splitted_si:<EOL><INDENT>lb = ~si.upper_bound<EOL>ub = ~si.lower_bound<EOL>stride = self.stride<EOL>tmp = StridedInterval(bits=self.bits, stride=stride, lower_bound=lb, upper_bound=ub)<EOL>result_interval.append(tmp)<EOL><DEDENT>si = StridedInterval.least_upper_bound(*result_interval).normalize()<EOL>si.uninitialized = self.uninitialized<EOL>return si<EOL>
Unary operation: bitwise not

:return: ~self