add some comments

pull/81/head
Dibyendu Majumdar 9 years ago
parent ecb5a657e2
commit 6fff29c7cc

@ -31,6 +31,8 @@ function matrix.cols(m)
return m[2]
end
-- Matrix transpose
-- This version uses slices
function matrix.T(a)
local t1 = os.clock()
local mrows, mcols, mnew, mdata, mrow, mtran = matrix.rows, matrix.cols, matrix.new, matrix.getdata, matrix.getrow, matrix.T
@ -54,6 +56,8 @@ function matrix.T(a)
return x;
end
-- Matrix transpose
-- Does not use slices
function matrix.T2(a)
local t1 = os.clock()
local mrows, mcols, mnew, mdata, mrow, mtran = matrix.rows, matrix.cols, matrix.new, matrix.getdata, matrix.getrow, matrix.T
@ -75,7 +79,8 @@ function matrix.T2(a)
return x;
end
-- Matrix multiply
-- Uses slices
function matrix.mul(a, b)
local t1 = os.clock()
local mrows, mcols, mnew, mdata, mrow, mtran = matrix.rows, matrix.cols, matrix.new, matrix.getdata, matrix.getrow, matrix.T
@ -98,6 +103,7 @@ function matrix.mul(a, b)
return x;
end
-- Matrix multiply
-- this version avoids using slices - we operate on the
-- one dimensional array
function matrix.mul2(a, b)
@ -130,10 +136,10 @@ function matrix.mul2(a, b)
return x;
end
function matrix.gen(arg)
-- Generate the matrix - uses slices
function matrix.gen(n: integer)
local t1 = os.clock()
local mrows, mcols, mnew, mdata, mrow, mtran = matrix.rows, matrix.cols, matrix.new, matrix.getdata, matrix.getrow, matrix.T
local n: integer = cast(arg, "integer")
local a = mnew(n, n)
local tmp: number = 1.0 / n / n;
for i = 1, n do
@ -147,10 +153,10 @@ function matrix.gen(arg)
return a;
end
function matrix.gen2(arg)
-- Generate the matrix - this version does not use slices
function matrix.gen2(n: integer)
local t1 = os.clock()
local mrows, mcols, mnew, mdata, mrow, mtran = matrix.rows, matrix.cols, matrix.new, matrix.getdata, matrix.getrow, matrix.T
local n: integer = cast(arg, "integer")
local a = mnew(n, n)
local data: number[] = mdata(a)
local tmp: number = 1.0 / n / n;
@ -182,7 +188,7 @@ if ravi.jit() then
assert(ravi.compile(cast))
assert(ravi.compile(matrix.gen))
assert(ravi.compile(matrix.gen2))
assert(ravi.compile(matrix.mul))
assert(ravi.compile(matrix.mul, {omitArrayGetRangeCheck=1}))
assert(ravi.compile(matrix.mul2, {omitArrayGetRangeCheck=1}))
assert(ravi.compile(matrix.T))
assert(ravi.compile(matrix.T2))

Loading…
Cancel
Save