MCPcopy Index your code
hub / github.com/python/cpython / decode_generalized_number

Function decode_generalized_number

Lib/encodings/punycode.py:127–155  ·  view source on GitHub ↗

3.3 Generalized variable-length integers

(extended, extpos, bias, errors)

Source from the content-addressed store, hash-verified

125##################### Decoding #####################################
126
127def decode_generalized_number(extended, extpos, bias, errors):
128 """3.3 Generalized variable-length integers"""
129 result = 0
130 w = 1
131 j = 0
132 while 1:
133 try:
134 char = extended[extpos]
135 except IndexError:
136 if errors == "strict":
137 raise UnicodeDecodeError("punycode", extended, extpos, extpos+1,
138 "incomplete punycode string")
139 return extpos + 1, None
140 extpos += 1
141 if 0x41 <= char <= 0x5A: # A-Z
142 digit = char - 0x41
143 elif 0x30 <= char <= 0x39:
144 digit = char - 22 # 0x30-26
145 elif errors == "strict":
146 raise UnicodeDecodeError("punycode", extended, extpos-1, extpos,
147 f"Invalid extended code point '{extended[extpos-1]}'")
148 else:
149 return extpos, None
150 t = T(j, bias)
151 result += digit * w
152 if digit < t:
153 return extpos, result
154 w = w * (36 - t)
155 j += 1
156
157
158def insertion_sort(base, extended, errors):

Callers 1

insertion_sortFunction · 0.85

Calls 1

TFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…