diff options
author | Determinant <[email protected]> | 2015-06-22 19:01:29 +0800 |
---|---|---|
committer | Determinant <[email protected]> | 2015-06-22 19:01:29 +0800 |
commit | 2497fd9e7a0fae5ee4887890d7a312e0e08a93b8 (patch) | |
tree | 382f97575bd2df9ee6abb1662b11b279fc22d72b /matrix/init.lua | |
parent | 196e9b48a3541caccdffc5743001cced70667091 (diff) |
major change: use luarocks to manage project
Diffstat (limited to 'matrix/init.lua')
-rw-r--r-- | matrix/init.lua | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/matrix/init.lua b/matrix/init.lua deleted file mode 100644 index 1a8925f..0000000 --- a/matrix/init.lua +++ /dev/null @@ -1,77 +0,0 @@ -function nerv.Matrix:__tostring__() - local ncol = self:ncol() - local nrow = self:nrow() - local strt = {} - local fmt - if self.fmt then - fmt = self.fmt - else - fmt = "%.8f " - end - if nrow == 1 then - for col = 0, ncol - 1 do - table.insert(strt, string.format(fmt, self[col])) - end - table.insert(strt, "\n") - else - for row = 0, nrow - 1 do - local rp = self[row] - for col = 0, ncol - 1 do - table.insert(strt, string.format(fmt, rp[col])) - end - table.insert(strt, "\n") - end - end - table.insert(strt, string.format( - "[%s %d x %d]", self.__typename, nrow, ncol)) - return table.concat(strt) -end - --- gen: a function takes take indices of the matrix and return the generated --- all entrys in the matrix will be assigned by calling gen(i, j) -function nerv.Matrix:generate(gen) - if (self:nrow() == 1) then - for j = 0, self:ncol() - 1 do - self[j] = gen(j) - end - else - for i = 0, self:nrow() - 1 do - local row = self[i] - for j = 0, self:ncol() - 1 do - row[j] = gen(i, j) - end - end - end -end - -nerv.MMatrixInt.fmt = "%d " - -function nerv.CuMatrix:__add__(b) - c = self:create() - c:add(self, b, 1.0, 1.0) - return c -end - -function nerv.CuMatrix:__sub__(b) - c = self:create() - c:add(self, b, 1.0, -1.0) - return c -end - -function nerv.CuMatrix:__mul__(b) - c = nerv.get_type(self.__typename)(self:nrow(), b:ncol()) - c:mul(self, b, 1.0, 0.0, 'N', 'N') - return c -end - -function nerv.CuMatrixFloat.new_from_host(mat) - local res = nerv.CuMatrixFloat(mat:nrow(), mat:ncol()) - res:copy_fromh(mat) - return res -end - -function nerv.CuMatrixFloat:new_to_host() - local res = nerv.MMatrixFloat(self:nrow(), self:ncol()) - self:copy_toh(res) - return res -end |