let signal_select3 si s0 s1 s2 =
let f = signal_check_frequency4 si s0 s1 s2 in
let new_signal = fun t ->
if (signal_fun si) t = N 0 then (signal_fun s0) t
else if (signal_fun si) t = N 1 then (signal_fun s1) t
else if (signal_fun si) t = N 2 then (signal_fun s2) t
else raise (Signal_operation "select3 index should be 0 or 1 or 2.")
in
(f, new_signal)