游戏王残局简化版

Diff
Login

Diff

Differences From Artifact [ff88c3754c]:

To Artifact [4e9da26420]:


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
  --~ 集排
  k1_0 = {}
  for o3_0 in o2(o1, o1_0, o2_0) do
    k1_0[#k1_0 + 1] = o3_0
    end
  return k1_0
  end





















function d.历对(o1_0, o1)
  local k1
  local k1_0, k2_0
  --~ 对
  k1_0 = {}
  for o2, o2_0 in pairs(o1_0) do
    --~ 键
    --~ 值
    k1, k2_0 = o1(o2, o2_0)
    if k1 then
      k1_0[k1] = k2_0
    else
      end
    end
  return k1_0
  end
--~ 中值
--~ 值类
--~ 办值的能
function d.操类(o1_0, o1, o2)
  if type(o1_0) == o1 then
    return o2(o1_0)
  else
    return o1_0







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|




|


|







|







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
  --~ 集排
  k1_0 = {}
  for o3_0 in o2(o1, o1_0, o2_0) do
    k1_0[#k1_0 + 1] = o3_0
    end
  return k1_0
  end
--~ 排
--~ 能
function d.历排取一(o1_0, o1)
  local k1
  for o2 = 1, #o1_0 do
    --~ 值
    k1 = o1(k1, o1_0[o2])
    end
  return k1
  end
--~ 对
--~ 能
function d.历对取一(o1_0, o1)
  local k1, k2
  for o2, o2_0 in pairs(o1_0) do
    --~ 键
    --~ 值
    k1, k2 = o1(k1, k2, o2, o2_0)
    end
  return k1, k2
  end
function d.历对(o1_0, o1, o2)
  local k1
  local k1_0, k2_0
  --~ 对
  k1_0 = {}
  for o3, o2_0 in pairs(o1_0) do
    --~ 键
    --~ 值
    k1, k2_0 = o1(o3, o2_0, o2)
    if k1 then
      k1_0[k1] = k2_0
    else
      end
    end
  return k1_0
  end
--~ 中值
--~ 值类
--~ 办值的能
function d.操类(o1_0, o1, o2)
  if type(o1_0) == o1 then
    return o2(o1_0)
  else
    return o1_0
192
193
194
195
196
197
198



199
200
201
202
203
204


205











206

207
208




209




210

211
212
213
214
215









216
  return bit.band(o1, o2)
  end
--~ 数
--~ 右移几位
function d.位右移(o1, o2)
  return bit.rshift(o1, o2)
  end



--~ 
function d.对中最大值(o1_0)
  local k1, k2
  k2 = -math.huge
  for o1, o2 in pairs(o1_0) do
    if k2 < o2 then


      k1, k2 = o1, o2











    else

      end
    end




  return k1, k2




  end

--~ 内数
function d.to_uint64(o1)
  local uint64_pointer = ffi.new("uint64_t[1]", o1)
  return uint64_pointer[0]
  end









return d







>
>
>
|
|
<
|
|
|
>
>
|
>
>
>
>
>
>
>
>
>
>
>
|
>
|
|
>
>
>
>
|
>
>
>
>
|
>





>
>
>
>
>
>
>
>
>

213
214
215
216
217
218
219
220
221
222
223
224

225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
  return bit.band(o1, o2)
  end
--~ 数
--~ 右移几位
function d.位右移(o1, o2)
  return bit.rshift(o1, o2)
  end
--~ 键
--~ 最大值
--~ 键
--~ 
function d.对中最大值(o1, o2, o3, o4)

  if o2 == nil then
    return o3, o4
  elseif o2 < o4 then
    return o3, o4
  else
    return o1, o2
    end
  end
--~ 键
--~ 最短键
--~ 键
--~ 值
function d.筛对中最短键(o1, o2, o3, o4)
  if o1 == nil then
    return o3, o4
  elseif #o1 > #o3 then
    return o3, o4
  else
    return o1, o2
    end
  end
--~ 最短文
--~ 值
function d.筛排中最短文(o1, o2)
  if o1 == nil then
    return o2
  elseif #o1 > #o2 then
    return o2
  else
    return o1
    end
  end
--~ 内数
function d.to_uint64(o1)
  local uint64_pointer = ffi.new("uint64_t[1]", o1)
  return uint64_pointer[0]
  end
--~ 键
--~ 值
--~ 要找的值
function d.全等筛对中值(o1, o2, o3)
  if o2 == o3 then
    return o1, o2
  else
    end
  end
return d