(element)
| 40 | |
| 41 | |
| 42 | def decode_num(element): |
| 43 | if element == b'': |
| 44 | return 0 |
| 45 | # reverse for big endian |
| 46 | big_endian = element[::-1] |
| 47 | # top bit being 1 means it's negative |
| 48 | if big_endian[0] & 0x80: |
| 49 | negative = True |
| 50 | result = big_endian[0] & 0x7f |
| 51 | else: |
| 52 | negative = False |
| 53 | result = big_endian[0] |
| 54 | for c in big_endian[1:]: |
| 55 | result <<= 8 |
| 56 | result += c |
| 57 | if negative: |
| 58 | return -result |
| 59 | else: |
| 60 | return result |
| 61 | |
| 62 | |
| 63 | def op_0(stack): |
no outgoing calls