Safe Haskell | None |
---|---|
Language | Haskell2010 |
Various utiliy signal processing functions
- class Mult a b where
- mult :: a -> b -> a
- makeComplexBufferVect :: (Num a, Integral a, Num b, Fractional b, Vector v1 a, Vector v2 (Complex b)) => v1 a -> v2 (Complex b)
- convertC :: Vector CUChar -> Vector (Complex Float)
- convertCSSE :: Vector CUChar -> Vector (Complex Float)
- convertCAVX :: Vector CUChar -> Vector (Complex Float)
- convertFast :: CPUInfo -> Vector CUChar -> Vector (Complex Float)
- scaleC :: Float -> Vector Float -> MVector RealWorld Float -> IO ()
- scaleCSSE :: Float -> Vector Float -> MVector RealWorld Float -> IO ()
- scaleCAVX :: Float -> Vector Float -> MVector RealWorld Float -> IO ()
- scaleFast :: CPUInfo -> Float -> Vector Float -> MVector RealWorld Float -> IO ()
- cplxMap :: (a -> b) -> Complex a -> Complex b
- quarterBandUp :: (Vector v (Complex n), Num n) => Int -> v (Complex n)
Classes
A class for things that can be multiplied by a scalar.
Conversion to Floating Point
makeComplexBufferVect :: (Num a, Integral a, Num b, Fractional b, Vector v1 a, Vector v2 (Complex b)) => v1 a -> v2 (Complex b) Source
Create a vector of complex float samples from a vector of interleaved I Q component bytes.
convertC :: Vector CUChar -> Vector (Complex Float) Source
Same as makeComplexBufferVect
but written in C and specialized for Floats
convertCSSE :: Vector CUChar -> Vector (Complex Float) Source
Same as makeComplexBufferVect
but written in C using SSE intrinsics and specialized for Floats
convertCAVX :: Vector CUChar -> Vector (Complex Float) Source
Same as makeComplexBufferVect
but written in C using AVX intrinsics and specialized for Floats
convertFast :: CPUInfo -> Vector CUChar -> Vector (Complex Float) Source
Create a vector of complex float samples from a vector of interleaved I Q component bytes. Uses the fastest SIMD instruction set your processor supports.
Scaling
Scale a vector, written in C
Scale a vector, written in C using SSE intrinsics
Scale a vector, written in C using AVX intrinsics
scaleFast :: CPUInfo -> Float -> Vector Float -> MVector RealWorld Float -> IO () Source
Scale a vector. Uses the fastest SIMD instruction set your processor supports.
Misc Utils
Apply a function to both parts of a complex number