| 1234567891011121314151617181920212223242526272829303132333435363738 |
- local Delaunay = require ('Delaunay')
- local Point = Delaunay.Point
- math.randomseed(os.time())
- local function newPoint()
- local x, y = math.random(), math.random()
- return Point(x * 1000, y * 1000)
- end
- local MAX_POINTS = 1e3
- local N_TESTS = 10
- local function genPoints(n)
- local points = {}
- for i = 1, n do
- points[i] = newPoint()
- end
- return points
- end
- local function time(f, p)
- local start_time = os.clock()
- local result = f(unpack(p))
- local duration = (os.clock() - start_time) * 1000
- assert(result~=nil, 'Unexpected output, returned nil')
- return duration
- end
- local function main()
- for i = 1, N_TESTS do
- local p = genPoints(MAX_POINTS)
- local duration = time(Delaunay.triangulate, p)
- print(('Test %02d: triangulating %04d points in %.2f ms'):format(i, MAX_POINTS, duration))
- end
- end
- main()
|