Lines Matching full:rnn
39 /* An rnn based decoder, which can either be decoding current register
44 struct rnn base;
52 to_rnndec(struct rnn *rnn) in to_rnndec() argument
54 return (struct rnndec *)rnn; in to_rnndec()
58 rnn_val(struct rnn *rnn, uint32_t regbase) in rnn_val() argument
60 struct rnndec *rnndec = to_rnndec(rnn); in rnn_val()
142 /* Expose rnn decode to script environment as "rnn" library:
146 struct rnn *rnn; member
152 push_rnndoff(lua_State *L, struct rnn *rnn, struct rnndelem *elem, in push_rnndoff() argument
156 rnndoff->rnn = rnn; in push_rnndoff()
161 static int l_rnn_etype_array(lua_State *L, struct rnn *rnn,
163 static int l_rnn_etype_reg(lua_State *L, struct rnn *rnn, struct rnndelem *elem,
167 pushdecval(struct lua_State *L, struct rnn *rnn, uint64_t regval, in pushdecval() argument
171 switch (rnn_decodelem(rnn, info, regval, &val)) { in pushdecval()
196 l_rnn_etype(lua_State *L, struct rnn *rnn, struct rnndelem *elem, in l_rnn_etype() argument
207 regval = rnn_val(rnn, offset); in l_rnn_etype()
209 regval |= (uint64_t)rnn_val(rnn, offset + 1) << 32; in l_rnn_etype()
211 ret = pushdecval(L, rnn, regval, &elem->typeinfo); in l_rnn_etype()
214 return l_rnn_etype_reg(L, rnn, elem, offset); in l_rnn_etype()
216 return l_rnn_etype_array(L, rnn, elem, offset); in l_rnn_etype()
241 return l_rnn_etype(L, rnndoff->rnn, subelem, in l_rnn_struct_meta_index()
254 l_rnn_etype_struct(lua_State *L, struct rnn *rnn, struct rnndelem *elem, in l_rnn_etype_struct() argument
257 push_rnndoff(L, rnn, elem, offset); in l_rnn_etype_struct()
288 return l_rnn_etype(L, rnndoff->rnn, elem->subelems[0], offset); in l_rnn_array_meta_index()
290 return l_rnn_etype_struct(L, rnndoff->rnn, elem, offset); in l_rnn_array_meta_index()
301 l_rnn_etype_array(lua_State *L, struct rnn *rnn, struct rnndelem *elem, in l_rnn_etype_array() argument
304 push_rnndoff(L, rnn, elem, offset); in l_rnn_etype_array()
347 uint32_t regval = rnn_val(rnndoff->rnn, rnndoff->offset); in l_rnn_reg_meta_index()
356 return pushdecval(L, rnndoff->rnn, regval, &bf->typeinfo); in l_rnn_reg_meta_index()
368 uint32_t regval = rnn_val(rnndoff->rnn, rnndoff->offset); in l_rnn_reg_meta_tostring()
369 struct rnndecaddrinfo *info = rnn_reginfo(rnndoff->rnn, rnndoff->offset); in l_rnn_reg_meta_tostring()
372 decoded = rnndec_decodeval(rnndoff->rnn->vc, info->typeinfo, regval); in l_rnn_reg_meta_tostring()
386 uint32_t regval = rnn_val(rnndoff->rnn, rnndoff->offset); in l_rnn_reg_meta_tonumber()
402 l_rnn_etype_reg(lua_State *L, struct rnn *rnn, struct rnndelem *elem, in l_rnn_etype_reg() argument
405 push_rnndoff(L, rnn, elem, offset); in l_rnn_etype_reg()
423 struct rnn *rnn = lua_touserdata(L, 1); in l_rnn_meta_index() local
427 elem = rnn_regelem(rnn, name); in l_rnn_meta_index()
431 return l_rnn_etype(L, rnn, elem, elem->offset); in l_rnn_meta_index()
438 // struct rnn *rnn = lua_touserdata(L, 1); in l_rnn_meta_gc()
439 // rnn_deinit(rnn); in l_rnn_meta_gc()
470 struct rnn *rnn = lua_touserdata(L, 1); in l_rnn_enumname() local
473 lua_pushstring(L, rnn_enumname(rnn, name, val)); in l_rnn_enumname()
480 struct rnn *rnn = lua_touserdata(L, 1); in l_rnn_regname() local
482 lua_pushstring(L, rnn_regname(rnn, regbase, 1)); in l_rnn_regname()
489 struct rnn *rnn = lua_touserdata(L, 1); in l_rnn_regval() local
492 struct rnndecaddrinfo *info = rnn_reginfo(rnn, regbase); in l_rnn_regval()
495 decoded = rnndec_decodeval(rnn->vc, info->typeinfo, regval); in l_rnn_regval()
595 openlib("rnn", l_rnn); in script_load()
658 struct rnn *rnn = lua_touserdata(L, 1); in l_rnn_meta_dom_index() local
668 elem = rnn_regoff(rnn, offset); in l_rnn_meta_dom_index()
672 return l_rnn_etype(L, rnn, elem, elem->offset); in l_rnn_meta_dom_index()
685 // struct rnn *rnn = lua_touserdata(L, 1); in l_rnn_meta_dom_gc()
686 // rnn_deinit(rnn); in l_rnn_meta_dom_gc()
699 script_packet(uint32_t *dwords, uint32_t sizedwords, struct rnn *rnn, in script_packet() argument
715 rnndec->base = *rnn; in script_packet()