1234567891011121314151617181920212223242526 |
- function hex2int(str, i) {
- str = tolower(str)
- for (i = 1; i <= 16; i++) {
- char = substr("0123456789abcdef", i, 1)
- lookup[char] = i-1
- }
- result = 0
- for (i = 1; i <= length(str); i++) {
- result = result * 16
- char = substr(str, i, 1)
- result = result + lookup[char]
- }
- return result
- }
- function parse_const(str) {
- sign = sub(/^-/, "", str)
- hex = sub(/^0x/, "", str)
- if (hex)
- n = hex2int(str)
- else
- n = str+0
- return sign ? -n : n
- }
|