From ad6fa788f1b2e88167407922f18118cf905eecaf Mon Sep 17 00:00:00 2001 From: txh18 Date: Tue, 26 May 2015 15:14:37 +0800 Subject: added nerv_matrix_(get_dataref_value) and tested in examples/mmatrix_example, however it is a little strange to return 101 --- examples/mmatrix_example.lua | 1 + matrix/generic/matrix.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/examples/mmatrix_example.lua b/examples/mmatrix_example.lua index 679fde3..53b7fed 100644 --- a/examples/mmatrix_example.lua +++ b/examples/mmatrix_example.lua @@ -10,6 +10,7 @@ for i = 0, m - 1 do dm[i][j] = t end end +print("test fm:get_dataref_value:", fm:get_dataref_value()) print(fm) -- print(fm:softmax()) print(dm) diff --git a/matrix/generic/matrix.c b/matrix/generic/matrix.c index 417c534..c3838d2 100644 --- a/matrix/generic/matrix.c +++ b/matrix/generic/matrix.c @@ -122,12 +122,18 @@ static int nerv_matrix_(nrow)(lua_State *L) { return 1; } +static int nerv_matrix_(get_dataref_value)(lua_State *L) { + Matrix *self = luaT_checkudata(L, 1, nerv_matrix_(tname)); + lua_pushinteger(L, *(self->data_ref)); + return 1; +} static const luaL_Reg nerv_matrix_(methods)[] = { {"get_elem", nerv_matrix_(get_elem)}, {"set_elem", nerv_matrix_(set_elem)}, {"ncol", nerv_matrix_(ncol)}, {"nrow", nerv_matrix_(nrow)}, + {"get_dataref_value", nerv_matrix_(get_dataref_value)}, {"__index__", nerv_matrix_(index)}, {"__newindex__", nerv_matrix_(newindex)}, {NULL, NULL} -- cgit v1.2.3 From be67a3a973bd58eff23af7add83e328c1f58451c Mon Sep 17 00:00:00 2001 From: txh18 Date: Tue, 26 May 2015 15:23:53 +0800 Subject: ... --- examples/mmatrix_example.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/mmatrix_example.lua b/examples/mmatrix_example.lua index 53b7fed..8ddfe84 100644 --- a/examples/mmatrix_example.lua +++ b/examples/mmatrix_example.lua @@ -11,6 +11,9 @@ for i = 0, m - 1 do end end print("test fm:get_dataref_value:", fm:get_dataref_value()) +print("forced a garbade collect") +collectgarbage("collect") +print("test fm:get_dataref_value:", fm:get_dataref_value()) print(fm) -- print(fm:softmax()) print(dm) -- cgit v1.2.3