40#ifndef BACKEND_IFACE_RANDOM_H
41#define BACKEND_IFACE_RANDOM_H
62template <
typename _DataType>
63INP_DLLEXPORT DPCTLSyclEventRef
69 const DPCTLEventVectorRef dep_event_vec_ref);
71template <
typename _DataType>
89template <
typename _DataType>
90INP_DLLEXPORT DPCTLSyclEventRef
96 const DPCTLEventVectorRef dep_event_vec_ref);
98template <
typename _DataType>
115template <
typename _DataType>
116INP_DLLEXPORT DPCTLSyclEventRef
121 const DPCTLEventVectorRef dep_event_vec_ref);
123template <
typename _DataType>
138template <
typename _DataType>
139INP_DLLEXPORT DPCTLSyclEventRef
142 const _DataType beta,
144 const DPCTLEventVectorRef dep_event_vec_ref);
146template <
typename _DataType>
148 const _DataType beta,
163template <
typename _DataType>
164INP_DLLEXPORT DPCTLSyclEventRef
167 const _DataType df_num,
168 const _DataType df_den,
170 const DPCTLEventVectorRef dep_event_vec_ref);
172template <
typename _DataType>
174 const _DataType df_num,
175 const _DataType df_den,
190template <
typename _DataType>
191INP_DLLEXPORT DPCTLSyclEventRef
194 const _DataType shape,
195 const _DataType scale,
197 const DPCTLEventVectorRef dep_event_vec_ref);
199template <
typename _DataType>
201 const _DataType shape,
202 const _DataType scale,
217template <
typename _DataType>
218INP_DLLEXPORT DPCTLSyclEventRef
221 const _DataType mean,
222 const _DataType stddev,
224 const DPCTLEventVectorRef dep_event_vec_ref);
226template <
typename _DataType>
228 const _DataType mean,
229 const _DataType stddev,
244template <
typename _DataType>
245INP_DLLEXPORT DPCTLSyclEventRef
250 const DPCTLEventVectorRef dep_event_vec_ref);
252template <
typename _DataType>
270template <
typename _DataType>
271INP_DLLEXPORT DPCTLSyclEventRef
277 const DPCTLEventVectorRef dep_event_vec_ref);
279template <
typename _DataType>
298template <
typename _DataType>
299INP_DLLEXPORT DPCTLSyclEventRef
306 const DPCTLEventVectorRef dep_event_vec_ref);
308template <
typename _DataType>
327template <
typename _DataType>
328INP_DLLEXPORT DPCTLSyclEventRef
334 const DPCTLEventVectorRef dep_event_vec_ref);
336template <
typename _DataType>
354template <
typename _DataType>
355INP_DLLEXPORT DPCTLSyclEventRef
361 const DPCTLEventVectorRef dep_event_vec_ref);
363template <
typename _DataType>
381template <
typename _DataType>
382INP_DLLEXPORT DPCTLSyclEventRef
385 const _DataType mean,
386 const _DataType stddev,
388 const DPCTLEventVectorRef dep_event_vec_ref);
390template <
typename _DataType>
392 const _DataType mean,
393 const _DataType stddev,
409template <
typename _DataType>
410INP_DLLEXPORT DPCTLSyclEventRef
417 const DPCTLEventVectorRef dep_event_vec_ref);
419template <
typename _DataType>
441template <
typename _DataType>
442INP_DLLEXPORT DPCTLSyclEventRef
446 const double *mean_in,
447 const size_t mean_size,
448 const double *cov_in,
449 const size_t cov_size,
451 const DPCTLEventVectorRef dep_event_vec_ref);
453template <
typename _DataType>
456 const double *mean_in,
457 const size_t mean_size,
458 const double *cov_in,
459 const size_t cov_size,
476template <
typename _DataType>
477INP_DLLEXPORT DPCTLSyclEventRef
483 const DPCTLEventVectorRef dep_event_vec_ref);
485template <
typename _DataType>
503template <
typename _DataType>
505 DPCTLSyclQueueRef q_ref,
508 const _DataType nonc,
510 const DPCTLEventVectorRef dep_event_vec_ref);
512template <
typename _DataType>
515 const _DataType nonc,
531template <
typename _DataType>
532INP_DLLEXPORT DPCTLSyclEventRef
538 void *random_state_in,
539 const DPCTLEventVectorRef dep_event_vec_ref);
541template <
typename _DataType>
543 const _DataType mean,
544 const _DataType stddev,
558template <
typename _DataType>
559INP_DLLEXPORT DPCTLSyclEventRef
564 const DPCTLEventVectorRef dep_event_vec_ref);
566template <
typename _DataType>
581template <
typename _DataType>
582INP_DLLEXPORT DPCTLSyclEventRef
587 const DPCTLEventVectorRef dep_event_vec_ref);
589template <
typename _DataType>
604template <
typename _DataType>
605INP_DLLEXPORT DPCTLSyclEventRef
610 const DPCTLEventVectorRef dep_event_vec_ref);
612template <
typename _DataType>
627template <
typename _DataType>
628INP_DLLEXPORT DPCTLSyclEventRef
631 const _DataType scale,
633 const DPCTLEventVectorRef dep_event_vec_ref);
635template <
typename _DataType>
653template <
typename _DataType>
654INP_DLLEXPORT DPCTLSyclEventRef
657 const size_t itemsize,
659 const size_t high_dim_size,
661 const DPCTLEventVectorRef dep_event_vec_ref);
663template <
typename _DataType>
665 const size_t itemsize,
667 const size_t high_dim_size,
688template <
typename _DataType>
689INP_DLLEXPORT DPCTLSyclEventRef
693 const DPCTLEventVectorRef dep_event_vec_ref);
695template <
typename _DataType>
708template <
typename _DataType>
710 DPCTLSyclQueueRef q_ref,
713 const DPCTLEventVectorRef dep_event_vec_ref);
715template <
typename _DataType>
730template <
typename _DataType>
731INP_DLLEXPORT DPCTLSyclEventRef
734 const _DataType shape,
736 const DPCTLEventVectorRef dep_event_vec_ref);
738template <
typename _DataType>
740 const _DataType shape,
753template <
typename _DataType>
767template <
typename _DataType>
768INP_DLLEXPORT DPCTLSyclEventRef
773 const DPCTLEventVectorRef dep_event_vec_ref);
775template <
typename _DataType>
793template <
typename _DataType>
794INP_DLLEXPORT DPCTLSyclEventRef
797 const _DataType x_min,
798 const _DataType x_mode,
799 const _DataType x_max,
801 const DPCTLEventVectorRef dep_event_vec_ref);
803template <
typename _DataType>
805 const _DataType x_min,
806 const _DataType x_mode,
807 const _DataType x_max,
823template <
typename _DataType>
824INP_DLLEXPORT DPCTLSyclEventRef
830 void *random_state_in,
831 const DPCTLEventVectorRef dep_event_vec_ref);
833template <
typename _DataType>
851template <
typename _DataType>
852INP_DLLEXPORT DPCTLSyclEventRef
856 const _DataType kappa,
858 const DPCTLEventVectorRef dep_event_vec_ref);
860template <
typename _DataType>
863 const _DataType kappa,
878template <
typename _DataType>
879INP_DLLEXPORT DPCTLSyclEventRef
882 const _DataType mean,
883 const _DataType scale,
885 const DPCTLEventVectorRef dep_event_vec_ref);
887template <
typename _DataType>
889 const _DataType mean,
890 const _DataType scale,
904template <
typename _DataType>
905INP_DLLEXPORT DPCTLSyclEventRef
910 const DPCTLEventVectorRef dep_event_vec_ref);
912template <
typename _DataType>
927template <
typename _DataType>
928INP_DLLEXPORT DPCTLSyclEventRef
933 const DPCTLEventVectorRef dep_event_vec_ref);
935template <
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)