kernels = ({
cosine: () => (x => x <= 1 ? (Math.PI/4)*Math.cos(x*Math.PI/2): 0),
epanechnikov: () => (x => x <= 1 ? (3/4) * (1 - x * x) : 0),
quartic: () => (x => x <= 1 ? (15/16)*((1 - x * x)**2) : 0),
triweight: () => (x => x <= 1 ? (35/32)*((1 - x * x)**3) : 0),
tricube: () => (x => x <= 1 ? (35/32)*((1 - x**3)**3) : 0),
uniform:() => (x => x <= 1 ? 0.5 : 0),
triangle: () => (x => x <= 1 ? (1 - x): 0)
})