Re-implementation of wignerd.c library in julia.
As of now, cf_from_cl
is around 2.5 times faster than the version in
wignerd.c, and cl_from_cf
is around 4 times faster than the version in
wignerd.c.
using Wignerd
lmax = 3000
npoints = 4501
l = collect(0:lmax)
cl = @. l*(l+1) # dummy
glq = Wignerd.glquad(npoints)
# calculate cf = \sum_l d^l_{22}(\beta) cl(l)
cf = cf_from_cl(glq, 2, 2, cl)
# calculate cl = \int_{-1}^1 d\cos\beta cf(\beta) d_{13}^l(\beta)
cl = cl_from_cf(glq, 1, 3, lmax, cf)