Method
NumCosmoXcorKernelget_eval_vectorized_full
Declaration [src]
NcXcorKernelIntegrand*
nc_xcor_kernel_get_eval_vectorized_full (
NcXcorKernel* xclk,
NcHICosmo* cosmo,
gint lmin,
gint lmax,
NcmSBesselIntegrator* sbi,
NcXcorKernelClosure closure_type
)
Description [src]
Same as nc_xcor_kernel_get_eval_vectorized(), but integrates with sbi
instead of the kernel’s integrator property.
A NcmSBesselIntegratorLevin holds reusable state tied to one multipole
range, so a caller computing several ell blocks does better keeping one
integrator per block and passing it in here than letting every kernel carry
its own. Passing the integrator rather than storing it also keeps xclk free
of per-call state, so one kernel can be evaluated for several blocks at once
as long as each gets its own sbi.
sbi is unused below the kernel’s l-limber threshold, where no spherical
Bessel integral is performed.
Parameters
cosmo-
Type:
NcHICosmoA
NcHICosmo.The data is owned by the caller of the method. lmin-
Type:
gintMinimum multipole.
lmax-
Type:
gintMaximum multipole.
sbi-
Type:
NcmSBesselIntegratorThe
NcmSBesselIntegratorto use, orNULLforxclk‘s own.The argument can be NULL.The data is owned by the caller of the method. closure_type-
Type:
NcXcorKernelClosureHow to represent the sampled window, see
NcXcor:closure-type.
Return value
Type: NcXcorKernelIntegrand
The kernel integrand over [lmin, lmax].
| The caller of the method takes ownership of the returned data, and is responsible for freeing it. |