File: avx512.py

package info (click to toggle)
simdutf 7.7.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,244 kB
  • sloc: cpp: 60,074; ansic: 14,226; python: 3,364; sh: 321; makefile: 12
file content (76 lines) | stat: -rw-r--r-- 1,969 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
lookup_0 = [0 for i in range(64)]
lookup_1 = [0 for i in range(64)]
for i in range(64):
    lookup_0[i] = 0x80
    lookup_1[i] = 0x80
lookup = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
for i in range(64):
    val = ord(lookup[i])
    bit6 = val & 0x40
    bits05 = val & 0x3f
    if bit6:
        lookup_1[bits05] = i
    else:
        lookup_0[bits05] = i
allowed = "\t\r\n "
for z in allowed:
    lookup_0[ord(z)] = 0xff
def sign8(x):
    if x >= 128:
        return x - 256
    return x
lookup_0.reverse()
lookup_1.reverse()
print("lookup0:")
print(", ".join([str(sign8(i)) for i in lookup_0]))
print("lookup1:")
print(", ".join([str(sign8(i)) for i in lookup_1]))
lookupn = [0 for i in range(64)]
output = 0
for ifrom in range(16):
    lookupn[ifrom*4 + 0] = output + 3
    lookupn[ifrom*4 + 1] = output + 2
    lookupn[ifrom*4 + 2] = output + 1
    lookupn[ifrom*4 + 3] = output + 0
    output += 4
lookupn.reverse()
print("reverse:")
print(", ".join([str(i) for i in lookupn]))

print("====")

lookup_0 = [0 for i in range(64)]
lookup_1 = [0 for i in range(64)]
for i in range(64):
    lookup_0[i] = 0x80
    lookup_1[i] = 0x80
lookup = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
for i in range(64):
    val = ord(lookup[i])
    bit6 = val & 0x40
    bits05 = val & 0x3f
    if bit6:
        lookup_1[bits05] = i
    else:
        lookup_0[bits05] = i
allowed = "\0\t\r\n "
for z in allowed:
    lookup_0[ord(z)] = 0xff

lookup_0.reverse()
lookup_1.reverse()
print("lookup0:")
print(", ".join([str(sign8(i)) for i in lookup_0]))
print("lookup1:")
print(", ".join([str(sign8(i)) for i in lookup_1]))
lookupn = [0 for i in range(64)]
output = 0
for ifrom in range(16):
    lookupn[ifrom*4 + 0] = output + 3
    lookupn[ifrom*4 + 1] = output + 2
    lookupn[ifrom*4 + 2] = output + 1
    lookupn[ifrom*4 + 3] = output + 0
    output += 4
lookupn.reverse()
print("reverse:")
print(", ".join([str(i) for i in lookupn]))