Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Roblox
GitHub Repository: Roblox/luau
Path: blob/master/bench/tests/vector-math.lua
2725 views
1
local function prequire(name) local success, result = pcall(require, name); if success then return result end return nil end
2
local bench = script and require(script.Parent.bench_support) or prequire("bench_support") or require("../bench_support")
3
4
function fma(a: vector, b: vector, c: vector)
5
return a * b + c
6
end
7
8
function approx(a: vector): vector
9
local r = vector.create(1, 1, 1)
10
local aa = a
11
r += aa * 0.123
12
aa *= a
13
r += aa * 0.123
14
aa *= a
15
r += aa * 0.123
16
aa *= a
17
r += aa * 0.123
18
aa *= a
19
r += aa * 0.123
20
aa *= a
21
r += aa * 0.123
22
return r
23
end
24
25
function test()
26
local A = vector.create(1, 2, 3)
27
local B = vector.create(4, 5, 6)
28
local C = vector.create(7, 8, 9)
29
local fma = fma
30
local approx = approx
31
32
for i=1,100000 do
33
fma(A, B, C)
34
35
approx(A)
36
end
37
end
38
39
bench.runCode(test, "vector-math")
40
41