DPNP C++ backend kernel library 0.20.0dev0
Data Parallel Extension for NumPy*
Loading...
Searching...
No Matches
dpnp_iface_random.hpp
1//*****************************************************************************
2// Copyright (c) 2016, 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// - Neither the name of the copyright holder nor the names of its contributors
13// may be used to endorse or promote products derived from this software
14// without specific prior written permission.
15//
16// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
26// THE POSSIBILITY OF SUCH DAMAGE.
27//*****************************************************************************
28
29/*
30 * This header file is for interface Cython with C++.
31 * It should not contains any backend specific headers (like SYCL or math
32 * library) because all included headers will be exposed in Cython compilation
33 * procedure
34 *
35 * We would like to avoid backend specific things in higher level Cython
36 * modules. Any backend interface functions and types should be defined here.
37 *
38 * Also, this file should contains documentation on functions and types
39 * which are used in the interface
40 */
41
42#pragma once
43#ifndef BACKEND_IFACE_RANDOM_H // Cython compatibility
44#define BACKEND_IFACE_RANDOM_H
45
65template <typename _DataType>
66INP_DLLEXPORT DPCTLSyclEventRef
67 dpnp_rng_beta_c(DPCTLSyclQueueRef q_ref,
68 void *result,
69 const _DataType a,
70 const _DataType b,
71 const size_t size,
72 const DPCTLEventVectorRef dep_event_vec_ref);
73
74template <typename _DataType>
75INP_DLLEXPORT void dpnp_rng_beta_c(void *result,
76 const _DataType a,
77 const _DataType b,
78 const size_t size);
79
92template <typename _DataType>
93INP_DLLEXPORT DPCTLSyclEventRef
94 dpnp_rng_binomial_c(DPCTLSyclQueueRef q_ref,
95 void *result,
96 const int ntrial,
97 const double p,
98 const size_t size,
99 const DPCTLEventVectorRef dep_event_vec_ref);
100
101template <typename _DataType>
102INP_DLLEXPORT void dpnp_rng_binomial_c(void *result,
103 const int ntrial,
104 const double p,
105 const size_t size);
106
118template <typename _DataType>
119INP_DLLEXPORT DPCTLSyclEventRef
120 dpnp_rng_chisquare_c(DPCTLSyclQueueRef q_ref,
121 void *result,
122 const int df,
123 const size_t size,
124 const DPCTLEventVectorRef dep_event_vec_ref);
125
126template <typename _DataType>
127INP_DLLEXPORT void
128 dpnp_rng_chisquare_c(void *result, const int df, const size_t size);
129
141template <typename _DataType>
142INP_DLLEXPORT DPCTLSyclEventRef
143 dpnp_rng_exponential_c(DPCTLSyclQueueRef q_ref,
144 void *result,
145 const _DataType beta,
146 const size_t size,
147 const DPCTLEventVectorRef dep_event_vec_ref);
148
149template <typename _DataType>
150INP_DLLEXPORT void dpnp_rng_exponential_c(void *result,
151 const _DataType beta,
152 const size_t size);
153
166template <typename _DataType>
167INP_DLLEXPORT DPCTLSyclEventRef
168 dpnp_rng_f_c(DPCTLSyclQueueRef q_ref,
169 void *result,
170 const _DataType df_num,
171 const _DataType df_den,
172 const size_t size,
173 const DPCTLEventVectorRef dep_event_vec_ref);
174
175template <typename _DataType>
176INP_DLLEXPORT void dpnp_rng_f_c(void *result,
177 const _DataType df_num,
178 const _DataType df_den,
179 const size_t size);
180
193template <typename _DataType>
194INP_DLLEXPORT DPCTLSyclEventRef
195 dpnp_rng_gamma_c(DPCTLSyclQueueRef q_ref,
196 void *result,
197 const _DataType shape,
198 const _DataType scale,
199 const size_t size,
200 const DPCTLEventVectorRef dep_event_vec_ref);
201
202template <typename _DataType>
203INP_DLLEXPORT void dpnp_rng_gamma_c(void *result,
204 const _DataType shape,
205 const _DataType scale,
206 const size_t size);
207
220template <typename _DataType>
221INP_DLLEXPORT DPCTLSyclEventRef
222 dpnp_rng_gaussian_c(DPCTLSyclQueueRef q_ref,
223 void *result,
224 const _DataType mean,
225 const _DataType stddev,
226 const size_t size,
227 const DPCTLEventVectorRef dep_event_vec_ref);
228
229template <typename _DataType>
230INP_DLLEXPORT void dpnp_rng_gaussian_c(void *result,
231 const _DataType mean,
232 const _DataType stddev,
233 const size_t size);
234
247template <typename _DataType>
248INP_DLLEXPORT DPCTLSyclEventRef
249 dpnp_rng_geometric_c(DPCTLSyclQueueRef q_ref,
250 void *result,
251 const float p,
252 const size_t size,
253 const DPCTLEventVectorRef dep_event_vec_ref);
254
255template <typename _DataType>
256INP_DLLEXPORT void
257 dpnp_rng_geometric_c(void *result, const float p, const size_t size);
258
273template <typename _DataType>
274INP_DLLEXPORT DPCTLSyclEventRef
275 dpnp_rng_gumbel_c(DPCTLSyclQueueRef q_ref,
276 void *result,
277 const double loc,
278 const double scale,
279 const size_t size,
280 const DPCTLEventVectorRef dep_event_vec_ref);
281
282template <typename _DataType>
283INP_DLLEXPORT void dpnp_rng_gumbel_c(void *result,
284 const double loc,
285 const double scale,
286 const size_t size);
287
301template <typename _DataType>
302INP_DLLEXPORT DPCTLSyclEventRef
303 dpnp_rng_hypergeometric_c(DPCTLSyclQueueRef q_ref,
304 void *result,
305 const int l,
306 const int s,
307 const int m,
308 const size_t size,
309 const DPCTLEventVectorRef dep_event_vec_ref);
310
311template <typename _DataType>
312INP_DLLEXPORT void dpnp_rng_hypergeometric_c(void *result,
313 const int l,
314 const int s,
315 const int m,
316 const size_t size);
317
330template <typename _DataType>
331INP_DLLEXPORT DPCTLSyclEventRef
332 dpnp_rng_laplace_c(DPCTLSyclQueueRef q_ref,
333 void *result,
334 const double loc,
335 const double scale,
336 const size_t size,
337 const DPCTLEventVectorRef dep_event_vec_ref);
338
339template <typename _DataType>
340INP_DLLEXPORT void dpnp_rng_laplace_c(void *result,
341 const double loc,
342 const double scale,
343 const size_t size);
344
357template <typename _DataType>
358INP_DLLEXPORT DPCTLSyclEventRef
359 dpnp_rng_logistic_c(DPCTLSyclQueueRef q_ref,
360 void *result,
361 const double loc,
362 double const scale,
363 const size_t size,
364 const DPCTLEventVectorRef dep_event_vec_ref);
365
366template <typename _DataType>
367INP_DLLEXPORT void dpnp_rng_logistic_c(void *result,
368 const double loc,
369 double const scale,
370 const size_t size);
371
384template <typename _DataType>
385INP_DLLEXPORT DPCTLSyclEventRef
386 dpnp_rng_lognormal_c(DPCTLSyclQueueRef q_ref,
387 void *result,
388 const _DataType mean,
389 const _DataType stddev,
390 const size_t size,
391 const DPCTLEventVectorRef dep_event_vec_ref);
392
393template <typename _DataType>
394INP_DLLEXPORT void dpnp_rng_lognormal_c(void *result,
395 const _DataType mean,
396 const _DataType stddev,
397 const size_t size);
398
412template <typename _DataType>
413INP_DLLEXPORT DPCTLSyclEventRef
414 dpnp_rng_multinomial_c(DPCTLSyclQueueRef q_ref,
415 void *result,
416 const int ntrial,
417 const double *p_in,
418 const size_t p_size,
419 const size_t size,
420 const DPCTLEventVectorRef dep_event_vec_ref);
421
422template <typename _DataType>
423INP_DLLEXPORT void dpnp_rng_multinomial_c(void *result,
424 const int ntrial,
425 const double *p_in,
426 const size_t p_size,
427 const size_t size);
428
444template <typename _DataType>
445INP_DLLEXPORT DPCTLSyclEventRef
446 dpnp_rng_multivariate_normal_c(DPCTLSyclQueueRef q_ref,
447 void *result,
448 const int dimen,
449 const double *mean_in,
450 const size_t mean_size,
451 const double *cov_in,
452 const size_t cov_size,
453 const size_t size,
454 const DPCTLEventVectorRef dep_event_vec_ref);
455
456template <typename _DataType>
457INP_DLLEXPORT void dpnp_rng_multivariate_normal_c(void *result,
458 const int dimen,
459 const double *mean_in,
460 const size_t mean_size,
461 const double *cov_in,
462 const size_t cov_size,
463 const size_t size);
464
479template <typename _DataType>
480INP_DLLEXPORT DPCTLSyclEventRef
481 dpnp_rng_negative_binomial_c(DPCTLSyclQueueRef q_ref,
482 void *result,
483 const double a,
484 const double p,
485 const size_t size,
486 const DPCTLEventVectorRef dep_event_vec_ref);
487
488template <typename _DataType>
489INP_DLLEXPORT void dpnp_rng_negative_binomial_c(void *result,
490 const double a,
491 const double p,
492 const size_t size);
493
506template <typename _DataType>
507INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_noncentral_chisquare_c(
508 DPCTLSyclQueueRef q_ref,
509 void *result,
510 const _DataType df,
511 const _DataType nonc,
512 const size_t size,
513 const DPCTLEventVectorRef dep_event_vec_ref);
514
515template <typename _DataType>
516INP_DLLEXPORT void dpnp_rng_noncentral_chisquare_c(void *result,
517 const _DataType df,
518 const _DataType nonc,
519 const size_t size);
520
534template <typename _DataType>
535INP_DLLEXPORT DPCTLSyclEventRef
536 dpnp_rng_normal_c(DPCTLSyclQueueRef q_ref,
537 void *result_out,
538 const double mean,
539 const double stddev,
540 const int64_t size,
541 void *random_state_in,
542 const DPCTLEventVectorRef dep_event_vec_ref);
543
544template <typename _DataType>
545INP_DLLEXPORT void dpnp_rng_normal_c(void *result,
546 const _DataType mean,
547 const _DataType stddev,
548 const size_t size);
549
561template <typename _DataType>
562INP_DLLEXPORT DPCTLSyclEventRef
563 dpnp_rng_pareto_c(DPCTLSyclQueueRef q_ref,
564 void *result,
565 const double alpha,
566 const size_t size,
567 const DPCTLEventVectorRef dep_event_vec_ref);
568
569template <typename _DataType>
570INP_DLLEXPORT void
571 dpnp_rng_pareto_c(void *result, const double alpha, const size_t size);
572
584template <typename _DataType>
585INP_DLLEXPORT DPCTLSyclEventRef
586 dpnp_rng_poisson_c(DPCTLSyclQueueRef q_ref,
587 void *result,
588 const double lambda,
589 const size_t size,
590 const DPCTLEventVectorRef dep_event_vec_ref);
591
592template <typename _DataType>
593INP_DLLEXPORT void
594 dpnp_rng_poisson_c(void *result, const double lambda, const size_t size);
595
607template <typename _DataType>
608INP_DLLEXPORT DPCTLSyclEventRef
609 dpnp_rng_power_c(DPCTLSyclQueueRef q_ref,
610 void *result,
611 const double alpha,
612 const size_t size,
613 const DPCTLEventVectorRef dep_event_vec_ref);
614
615template <typename _DataType>
616INP_DLLEXPORT void
617 dpnp_rng_power_c(void *result, const double alpha, const size_t size);
618
630template <typename _DataType>
631INP_DLLEXPORT DPCTLSyclEventRef
632 dpnp_rng_rayleigh_c(DPCTLSyclQueueRef q_ref,
633 void *result,
634 const _DataType scale,
635 const size_t size,
636 const DPCTLEventVectorRef dep_event_vec_ref);
637
638template <typename _DataType>
639INP_DLLEXPORT void
640 dpnp_rng_rayleigh_c(void *result, const _DataType scale, const size_t size);
641
656template <typename _DataType>
657INP_DLLEXPORT DPCTLSyclEventRef
658 dpnp_rng_shuffle_c(DPCTLSyclQueueRef q_ref,
659 void *result,
660 const size_t itemsize,
661 const size_t ndim,
662 const size_t high_dim_size,
663 const size_t size,
664 const DPCTLEventVectorRef dep_event_vec_ref);
665
666template <typename _DataType>
667INP_DLLEXPORT void dpnp_rng_shuffle_c(void *result,
668 const size_t itemsize,
669 const size_t ndim,
670 const size_t high_dim_size,
671 const size_t size);
672
679INP_DLLEXPORT void dpnp_rng_srand_c(size_t seed = 1);
680
691template <typename _DataType>
692INP_DLLEXPORT DPCTLSyclEventRef
693 dpnp_rng_standard_cauchy_c(DPCTLSyclQueueRef q_ref,
694 void *result,
695 const size_t size,
696 const DPCTLEventVectorRef dep_event_vec_ref);
697
698template <typename _DataType>
699INP_DLLEXPORT void dpnp_rng_standard_cauchy_c(void *result, const size_t size);
700
711template <typename _DataType>
712INP_DLLEXPORT DPCTLSyclEventRef dpnp_rng_standard_exponential_c(
713 DPCTLSyclQueueRef q_ref,
714 void *result,
715 const size_t size,
716 const DPCTLEventVectorRef dep_event_vec_ref);
717
718template <typename _DataType>
719INP_DLLEXPORT void dpnp_rng_standard_exponential_c(void *result,
720 const size_t size);
721
733template <typename _DataType>
734INP_DLLEXPORT DPCTLSyclEventRef
735 dpnp_rng_standard_gamma_c(DPCTLSyclQueueRef q_ref,
736 void *result,
737 const _DataType shape,
738 const size_t size,
739 const DPCTLEventVectorRef dep_event_vec_ref);
740
741template <typename _DataType>
742INP_DLLEXPORT void dpnp_rng_standard_gamma_c(void *result,
743 const _DataType shape,
744 const size_t size);
745
756template <typename _DataType>
757INP_DLLEXPORT void dpnp_rng_standard_normal_c(void *result, const size_t size);
758
770template <typename _DataType>
771INP_DLLEXPORT DPCTLSyclEventRef
772 dpnp_rng_standard_t_c(DPCTLSyclQueueRef q_ref,
773 void *result,
774 const _DataType df,
775 const size_t size,
776 const DPCTLEventVectorRef dep_event_vec_ref);
777
778template <typename _DataType>
779INP_DLLEXPORT void
780 dpnp_rng_standard_t_c(void *result, const _DataType df, const size_t size);
781
796template <typename _DataType>
797INP_DLLEXPORT DPCTLSyclEventRef
798 dpnp_rng_triangular_c(DPCTLSyclQueueRef q_ref,
799 void *result,
800 const _DataType x_min,
801 const _DataType x_mode,
802 const _DataType x_max,
803 const size_t size,
804 const DPCTLEventVectorRef dep_event_vec_ref);
805
806template <typename _DataType>
807INP_DLLEXPORT void dpnp_rng_triangular_c(void *result,
808 const _DataType x_min,
809 const _DataType x_mode,
810 const _DataType x_max,
811 const size_t size);
812
826template <typename _DataType>
827INP_DLLEXPORT DPCTLSyclEventRef
828 dpnp_rng_uniform_c(DPCTLSyclQueueRef q_ref,
829 void *result_out,
830 const double low,
831 const double high,
832 const int64_t size,
833 void *random_state_in,
834 const DPCTLEventVectorRef dep_event_vec_ref);
835
836template <typename _DataType>
837INP_DLLEXPORT void dpnp_rng_uniform_c(void *result,
838 const long low,
839 const long high,
840 const size_t size);
841
854template <typename _DataType>
855INP_DLLEXPORT DPCTLSyclEventRef
856 dpnp_rng_vonmises_c(DPCTLSyclQueueRef q_ref,
857 void *result,
858 const _DataType mu,
859 const _DataType kappa,
860 const size_t size,
861 const DPCTLEventVectorRef dep_event_vec_ref);
862
863template <typename _DataType>
864INP_DLLEXPORT void dpnp_rng_vonmises_c(void *result,
865 const _DataType mu,
866 const _DataType kappa,
867 const size_t size);
868
881template <typename _DataType>
882INP_DLLEXPORT DPCTLSyclEventRef
883 dpnp_rng_wald_c(DPCTLSyclQueueRef q_ref,
884 void *result,
885 const _DataType mean,
886 const _DataType scale,
887 size_t size,
888 const DPCTLEventVectorRef dep_event_vec_ref);
889
890template <typename _DataType>
891INP_DLLEXPORT void dpnp_rng_wald_c(void *result,
892 const _DataType mean,
893 const _DataType scale,
894 size_t size);
895
907template <typename _DataType>
908INP_DLLEXPORT DPCTLSyclEventRef
909 dpnp_rng_weibull_c(DPCTLSyclQueueRef q_ref,
910 void *result,
911 const double alpha,
912 const size_t size,
913 const DPCTLEventVectorRef dep_event_vec_ref);
914
915template <typename _DataType>
916INP_DLLEXPORT void
917 dpnp_rng_weibull_c(void *result, const double alpha, const size_t size);
918
930template <typename _DataType>
931INP_DLLEXPORT DPCTLSyclEventRef
932 dpnp_rng_zipf_c(DPCTLSyclQueueRef q_ref,
933 void *result,
934 const _DataType a,
935 const size_t size,
936 const DPCTLEventVectorRef dep_event_vec_ref);
937
938template <typename _DataType>
939INP_DLLEXPORT void
940 dpnp_rng_zipf_c(void *result, const _DataType a, const size_t size);
941
942#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)