<> <> <> <> DIRECTORY Complex, Rope; FFT: CEDAR DEFINITIONS = BEGIN Watts, DBM, Volts, Hz, Seconds, Degrees: TYPE = REAL; CVecRef: TYPE = REF CVec; CVec: TYPE = RECORD [ totalTime: Seconds _ 1.0, v: SEQUENCE size: NAT OF Complex.VEC <> ]; NewCVec: PROC [ size: NAT _ 32, totalTime: Seconds _ 1.0, like: CVecRef _ NIL ] RETURNS [ v: CVecRef ]; CopyCVec: PROC [ from: CVecRef ] RETURNS [ v: CVecRef ]; AddCosWave: PROC [ v: CVecRef, freq: Hz, magnitude: Volts _ 1.0, phase: Degrees _ 0.0 ]; AddNoise: PROC [ v: CVecRef, powerPerHz: DBM _ 1.0, ohms: REAL _ 50.0 ]; TimeToFreq, FreqToTime: PROC [ v: CVecRef ]; Print: PROC [ v: CVecRef ] RETURNS [ Rope.ROPE ]; END.