<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def sar(self, count):
 """Performs an arithmetic right-shift of a BinWord by the given number of bits. Bits shifted out of the word are lost. The word is filled on the left with copies of the top bit. The shift count can be an arbitrary non-negative number, including counts larger than the word (a word filled with copies of the sign bit is returned in this case). """

        count = operator.index(count)
        if count < 0:
            raise ValueError('negative shift')
        if count > self._width:
            count = self._width
        return BinWord(self._width, self.to_sint() >> count, trunc=True)