diff options
author | txh18 <cloudygooseg@gmail.com> | 2015-12-22 13:34:10 +0800 |
---|---|---|
committer | txh18 <cloudygooseg@gmail.com> | 2015-12-22 13:34:10 +0800 |
commit | 9a172678f824351840283363161e8b38d2d5cfb2 (patch) | |
tree | 9bc7bc917aa78ac5e384695890857864e100e64c /nerv/matrix/generic/cumatrix.c | |
parent | 95ef51432218683ec90fdbaa2e92007f4fbd4610 (diff) |
give a update_select_rows a more proper name
Diffstat (limited to 'nerv/matrix/generic/cumatrix.c')
-rw-r--r-- | nerv/matrix/generic/cumatrix.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/nerv/matrix/generic/cumatrix.c b/nerv/matrix/generic/cumatrix.c index df858e6..95a0132 100644 --- a/nerv/matrix/generic/cumatrix.c +++ b/nerv/matrix/generic/cumatrix.c @@ -331,7 +331,7 @@ static int nerv_matrix_(lua_scale_rows_by_row)(lua_State *L) { } #ifdef __NERV_FUTURE_CUDA_7 -static int nerv_matrix_(lua_update_select_rows)(lua_State *L) { +static int nerv_matrix_(lua_update_select_rows_by_rowidx)(lua_State *L) { /* update c's select rows, * i.e. c[idx[i]] = c[idx[i]] * (1 - beta * alpha) + a[i] * alpha */ Status status; @@ -340,7 +340,21 @@ static int nerv_matrix_(lua_update_select_rows)(lua_State *L) { const Matrix *idx = luaT_checkudata(L, 3, nerv_matrix_(tname)); MATRIX_ELEM alpha = luaL_checknumber(L, 4); MATRIX_ELEM beta = luaL_checknumber(L, 5); - nerv_matrix_(update_select_rows)(c, a, idx, alpha, beta, &status); + nerv_matrix_(update_select_rows_by_rowidx)(c, a, idx, alpha, beta, &status); + NERV_LUA_CHECK_STATUS(L, status); + return 0; +} + +static int nerv_matrix_(lua_update_select_rows_by_colidx)(lua_State *L) { + /* update c's select rows, + * i.e. c[idx[i]] = c[idx[i]] * (1 - beta * alpha) + a[i] * alpha */ + Status status; + Matrix *c = luaT_checkudata(L, 1, nerv_matrix_(tname)); + const Matrix *a = luaT_checkudata(L, 2, nerv_matrix_(tname)); + const Matrix *idx = luaT_checkudata(L, 3, nerv_matrix_(tname)); + MATRIX_ELEM alpha = luaL_checknumber(L, 4); + MATRIX_ELEM beta = luaL_checknumber(L, 5); + nerv_matrix_(update_select_rows_by_colidx)(c, a, idx, alpha, beta, &status); NERV_LUA_CHECK_STATUS(L, status); return 0; } @@ -381,7 +395,8 @@ static const luaL_Reg nerv_matrix_(extra_methods)[] = { {"scale_rows_by_row", nerv_matrix_(lua_scale_rows_by_row)}, {"scale_rows_by_col", nerv_matrix_(lua_scale_rows_by_col)}, #ifdef __NERV_FUTURE_CUDA_7 - {"update_select_rows", nerv_matrix_(lua_update_select_rows)}, + {"update_select_rows_by_rowidx", nerv_matrix_(lua_update_select_rows_by_rowidx)}, + {"update_select_rows_by_colidx", nerv_matrix_(lua_update_select_rows_by_colidx)}, #endif {NULL, NULL} }; |