Rp : con 0; Gp : con 1; Bp : con 2; # short_fft.b FFT : module { PATH : con "/dis/lib/short_fft.dis"; Complexes : adt { r : array of real; j : array of real; bit_reverse : fn(c : self ref Complexes); fft : fn(c : self ref Complexes, dir : int, m : int); interpolate : fn(c : self ref Complexes, x : ref Complexes, ratio : real); print : fn(c : self ref Complexes, labelr, labeli : string); save : fn(c : self ref Complexes, fd : ref Sys->FD, directory : string, frame : big, x, y : int) : ref Sys->FD; }; init: fn(nil: ref Draw->Context, nil: list of string); C_from_ints : fn(ints : array of int, maxvalue :real) : ref Complexes; C_from_reals : fn(reals : array of real) : ref Complexes; C_from_file : fn(filename : string, num_channels, channel_no: int) : ref Complexes; };