Visible to Intel only — GUID: GUID-4A11426C-6A9D-4854-9DF1-9B1FD6129165
Visible to Intel only — GUID: GUID-4A11426C-6A9D-4854-9DF1-9B1FD6129165
Interpolate Function
Interpolate function performs computations of function and derivatives values at interpolation sites.
If the sites do not belong to interpolation interval [a, b], the library uses:
interpolant coefficients computed for interval for the computations at the sites to the left of a.
interpolant coefficients computed for interval for the computations at the sites to the right of b.
Interpolation algorithm depends on interpolant’s type (e.g., for cubic spline interpoilation evaluation of third-order polynomial is performed to obtain function values).
Header File
#include<oneapi/mkl/experimental/data_fitting.hpp>
Namespace
oneapi::mkl::experimental::data_fitiing
Syntax
template <typename Interpolant> sycl::event interpolate( Interpolant& interpolant, typename Interpolant::fp_type* sites, std::int64_t n_sites, typename Interpolant::fp_type* results, const std::vector<sycl::event>& dependencies, interpolate_hint ResultHint = interpolate_hint::funcs_sites_ders, site_hint SiteHint = site_hint::non_uniform); // (1) template <typename Interpolant> sycl::event interpolate( Interpolant& interpolant, typename Interpolant::fp_type* sites, std::int64_t n_sites, typename Interpolant::fp_type* results, std::bitset<32> der_indicator, const std::vector<sycl::event>& dependencies = {}, interpolate_hint ResultHint = interpolate_hint::funcs_sites_ders, site_hint SiteHint = site_hint::non_uniform); // (2) template <typename Interpolant> sycl::event interpolate( sycl::queue& q, const Interpolant& interpolant, typename Interpolant::fp_type* sites, std::int64_t n_sites, typename Interpolant::fp_type* results, const std::vector<sycl::event>& dependencies, interpolate_hint ResultHint = interpolate_hint::funcs_sites_ders, site_hint SiteHint = site_hint::non_uniform); // (3) template <typename Interpolant> sycl::event interpolate( sycl::queue& q, const Interpolant& interpolant, typename Interpolant::fp_type* sites, std::int64_t n_sites, typename Interpolant::fp_type* results, std::bitset<32> der_indicator, const std::vector<sycl::event>& dependencies = {}, interpolate_hint ResultHint = interpolate_hint::funcs_sites_ders, site_hint SiteHint = site_hint::non_uniform); // (4)
For all functions users can provide SiteHint and ResultHint to specify the layout of sites and results respectively. If results layout doesn’t satisfy ResultHint and/or sites layout doesn’t satisfy SiteHint, behavior is undefined. Returns the SYCL event of the submitted task.
Performs computations of function values only using the SYCL queue associated with interpolant.
Performs computations of certain derivatives (function values is considered as a zero derivative) which are indicated in der_indicator (each bit corresponds to certain derivative starting from lower bit) using the SYCL queue associated with interpolant.
Performs computations of function values only using q as an input argument that should be created from the same context and device as the SYCL queue associated with interpolant.
Performs computations of certain derivatives (function values is considered as a zero derivative) which are indicated in der_indicator (each bit corresponds to certain derivative starting from lower bit) using q as an input argument that should be created from the same context and device as the SYCL queue associated with interpolant.
Follow the Examples section to see examples of the interpolation function usage.