Safe Haskell | Safe-Inferred |
---|
This list of kernels is take from wikipedia's: https://en.wikipedia.org/wiki/Uniform_kernel#Kernel_functions_in_common_use
- class Kernel kernel num where
- evalkernel :: kernel -> num -> num
- data KernelBox num where
- data Uniform = Uniform
- data Triangular = Triangular
- data Epanechnikov = Epanechnikov
- data Quartic = Quartic
- data Triweight = Triweight
- data Tricube = Tricube
- data Gaussian = Gaussian
- data Cosine = Cosine
Data types
class Kernel kernel num whereSource
A kernel is function in one parameter that takes a value on the x axis and spits out a probability. We create a data object for each kernel, and a corresponding class to make things play nice with the type system.
evalkernel :: kernel -> num -> numSource
(Floating num, Ord num) => Kernel Gaussian num | |
(Floating num, Ord num) => Kernel Cosine num | |
(Fractional num, Ord num) => Kernel Tricube num | |
(Fractional num, Ord num) => Kernel Triweight num | |
(Fractional num, Ord num) => Kernel Quartic num | |
(Fractional num, Ord num) => Kernel Epanechnikov num | |
(Fractional num, Ord num) => Kernel Triangular num | |
(Fractional num, Ord num) => Kernel Uniform num | |
Kernel (KernelBox num) num |
data KernelBox num whereSource
A KernelBox is a universal object for storing kernels. Whatever kernel it stores, it becomes a kernel with the same properties.
Kernels
data Triangular Source
Read Triangular | |
Show Triangular | |
(Fractional num, Ord num) => Kernel Triangular num |
data Epanechnikov Source
Read Epanechnikov | |
Show Epanechnikov | |
(Fractional num, Ord num) => Kernel Epanechnikov num |