let signal_rdtable s0 s1 s2 =
let memory_length_int = take_off_N ((signal_fun s0) 0) in
let s1_mem = factory_add_memory (signal_fun s1) memory_length_int in
let new_signal = fun t ->
let index = (signal_fun s2) t in
match index with
|N i -> s1_mem i
|R f -> raise (Signal_operation "Rdtable index cannot be float.")
|Vec (size, vec) -> raise (Signal_operation "Rdtable index cannot be vector.")
|Zero -> s1_mem 0
|W -> raise (Signal_operation "Rdtable index cannot be Error.")
in
(frequency s2, new_signal)