.. _oneapi-mkl-stats-central_moment-with-user-provided-mean: oneapi::mkl::stats::central_moment with User-provided Mean ========================================================== .. contents:: :local: :depth: 1 Description *********** Entry point to compute arrays of central moments up to the 4th order with mean provided by the user. API *** Syntax ------ **Buffer API** .. code-block:: template void central_moment(sycl::queue& queue, sycl::buffer mean, const dataset>& data, sycl::buffer central_moment_2, sycl::buffer central_moment_3 = {0}, sycl::buffer central_moment_4 = {0}); **USM API** .. code-block:: template sycl::event central_moment(sycl::queue& queue, Type* mean, const dataset& data, Type* central_moment_2, Type* central_moment_3 = nullptr, Type* central_moment_4 = nullptr, const std::vector &dependencies = {}); Include Files ------------- - oneapi/mkl/stats.hpp Template Parameters ------------------- .. list-table:: :header-rows: 0 * - \ ``oneapi::mkl::stats::method Method = oneapi::mkl::stats::method::fast``\ - Computation method. The specific values are as follows: \ ``oneapi::mkl::stats::method::fast``\ Input Parameters ---------------- .. tabularcolumns:: |\Y{0.2}|\Y{0.3}|\Y{0.5}| .. list-table:: :header-rows: 1 * - Name - Type - Description * - queue - \ ``sycl::queue&``\ - Valid ``sycl::queue``, calls of the ``oneapi::mkl::stats::central_moment()`` routine submits kernels in this queue. * - data - \ ``const dataset< ObservationsLayout, Type*>&``\ - Dataset which is used for estimates computation. **Buffer API** .. list-table:: :header-rows: 1 * - Name - Type - Description * - mean - ``sycl::buffer`` - ``sycl::buffer`` to the array of mean values provided by the user. **USM API** .. list-table:: :header-rows: 1 * - Name - Type - Description * - mean - \ ``Type*``\ - Pointer to the output array of mean values provided by the user. **Optional Input Parameter for USM API** .. list-table:: :header-rows: 1 * - Name - Type - Description * - dependencies - \ ``const std::vector&``\ - List of events to wait for before starting computation, if any. Output Parameters ----------------- Buffer API .. list-table:: :header-rows: 1 * - Name - Type - Description * - central_moment_2 - ``sycl::buffer`` - ``sycl::buffer`` to the output array of central moments of the 2nd order. * - central_moment_3 - ``sycl::buffer`` - ``sycl::buffer`` to the output array of central moments of the 3rd order. * - central_moment_4 - ``sycl::buffer`` - ``sycl::buffer`` to the output array of central moments of the 4th order. **USM API** .. list-table:: :header-rows: 1 * - Name - Type - Description * - central_moment_2 - ``Type*`` - Pointer to the output array of central moments of the 2nd order. * - central_moment_3 - ``Type*`` - Pointer to the output array of central moments of the 3rd order. * - central_moment_4 - ``Type*`` - Pointer to the output array of central moments of the 4th order. * - event - ``sycl::event`` - Function returns event after submitting task in ``sycl::queue.``