1
0
Fork 0
mirror of https://github.com/luau-lang/luau.git synced 2025-03-04 19:21:42 +00:00
luau/bench/tests/pcmmix.lua
Vyacheslav Egorov aafea36235
Fixed the backwards compatible benchmark support library require ()
Previous benchmark require fix wasn't actually working correctly for the
old style require (or running in Lua).
2023-12-04 12:48:31 -08:00

34 lines
1.1 KiB
Lua

local function prequire(name) local success, result = pcall(require, name); return if success then result else nil end
local bench = script and require(script.Parent.bench_support) or prequire("bench_support") or require("../bench_support")
local samples = 100_000
-- create two 16-bit stereo pcm audio buffers
local ch1 = buffer.create(samples * 2 * 2)
local ch2 = buffer.create(samples * 2 * 2)
-- just init with random data
for i = 0, samples * 2 - 1 do
buffer.writei16(ch1, i * 2, math.random(-32768, 32767))
buffer.writei16(ch2, i * 2, math.random(-32768, 32767))
end
function test()
local mix = buffer.create(samples * 2 * 2)
for i = 0, samples - 1 do
local s1l = buffer.readi16(ch1, i * 4)
local s1r = buffer.readi16(ch1, i * 4 + 2)
local s2l = buffer.readi16(ch2, i * 4)
local s2r = buffer.readi16(ch2, i * 4 + 2)
local combinedl = s1l + s2l - s1l * s2l / 32768
local combinedr = s1r + s2r - s1r * s2r / 32768
buffer.writei16(mix, i * 4, combinedl)
buffer.writei16(mix, i * 4 + 2, combinedr)
end
end
bench.runCode(test, "pcmmix")