DPNP C++ backend kernel library 0.18.0dev0
Data Parallel Extension for NumPy*
Loading...
Searching...
No Matches
dpnp_iface_random.hpp
1//*****************************************************************************
2// Copyright (c) 2016-2025, Intel Corporation
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions are met:
7// - Redistributions of source code must retain the above copyright notice,
8// this list of conditions and the following disclaimer.
9// - Redistributions in binary form must reproduce the above copyright notice,
10// this list of conditions and the following disclaimer in the documentation
11// and/or other materials provided with the distribution.
12//
13// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
14// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
17// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23// THE POSSIBILITY OF SUCH DAMAGE.
24//*****************************************************************************
25
26/*
27 * This header file is for interface Cython with C++.
28 * It should not contains any backend specific headers (like SYCL or math
29 * library) because all included headers will be exposed in Cython compilation
30 * procedure
31 *
32 * We would like to avoid backend specific things in higher level Cython
33 * modules. Any backend interface functions and types should be defined here.
34 *
35 * Also, this file should contains documentation on functions and types
36 * which are used in the interface
37 */
38
39#pragma once
40#ifndef BACKEND_IFACE_RANDOM_H // Cython compatibility
41#define BACKEND_IFACE_RANDOM_H
42
62template <typename _DataType>
63INP_DLLEXPORT DPCTLSyclEventRef
64 dpnp_rng_beta_c(DPCTLSyclQueueRef q_ref,
65 void *result,
66 const _DataType a,
67 const _DataType b,
68 const size_t size,
69 const DPCTLEventVectorRef dep_event_vec_ref);
70
71template <typename _DataType>
72INP_DLLEXPORT void dpnp_rng_beta_c(void *result,
73 const _DataType a,
74 const _DataType b,
75 const size_t size);
76
89template <typename _DataType>
90INP_DLLEXPORT DPCTLSyclEventRef
91 dpnp_rng_binomial_c(DPCTLSyclQueueRef q_ref,
92 void *result,
93 const int ntrial,
94 const double p,
95 const size_t size,
96 const DPCTLEventVectorRef dep_event_vec_ref);
97
98template <typename _DataType>
99INP_DLLEXPORT void dpnp_rng_binomial_c(void *result,
100 const int ntrial,
101 const double p,
102 const size_t size);
103
115template <typename _DataType>
116INP_DLLEXPORT DPCTLSyclEventRef
117 dpnp_rng_chisquare_c(DPCTLSyclQueueRef q_ref,
118 void *result,
119 const int df,
120 const size_t size,
121 const DPCTLEventVectorRef dep_event_vec_ref);
122
123template <typename _DataType>
124INP_DLLEXPORT void
125 dpnp_rng_chisquare_c(void *result, const int df, const size_t size);
126
138template <typename _DataType>
139INP_DLLEXPORT DPCTLSyclEventRef
140 dpnp_rng_exponential_c(DPCTLSyclQueueRef q_ref,
141 void *result,
142 const _DataType beta,
143 const size_t size,
144 const DPCTLEventVectorRef dep_event_vec_ref);
145
146template <typename _DataType>
147INP_DLLEXPORT void dpnp_rng_exponential_c(void *result,
148 const _DataType beta,
149 const size_t size);
150
163template <typename _DataType>
164INP_DLLEXPORT DPCTLSyclEventRef
165 dpnp_rng_f_c(DPCTLSyclQueueRef q_ref,
166 void *result,
167 const _DataType df_num,
168 const _DataType df_den,
169 const size_t size,
170 const DPCTLEventVectorRef dep_event_vec_ref);
171
172template <typename _DataType>
173INP_DLLEXPORT void dpnp_rng_f_c(void *result,
174 const _DataType df_num,
175 const _DataType df_den,
176 const size_t size);
177
190template <typename _DataType>
191INP_DLLEXPORT DPCTLSyclEventRef
192 dpnp_rng_gamma_c(DPCTLSyclQueueRef q_ref,
193 void *result,
194 const _DataType shape,
195 const _DataType scale,
196 const size_t size,
197 const DPCTLEventVectorRef dep_event_vec_ref);
198
199template <typename _DataType>
200INP_DLLEXPORT void dpnp_rng_gamma_c(void *result,
201 const _DataType shape,
202 const _DataType scale,
203 const size_t size);
204
217template <typename _DataType>
218INP_DLLEXPORT DPCTLSyclEventRef
219 dpnp_rng_gaussian_c(DPCTLSyclQueueRef q_ref,
220 void *result,
221 const _DataType mean,
222 const _DataType stddev,
223 const size_t size,
224 const DPCTLEventVectorRef dep_event_vec_ref);
225
226template <typename _DataType>
227INP_DLLEXPORT void dpnp_rng_gaussian_c(void *result,
228 const _DataType mean,
229 const _DataType stddev,
230 const size_t size);
231
244template <typename _DataType>
245INP_DLLEXPORT DPCTLSyclEventRef
246 dpnp_rng_geometric_c(DPCTLSyclQueueRef q_ref,
247 void *result,
248 const float p,
249 const size_t size,
250 const DPCTLEventVectorRef dep_event_vec_ref);
251
252template <typename _DataType>
253INP_DLLEXPORT void
254 dpnp_rng_geometric_c(void *result, const float p, const size_t size);
255
270template <typename _DataType>
271INP_DLLEXPORT DPCTLSyclEventRef
272 dpnp_rng_gumbel_c(DPCTLSyclQueueRef q_ref,
273 void *result,
274 const double loc,
275 const double scale,
276 const size_t size,
277 const DPCTLEventVectorRef dep_event_vec_ref);
278
279template <typename _DataType>
280INP_DLLEXPORT void dpnp_rng_gumbel_c(void *result,
281 const double loc,
282 const double scale,
283 const size_t size);
284
298template <typename _DataType>
299INP_DLLEXPORT DPCTLSyclEventRef
300 dpnp_rng_hypergeometric_c(DPCTLSyclQueueRef q_ref,
301 void *result,
302 const int l,
303 const int s,
304 const int m,
305 const size_t size,
306 const DPCTLEventVectorRef dep_event_vec_ref);
307
308template <typename _DataType>
309INP_DLLEXPORT void dpnp_rng_hypergeometric_c(void *result,
310 const int l,
311 const int s,
312 const int m,
313 const size_t size);
314
327template <typename _DataType>
328INP_DLLEXPORT DPCTLSyclEventRef
329 dpnp_rng_laplace_c(DPCTLSyclQueueRef q_ref,
330 void *result,
331 const double loc,
332 const double scale,
333 const size_t size,
334 const DPCTLEventVectorRef dep_event_vec_ref);
335
336template <typename _DataType>
337INP_DLLEXPORT void dpnp_rng_laplace_c(void *result,
338 const double loc,
339 const double scale,
340 const size_t size);
341
354template <typename _DataType>
355INP_DLLEXPORT DPCTLSyclEventRef
356 dpnp_rng_logistic_c(DPCTLSyclQueueRef q_ref,
357 void *result,
358 const double loc,
359 double const scale,
360 const size_t size,
361 const DPCTLEventVectorRef dep_event_vec_ref);
362
363template <typename _DataType>
364INP_DLLEXPORT void dpnp_rng_logistic_c(void *result,
365 const double loc,
366 double const scale,
367 const size_t size);
368
381template <typename _DataType>
382INP_DLLEXPORT DPCTLSyclEventRef
383 dpnp_rng_lognormal_c(DPCTLSyclQueueRef q_ref,
384 void *result,
385 const _DataType mean,
386 const _DataType stddev,
387 const size_t size,
388 const DPCTLEventVectorRef dep_event_vec_ref);
389
390template <typename _DataType>
391INP_DLLEXPORT void dpnp_rng_lognormal_c(void *result,
392 const _DataType mean,
393 const _DataType stddev,
394 const size_t size);
395
409template <typename _DataType>
410INP_DLLEXPORT DPCTLSyclEventRef
411 dpnp_rng_multinomial_c(DPCTLSyclQueueRef q_ref,
412 void *result,
413 const int ntrial,
414 const double *p_in,
415 const size_t p_size,
416 const size_t size,
417 const DPCTLEventVectorRef dep_event_vec_ref);
418
419template <typename _DataType>
420INP_DLLEXPORT void dpnp_rng_multinomial_c(void *result,
421 const int ntrial,
422 const double *p_in,
423 const size_t p_size,
424 const size_t size);
425
441template <typename _DataType>
442INP_DLLEXPORT DPCTLSyclEventRef
443 dpnp_rng_multivariate_normal_c(DPCTLSyclQueueRef q_ref,
444 void *result,
445 const int dimen,
446 const double *mean_in,
447 const size_t mean_size,
448 const double *cov_in,
449 const size_t cov_size,
450 const size_t size,
451 const DPCTLEventVectorRef dep_event_vec_ref);
452
453template <typename _DataType>
454INP_DLLEXPORT void dpnp_rng_multivariate_normal_c(void *result,
455 const int dimen,
456 const double *mean_in,
457 const size_t mean_size,
458 const double *cov_in,
459 const size_t cov_size,
460 const size_t size);
461
476template <typename _DataType>
477INP_DLLEXPORT DPCTLSyclEventRef
478 dpnp_rng_negative_binomial_c(DPCTLSyclQueueRef q_ref,
479 void *result,
480 const double a,
481 const double p,
482 const size_t size,
483 const DPCTLEventVectorRef dep_event_vec_ref);
484
485template <typename _DataType>
486INP_DLLEXPORT void dpnp_rng_negative_binomial_c(void *result,
487 const double a,
488 const double p,
489 const size_t size);
490
503template <typename _DataType>
504INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_noncentral_chisquare_c(
505 DPCTLSyclQueueRef q_ref,
506 void *result,
507 const _DataType df,
508 const _DataType nonc,
509 const size_t size,
510 const DPCTLEventVectorRef dep_event_vec_ref);
511
512template <typename _DataType>
513INP_DLLEXPORT void dpnp_rng_noncentral_chisquare_c(void *result,
514 const _DataType df,
515 const _DataType nonc,
516 const size_t size);
517
531template <typename _DataType>
532INP_DLLEXPORT DPCTLSyclEventRef
533 dpnp_rng_normal_c(DPCTLSyclQueueRef q_ref,
534 void *result_out,
535 const double mean,
536 const double stddev,
537 const int64_t size,
538 void *random_state_in,
539 const DPCTLEventVectorRef dep_event_vec_ref);
540
541template <typename _DataType>
542INP_DLLEXPORT void dpnp_rng_normal_c(void *result,
543 const _DataType mean,
544 const _DataType stddev,
545 const size_t size);
546
558template <typename _DataType>
559INP_DLLEXPORT DPCTLSyclEventRef
560 dpnp_rng_pareto_c(DPCTLSyclQueueRef q_ref,
561 void *result,
562 const double alpha,
563 const size_t size,
564 const DPCTLEventVectorRef dep_event_vec_ref);
565
566template <typename _DataType>
567INP_DLLEXPORT void
568 dpnp_rng_pareto_c(void *result, const double alpha, const size_t size);
569
581template <typename _DataType>
582INP_DLLEXPORT DPCTLSyclEventRef
583 dpnp_rng_poisson_c(DPCTLSyclQueueRef q_ref,
584 void *result,
585 const double lambda,
586 const size_t size,
587 const DPCTLEventVectorRef dep_event_vec_ref);
588
589template <typename _DataType>
590INP_DLLEXPORT void
591 dpnp_rng_poisson_c(void *result, const double lambda, const size_t size);
592
604template <typename _DataType>
605INP_DLLEXPORT DPCTLSyclEventRef
606 dpnp_rng_power_c(DPCTLSyclQueueRef q_ref,
607 void *result,
608 const double alpha,
609 const size_t size,
610 const DPCTLEventVectorRef dep_event_vec_ref);
611
612template <typename _DataType>
613INP_DLLEXPORT void
614 dpnp_rng_power_c(void *result, const double alpha, const size_t size);
615
627template <typename _DataType>
628INP_DLLEXPORT DPCTLSyclEventRef
629 dpnp_rng_rayleigh_c(DPCTLSyclQueueRef q_ref,
630 void *result,
631 const _DataType scale,
632 const size_t size,
633 const DPCTLEventVectorRef dep_event_vec_ref);
634
635template <typename _DataType>
636INP_DLLEXPORT void
637 dpnp_rng_rayleigh_c(void *result, const _DataType scale, const size_t size);
638
653template <typename _DataType>
654INP_DLLEXPORT DPCTLSyclEventRef
655 dpnp_rng_shuffle_c(DPCTLSyclQueueRef q_ref,
656 void *result,
657 const size_t itemsize,
658 const size_t ndim,
659 const size_t high_dim_size,
660 const size_t size,
661 const DPCTLEventVectorRef dep_event_vec_ref);
662
663template <typename _DataType>
664INP_DLLEXPORT void dpnp_rng_shuffle_c(void *result,
665 const size_t itemsize,
666 const size_t ndim,
667 const size_t high_dim_size,
668 const size_t size);
669
676INP_DLLEXPORT void dpnp_rng_srand_c(size_t seed = 1);
677
688template <typename _DataType>
689INP_DLLEXPORT DPCTLSyclEventRef
690 dpnp_rng_standard_cauchy_c(DPCTLSyclQueueRef q_ref,
691 void *result,
692 const size_t size,
693 const DPCTLEventVectorRef dep_event_vec_ref);
694
695template <typename _DataType>
696INP_DLLEXPORT void dpnp_rng_standard_cauchy_c(void *result, const size_t size);
697
708template <typename _DataType>
709INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_standard_exponential_c(
710 DPCTLSyclQueueRef q_ref,
711 void *result,
712 const size_t size,
713 const DPCTLEventVectorRef dep_event_vec_ref);
714
715template <typename _DataType>
716INP_DLLEXPORT void dpnp_rng_standard_exponential_c(void *result,
717 const size_t size);
718
730template <typename _DataType>
731INP_DLLEXPORT DPCTLSyclEventRef
732 dpnp_rng_standard_gamma_c(DPCTLSyclQueueRef q_ref,
733 void *result,
734 const _DataType shape,
735 const size_t size,
736 const DPCTLEventVectorRef dep_event_vec_ref);
737
738template <typename _DataType>
739INP_DLLEXPORT void dpnp_rng_standard_gamma_c(void *result,
740 const _DataType shape,
741 const size_t size);
742
753template <typename _DataType>
754INP_DLLEXPORT void dpnp_rng_standard_normal_c(void *result, const size_t size);
755
767template <typename _DataType>
768INP_DLLEXPORT DPCTLSyclEventRef
769 dpnp_rng_standard_t_c(DPCTLSyclQueueRef q_ref,
770 void *result,
771 const _DataType df,
772 const size_t size,
773 const DPCTLEventVectorRef dep_event_vec_ref);
774
775template <typename _DataType>
776INP_DLLEXPORT void
777 dpnp_rng_standard_t_c(void *result, const _DataType df, const size_t size);
778
793template <typename _DataType>
794INP_DLLEXPORT DPCTLSyclEventRef
795 dpnp_rng_triangular_c(DPCTLSyclQueueRef q_ref,
796 void *result,
797 const _DataType x_min,
798 const _DataType x_mode,
799 const _DataType x_max,
800 const size_t size,
801 const DPCTLEventVectorRef dep_event_vec_ref);
802
803template <typename _DataType>
804INP_DLLEXPORT void dpnp_rng_triangular_c(void *result,
805 const _DataType x_min,
806 const _DataType x_mode,
807 const _DataType x_max,
808 const size_t size);
809
823template <typename _DataType>
824INP_DLLEXPORT DPCTLSyclEventRef
825 dpnp_rng_uniform_c(DPCTLSyclQueueRef q_ref,
826 void *result_out,
827 const double low,
828 const double high,
829 const int64_t size,
830 void *random_state_in,
831 const DPCTLEventVectorRef dep_event_vec_ref);
832
833template <typename _DataType>
834INP_DLLEXPORT void dpnp_rng_uniform_c(void *result,
835 const long low,
836 const long high,
837 const size_t size);
838
851template <typename _DataType>
852INP_DLLEXPORT DPCTLSyclEventRef
853 dpnp_rng_vonmises_c(DPCTLSyclQueueRef q_ref,
854 void *result,
855 const _DataType mu,
856 const _DataType kappa,
857 const size_t size,
858 const DPCTLEventVectorRef dep_event_vec_ref);
859
860template <typename _DataType>
861INP_DLLEXPORT void dpnp_rng_vonmises_c(void *result,
862 const _DataType mu,
863 const _DataType kappa,
864 const size_t size);
865
878template <typename _DataType>
879INP_DLLEXPORT DPCTLSyclEventRef
880 dpnp_rng_wald_c(DPCTLSyclQueueRef q_ref,
881 void *result,
882 const _DataType mean,
883 const _DataType scale,
884 size_t size,
885 const DPCTLEventVectorRef dep_event_vec_ref);
886
887template <typename _DataType>
888INP_DLLEXPORT void dpnp_rng_wald_c(void *result,
889 const _DataType mean,
890 const _DataType scale,
891 size_t size);
892
904template <typename _DataType>
905INP_DLLEXPORT DPCTLSyclEventRef
906 dpnp_rng_weibull_c(DPCTLSyclQueueRef q_ref,
907 void *result,
908 const double alpha,
909 const size_t size,
910 const DPCTLEventVectorRef dep_event_vec_ref);
911
912template <typename _DataType>
913INP_DLLEXPORT void
914 dpnp_rng_weibull_c(void *result, const double alpha, const size_t size);
915
927template <typename _DataType>
928INP_DLLEXPORT DPCTLSyclEventRef
929 dpnp_rng_zipf_c(DPCTLSyclQueueRef q_ref,
930 void *result,
931 const _DataType a,
932 const size_t size,
933 const DPCTLEventVectorRef dep_event_vec_ref);
934
935template <typename _DataType>
936INP_DLLEXPORT void
937 dpnp_rng_zipf_c(void *result, const _DataType a, const size_t size);
938
939#endif // BACKEND_IFACE_RANDOM_H
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)