1
2
3
4
5
6
7
8
9
|
local d = {}
local 简文件库 = require("lfs")
--~ 排
--~ 办排中值的能
--~ 入参2
--~ 入参3
--~ 入参4
function d.历排(o1_0, o1, o2_0, o3_0, o4_0)
local k1_0
|
>
|
1
2
3
4
5
6
7
8
9
10
|
local d = {}
local 简文件库 = require("lfs")
local ffi = require("ffi")
--~ 排
--~ 办排中值的能
--~ 入参2
--~ 入参3
--~ 入参4
function d.历排(o1_0, o1, o2_0, o3_0, o4_0)
local k1_0
|
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
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_0, k2_0, k3_0
--~ 对
k1_0 = {}
for o2_0, o3_0 in pairs(o1_0) do
--~ 键
--~ 值
k2_0, k3_0 = o1(o2_0, o3_0)
if k2_0 then
k1_0[k2_0] = k3_0
else
end
end
return k1_0
end
--~ 表中值
--~ 值类
|
>
|
|
|
|
|
|
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
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
--~ 表中值
--~ 值类
|
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
|
return o1 / o2
end
--~ 左数
--~ 右数
function d.位和(o1, o2)
return bit.band(o1, o2)
end
do
local double_pointer = ffi.new("double[1]")
local uint64_pointer = ffi.cast("uint64_t*", double_pointer)
function d.double_to_uint64(o1)
end
end
return d
|
<
>
|
<
|
|
|
>
>
>
>
>
>
>
>
|
>
>
>
>
>
>
>
>
|
187
188
189
190
191
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 o1 / o2
end
--~ 左数
--~ 右数
function d.位和(o1, o2)
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
|