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)