43#ifndef BACKEND_IFACE_RANDOM_H
44#define BACKEND_IFACE_RANDOM_H
65template <
typename _DataType>
66INP_DLLEXPORT DPCTLSyclEventRef
72 const DPCTLEventVectorRef dep_event_vec_ref);
74template <
typename _DataType>
92template <
typename _DataType>
93INP_DLLEXPORT DPCTLSyclEventRef
99 const DPCTLEventVectorRef dep_event_vec_ref);
101template <
typename _DataType>
118template <
typename _DataType>
119INP_DLLEXPORT DPCTLSyclEventRef
124 const DPCTLEventVectorRef dep_event_vec_ref);
126template <
typename _DataType>
141template <
typename _DataType>
142INP_DLLEXPORT DPCTLSyclEventRef
145 const _DataType beta,
147 const DPCTLEventVectorRef dep_event_vec_ref);
149template <
typename _DataType>
151 const _DataType beta,
166template <
typename _DataType>
167INP_DLLEXPORT DPCTLSyclEventRef
170 const _DataType df_num,
171 const _DataType df_den,
173 const DPCTLEventVectorRef dep_event_vec_ref);
175template <
typename _DataType>
177 const _DataType df_num,
178 const _DataType df_den,
193template <
typename _DataType>
194INP_DLLEXPORT DPCTLSyclEventRef
197 const _DataType shape,
198 const _DataType scale,
200 const DPCTLEventVectorRef dep_event_vec_ref);
202template <
typename _DataType>
204 const _DataType shape,
205 const _DataType scale,
220template <
typename _DataType>
221INP_DLLEXPORT DPCTLSyclEventRef
224 const _DataType mean,
225 const _DataType stddev,
227 const DPCTLEventVectorRef dep_event_vec_ref);
229template <
typename _DataType>
231 const _DataType mean,
232 const _DataType stddev,
247template <
typename _DataType>
248INP_DLLEXPORT DPCTLSyclEventRef
253 const DPCTLEventVectorRef dep_event_vec_ref);
255template <
typename _DataType>
273template <
typename _DataType>
274INP_DLLEXPORT DPCTLSyclEventRef
280 const DPCTLEventVectorRef dep_event_vec_ref);
282template <
typename _DataType>
301template <
typename _DataType>
302INP_DLLEXPORT DPCTLSyclEventRef
309 const DPCTLEventVectorRef dep_event_vec_ref);
311template <
typename _DataType>
330template <
typename _DataType>
331INP_DLLEXPORT DPCTLSyclEventRef
337 const DPCTLEventVectorRef dep_event_vec_ref);
339template <
typename _DataType>
357template <
typename _DataType>
358INP_DLLEXPORT DPCTLSyclEventRef
364 const DPCTLEventVectorRef dep_event_vec_ref);
366template <
typename _DataType>
384template <
typename _DataType>
385INP_DLLEXPORT DPCTLSyclEventRef
388 const _DataType mean,
389 const _DataType stddev,
391 const DPCTLEventVectorRef dep_event_vec_ref);
393template <
typename _DataType>
395 const _DataType mean,
396 const _DataType stddev,
412template <
typename _DataType>
413INP_DLLEXPORT DPCTLSyclEventRef
420 const DPCTLEventVectorRef dep_event_vec_ref);
422template <
typename _DataType>
444template <
typename _DataType>
445INP_DLLEXPORT DPCTLSyclEventRef
449 const double *mean_in,
450 const size_t mean_size,
451 const double *cov_in,
452 const size_t cov_size,
454 const DPCTLEventVectorRef dep_event_vec_ref);
456template <
typename _DataType>
459 const double *mean_in,
460 const size_t mean_size,
461 const double *cov_in,
462 const size_t cov_size,
479template <
typename _DataType>
480INP_DLLEXPORT DPCTLSyclEventRef
486 const DPCTLEventVectorRef dep_event_vec_ref);
488template <
typename _DataType>
506template <
typename _DataType>
508 DPCTLSyclQueueRef q_ref,
511 const _DataType nonc,
513 const DPCTLEventVectorRef dep_event_vec_ref);
515template <
typename _DataType>
518 const _DataType nonc,
534template <
typename _DataType>
535INP_DLLEXPORT DPCTLSyclEventRef
541 void *random_state_in,
542 const DPCTLEventVectorRef dep_event_vec_ref);
544template <
typename _DataType>
546 const _DataType mean,
547 const _DataType stddev,
561template <
typename _DataType>
562INP_DLLEXPORT DPCTLSyclEventRef
567 const DPCTLEventVectorRef dep_event_vec_ref);
569template <
typename _DataType>
584template <
typename _DataType>
585INP_DLLEXPORT DPCTLSyclEventRef
590 const DPCTLEventVectorRef dep_event_vec_ref);
592template <
typename _DataType>
607template <
typename _DataType>
608INP_DLLEXPORT DPCTLSyclEventRef
613 const DPCTLEventVectorRef dep_event_vec_ref);
615template <
typename _DataType>
630template <
typename _DataType>
631INP_DLLEXPORT DPCTLSyclEventRef
634 const _DataType scale,
636 const DPCTLEventVectorRef dep_event_vec_ref);
638template <
typename _DataType>
656template <
typename _DataType>
657INP_DLLEXPORT DPCTLSyclEventRef
660 const size_t itemsize,
662 const size_t high_dim_size,
664 const DPCTLEventVectorRef dep_event_vec_ref);
666template <
typename _DataType>
668 const size_t itemsize,
670 const size_t high_dim_size,
691template <
typename _DataType>
692INP_DLLEXPORT DPCTLSyclEventRef
696 const DPCTLEventVectorRef dep_event_vec_ref);
698template <
typename _DataType>
711template <
typename _DataType>
713 DPCTLSyclQueueRef q_ref,
716 const DPCTLEventVectorRef dep_event_vec_ref);
718template <
typename _DataType>
733template <
typename _DataType>
734INP_DLLEXPORT DPCTLSyclEventRef
737 const _DataType shape,
739 const DPCTLEventVectorRef dep_event_vec_ref);
741template <
typename _DataType>
743 const _DataType shape,
756template <
typename _DataType>
770template <
typename _DataType>
771INP_DLLEXPORT DPCTLSyclEventRef
776 const DPCTLEventVectorRef dep_event_vec_ref);
778template <
typename _DataType>
796template <
typename _DataType>
797INP_DLLEXPORT DPCTLSyclEventRef
800 const _DataType x_min,
801 const _DataType x_mode,
802 const _DataType x_max,
804 const DPCTLEventVectorRef dep_event_vec_ref);
806template <
typename _DataType>
808 const _DataType x_min,
809 const _DataType x_mode,
810 const _DataType x_max,
826template <
typename _DataType>
827INP_DLLEXPORT DPCTLSyclEventRef
833 void *random_state_in,
834 const DPCTLEventVectorRef dep_event_vec_ref);
836template <
typename _DataType>
854template <
typename _DataType>
855INP_DLLEXPORT DPCTLSyclEventRef
859 const _DataType kappa,
861 const DPCTLEventVectorRef dep_event_vec_ref);
863template <
typename _DataType>
866 const _DataType kappa,
881template <
typename _DataType>
882INP_DLLEXPORT DPCTLSyclEventRef
885 const _DataType mean,
886 const _DataType scale,
888 const DPCTLEventVectorRef dep_event_vec_ref);
890template <
typename _DataType>
892 const _DataType mean,
893 const _DataType scale,
907template <
typename _DataType>
908INP_DLLEXPORT DPCTLSyclEventRef
913 const DPCTLEventVectorRef dep_event_vec_ref);
915template <
typename _DataType>
930template <
typename _DataType>
931INP_DLLEXPORT DPCTLSyclEventRef
936 const DPCTLEventVectorRef dep_event_vec_ref);
938template <
typename _DataType>
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_exponential_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType beta, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (exponential distribution)
INP_DLLEXPORT void dpnp_rng_standard_normal_c(void *result, const size_t size)
math library implementation of random number generator (standard normal distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_beta_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType a, const _DataType b, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (beta distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_standard_t_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType df, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (standard Student's t distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_normal_c(DPCTLSyclQueueRef q_ref, void *result_out, const double mean, const double stddev, const int64_t size, void *random_state_in, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (normal continuous distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_rayleigh_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType scale, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (rayleigh distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_laplace_c(DPCTLSyclQueueRef q_ref, void *result, const double loc, const double scale, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (laplace distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_standard_cauchy_c(DPCTLSyclQueueRef q_ref, void *result, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (standard cauchy distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_pareto_c(DPCTLSyclQueueRef q_ref, void *result, const double alpha, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (Pareto distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_triangular_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType x_min, const _DataType x_mode, const _DataType x_max, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (Triangular distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_uniform_c(DPCTLSyclQueueRef q_ref, void *result_out, const double low, const double high, const int64_t size, void *random_state_in, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (uniform distribution)
INP_DLLEXPORT void dpnp_rng_srand_c(size_t seed=1)
initializer for basic random number generator.
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_geometric_c(DPCTLSyclQueueRef q_ref, void *result, const float p, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (Geometric distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_binomial_c(DPCTLSyclQueueRef q_ref, void *result, const int ntrial, const double p, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (binomial distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_gumbel_c(DPCTLSyclQueueRef q_ref, void *result, const double loc, const double scale, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (Gumbel distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_multinomial_c(DPCTLSyclQueueRef q_ref, void *result, const int ntrial, const double *p_in, const size_t p_size, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (multinomial distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_f_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType df_num, const _DataType df_den, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (F distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_weibull_c(DPCTLSyclQueueRef q_ref, void *result, const double alpha, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (weibull distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_gaussian_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType mean, const _DataType stddev, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (gaussian continuous distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_chisquare_c(DPCTLSyclQueueRef q_ref, void *result, const int df, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (chi-square distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_negative_binomial_c(DPCTLSyclQueueRef q_ref, void *result, const double a, const double p, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (negative binomial distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_lognormal_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType mean, const _DataType stddev, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (lognormal distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_zipf_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType a, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (Zipf distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_standard_gamma_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType shape, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (standard gamma distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_hypergeometric_c(DPCTLSyclQueueRef q_ref, void *result, const int l, const int s, const int m, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (hypergeometric distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_power_c(DPCTLSyclQueueRef q_ref, void *result, const double alpha, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (power distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_vonmises_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType mu, const _DataType kappa, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (Vonmises distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_logistic_c(DPCTLSyclQueueRef q_ref, void *result, const double loc, double const scale, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (logistic distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_noncentral_chisquare_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType df, const _DataType nonc, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (noncentral chisquare distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_wald_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType mean, const _DataType scale, size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (Wald's distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_poisson_c(DPCTLSyclQueueRef q_ref, void *result, const double lambda, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (poisson distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_gamma_c(DPCTLSyclQueueRef q_ref, void *result, const _DataType shape, const _DataType scale, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (gamma distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_multivariate_normal_c(DPCTLSyclQueueRef q_ref, void *result, const int dimen, const double *mean_in, const size_t mean_size, const double *cov_in, const size_t cov_size, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (multivariate normal distribution)
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_shuffle_c(DPCTLSyclQueueRef q_ref, void *result, const size_t itemsize, const size_t ndim, const size_t high_dim_size, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random in-place shuffle.
INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_standard_exponential_c(DPCTLSyclQueueRef q_ref, void *result, const size_t size, const DPCTLEventVectorRef dep_event_vec_ref)
math library implementation of random number generator (standard exponential distribution)