const Def * op_read(const Def *r, const Def *s, const Def *T, const Def *mem, const Def *buf, const Def *idx)
buffer.read (r, s, T) (mem, buf, idx) ↦ [mem.M 0, T].
const Def * op_read(const Def *mem, const Def *matrix, const Def *idx)
Reads element idx from a matrix (represented by a buffer.Buf), threading mem.