Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- dft :: forall arr x. (RealFloat x, Contiguous arr, Element arr x, Element arr (Complex x)) => arr x -> arr (Complex x)
- idft :: forall arr x. (RealFloat x, Contiguous arr, Element arr x, Element arr (Complex x)) => arr (Complex x) -> arr x
- overlapDFT :: forall arr x s. (RealFloat x, Contiguous arr, Element arr x, Element arr (Complex x)) => Int -> Mutable arr s (Complex x) -> Complex x -> Mutable arr s (Complex x) -> ST s (Mutable arr s (Complex x))
Documentation
dft :: forall arr x. (RealFloat x, Contiguous arr, Element arr x, Element arr (Complex x)) => arr x -> arr (Complex x) Source #
idft :: forall arr x. (RealFloat x, Contiguous arr, Element arr x, Element arr (Complex x)) => arr (Complex x) -> arr x Source #
:: (RealFloat x, Contiguous arr, Element arr x, Element arr (Complex x)) | |
=> Int | N, signal size |
-> Mutable arr s (Complex x) | x1, original window |
-> Complex x | newest complex value |
-> Mutable arr s (Complex x) | f1, previous transform |
-> ST s (Mutable arr s (Complex x)) | f2, new transform |
Given a signal size, previous window, transform of previous window, and the newest value, compute the transform of the new window (which is just a shifted version of the previous window) in O(n) time, in-place