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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
end
--~ 卡对
function d.卡对消重(u1, u1_0)
return u1_0.name, true
end
--~ 卡对排
function d.荐名(u1_0)
local k1, k2
local h1_0
--~ 攻击力排
h1_0 = 历排库.历排(u1_0, 筛卡库.筛怪兽卡)
h1_0 = 历排库.历排(h1_0, 筛卡库.筛攻击力)
if h1_0[1] then
--~ 攻击力均差阶
k1 = 排算库.均差(h1_0)
if k1 > 0 then
--~ 补值
k2 = 数库.指数(100, 基算库.除法(k1, 300))
k1 = 基算库.除法(基算库.加法(k1, k2), 100)
if k1 > 1 then
k1 = 数库.指数次(k1, 2)
return 数库.向下取整(k1)
else
return 0
end
else
return 0
end
else
return 0
end
end
--~ 卡对排
function d.荐名(u1_0)
local k1
--~ 名
k1 = d.荐字段名(u1_0)
if k1 then
else
k1 = d.荐卡名(u1_0)
end
if k1 then
return k1
else
return "请便"
end
end
--~ 卡对排
function d.荐卡名(u1_0)
local h1_0
--~ 卡名排
h1_0 = 历排库.历排(u1_0, d.取卡名)
return 历排取一库.筛最短文(h1_0)
end
--~ 卡对
function d.取卡名(u1_0)
return u1_0.name
end
--~ 卡对排
function d.取字段对(u1_0)
local k1, k2, k3, k4
local h1_0
--~ 字段对
h1_0 = {}
for u1 = 1, #u1_0 do
--~ 字段数
k1 = 字节库.to_uint64(u1_0[u1].setcode)
if k1 < 1 then
else
if k1 > 0xffffFFFFffff then
k1 = k1 - 1
else
for u2 = 1, 11112222 do
if k1 < 1 then
break
else
--~ 大字段号
k2 = 位算库.位和(k1, 0xffff)
k1 = 位算库.位右移(k1, 基算库.乘法(4, 4))
--~ 字段名
k3 = 字段名对[tonumber(k2)]
if k3 then
if h1_0[k3] then
h1_0[k3] = 基算库.加法(h1_0[k3], 1)
else
h1_0[k3] = 1
end
if k2 > 0xfff then
--~ 小字段号
k4 = 位算库.位和(k2, 0xfff)
k3 = 字段名对[tonumber(k4)]
if k3 then
if h1_0[k3] then
h1_0[k3] = 基算库.加法(h1_0[k3], 1)
else
h1_0[k3] = 1
end
else
end
else
end
else
end
end
end
end
end
end
return h1_0
end
--~ 卡对排
function d.荐字段名(u1_0)
local k1
local h1_0
--~ 字段对
h1_0 = d.取字段对(u1_0)
--~ 最大的字段名数量
_, k1 = 历对取一库.筛最大值(h1_0)
--~ 最高频字段名对
h2_0 = 历对库.历对(h1_0, 历对库.全等筛值, k1)
return 历对取一库.筛最短键(h2_0)
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
end
--~ 卡对
function d.卡对消重(u1, u1_0)
return u1_0.name, true
end
--~ 卡对排
function d.荐名(u1_0)
local h1, h2
local h1_0
--~ 攻击力排
h1_0 = 历排库.历排(u1_0, 筛卡库.筛怪兽卡)
h1_0 = 历排库.历排(h1_0, 筛卡库.筛攻击力)
if h1_0[1] then
--~ 攻击力均差阶
h1 = 排算库.均差(h1_0)
if h1 > 0 then
--~ 补值
h2 = 数库.指数(100, 基算库.除法(h1, 300))
h1 = 基算库.除法(基算库.加法(h1, h2), 100)
if h1 > 1 then
h1 = 数库.指数次(h1, 2)
return 数库.向下取整(h1)
else
return 0
end
else
return 0
end
else
return 0
end
end
--~ 卡对排
function d.荐名(u1_0)
local h1
--~ 名
h1 = d.荐字段名(u1_0)
if h1 then
else
h1 = d.荐卡名(u1_0)
end
if h1 then
return h1
else
return "请便"
end
end
--~ 卡对排
function d.荐卡名(u1_0)
local h1_0
--~ 卡名排
h1_0 = 历排库.历排(u1_0, d.取卡名)
return 历排取一库.筛最短文(h1_0)
end
--~ 卡对
function d.取卡名(u1_0)
return u1_0.name
end
--~ 卡对排
function d.取字段对(u1_0)
local h1, h2, h3, h4
local h1_0
--~ 字段对
h1_0 = {}
for u1 = 1, #u1_0 do
--~ 字段数
h1 = 字节库.to_uint64(u1_0[u1].setcode)
if h1 < 1 then
else
if h1 > 0xffffFFFFffff then
h1 = h1 - 1
else
for u2 = 1, 11112222 do
if h1 < 1 then
break
else
--~ 大字段号
h2 = 位算库.位和(h1, 0xffff)
h1 = 位算库.位右移(h1, 基算库.乘法(4, 4))
--~ 字段名
h3 = 字段名对[tonumber(h2)]
if h3 then
if h1_0[h3] then
h1_0[h3] = 基算库.加法(h1_0[h3], 1)
else
h1_0[h3] = 1
end
if h2 > 0xfff then
--~ 小字段号
h4 = 位算库.位和(h2, 0xfff)
h3 = 字段名对[tonumber(h4)]
if h3 then
if h1_0[h3] then
h1_0[h3] = 基算库.加法(h1_0[h3], 1)
else
h1_0[h3] = 1
end
else
end
else
end
else
end
end
end
end
end
end
return h1_0
end
--~ 卡对排
function d.荐字段名(u1_0)
local h1
local h1_0
--~ 字段对
h1_0 = d.取字段对(u1_0)
--~ 最大的字段名数量
_, h1 = 历对取一库.筛最大值(h1_0)
--~ 最高频字段名对
h2_0 = 历对库.历对(h1_0, 历对库.全等筛值, h1)
return 历对取一库.筛最短键(h2_0)
end
|