| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- /* file: mkl_vsl_functions_64.h */
- /*******************************************************************************
- * Copyright 2023 Intel Corporation.
- *
- * This software and the related documents are Intel copyrighted materials, and
- * your use of them is governed by the express license under which they were
- * provided to you (License). Unless the License provides otherwise, you may not
- * use, modify, copy, publish, distribute, disclose or transmit this software or
- * the related documents without Intel's prior written permission.
- *
- * This software and the related documents are provided as is, with no express
- * or implied warranties, other than those that are expressly stated in the
- * License.
- *******************************************************************************/
- /*
- //++
- // User-level VSL function declarations _64
- //--
- */
- #ifndef __MKL_VSL_FUNCTIONS_64_H__
- #define __MKL_VSL_FUNCTIONS_64_H__
- #include "mkl_vsl_types.h"
- #ifndef NOTHROW
- #ifdef __cplusplus
- #if __cplusplus > 199711L
- #define NOTHROW noexcept
- #else
- #define NOTHROW throw()
- #endif
- #else
- #define NOTHROW
- #endif
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
- /*
- //++
- // EXTERNAL API MACROS.
- // Used to construct VSL function declaration. Change them if you are going to
- // provide different API for VSL functions.
- //--
- */
- #if !defined(_Mkl_Api)
- #define _Mkl_Api(rtype,name,arg) extern rtype name arg
- #endif
- #if !defined(_mkl_api)
- #define _mkl_api(rtype,name,arg) extern rtype name##_ arg
- #endif
- #if !defined(_MKL_API)
- #define _MKL_API(rtype,name,arg) extern rtype name##_ arg
- #endif
- /* VSL routines with MKL_INT64 input parameters */
- /* Note: ILP64 interfaces are not supported on IA-32 architecture */
- #if defined(_WIN64) || defined(__MINGW64__) || defined(__x86_64__)
- /*
- //++
- // VSL CONTINUOUS DISTRIBUTION GENERATOR FUNCTION DECLARATIONS.
- //--
- */
- /* Cauchy distribution */
- _Mkl_Api(int,vdRngCauchy_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const double , const double ) NOTHROW);
- _Mkl_Api(int,vsRngCauchy_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const float , const float ) NOTHROW);
- /* Uniform distribution */
- _Mkl_Api(int,vdRngUniform_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const double , const double ) NOTHROW);
- _Mkl_Api(int,vsRngUniform_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const float , const float ) NOTHROW);
- /* Gaussian distribution */
- _Mkl_Api(int,vdRngGaussian_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const double , const double ) NOTHROW);
- _Mkl_Api(int,vsRngGaussian_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const float , const float ) NOTHROW);
- /* GaussianMV distribution */
- _Mkl_Api(int,vdRngGaussianMV_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const MKL_INT64 , const MKL_INT64 , const double *, const double *) NOTHROW);
- _Mkl_Api(int,vsRngGaussianMV_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const MKL_INT64 , const MKL_INT64 , const float *, const float * ) NOTHROW);
- /* Exponential distribution */
- _Mkl_Api(int,vdRngExponential_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const double , const double ) NOTHROW);
- _Mkl_Api(int,vsRngExponential_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const float , const float ) NOTHROW);
- /* Laplace distribution */
- _Mkl_Api(int,vdRngLaplace_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const double , const double ) NOTHROW);
- _Mkl_Api(int,vsRngLaplace_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const float , const float ) NOTHROW);
- /* Weibull distribution */
- _Mkl_Api(int,vdRngWeibull_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const double , const double , const double ) NOTHROW);
- _Mkl_Api(int,vsRngWeibull_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const float , const float , const float ) NOTHROW);
- /* Rayleigh distribution */
- _Mkl_Api(int,vdRngRayleigh_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const double , const double ) NOTHROW);
- _Mkl_Api(int,vsRngRayleigh_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const float , const float ) NOTHROW);
- /* Lognormal distribution */
- _Mkl_Api(int,vdRngLognormal_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const double , const double , const double , const double ) NOTHROW);
- _Mkl_Api(int,vsRngLognormal_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const float , const float , const float , const float ) NOTHROW);
- /* Gumbel distribution */
- _Mkl_Api(int,vdRngGumbel_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const double , const double ) NOTHROW);
- _Mkl_Api(int,vsRngGumbel_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const float , const float ) NOTHROW);
- /* Gamma distribution */
- _Mkl_Api(int,vdRngGamma_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const double , const double , const double ) NOTHROW);
- _Mkl_Api(int,vsRngGamma_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const float , const float , const float ) NOTHROW);
- /* Beta distribution */
- _Mkl_Api(int,vdRngBeta_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const double , const double , const double , const double ) NOTHROW);
- _Mkl_Api(int,vsRngBeta_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const float , const float , const float , const float ) NOTHROW);
- /* Chi-square distribution */
- _Mkl_Api(int,vdRngChiSquare_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , double [], const int ) NOTHROW);
- _Mkl_Api(int,vsRngChiSquare_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , float [], const int ) NOTHROW);
- /*
- //++
- // VSL DISCRETE DISTRIBUTION GENERATOR FUNCTION DECLARATIONS.
- //--
- */
- /* Bernoulli distribution */
- _Mkl_Api(int,viRngBernoulli_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , int [], const double ) NOTHROW);
- /* Uniform distribution */
- _Mkl_Api(int,viRngUniform_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , int [], const int , const int ) NOTHROW);
- /* UniformBits distribution */
- _Mkl_Api(int,viRngUniformBits_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , unsigned int []) NOTHROW);
- /* UniformBits32 distribution */
- _Mkl_Api(int,viRngUniformBits32_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , unsigned int []) NOTHROW);
- /* UniformBits64 distribution */
- _Mkl_Api(int,viRngUniformBits64_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , unsigned MKL_INT64 []) NOTHROW);
- /* Geometric distribution */
- _Mkl_Api(int,viRngGeometric_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , int [], const double ) NOTHROW);
- /* Binomial distribution */
- _Mkl_Api(int,viRngBinomial_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , int [], const int , const double ) NOTHROW);
- /* Multinomial distribution */
- _Mkl_Api(int,viRngMultinomial_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , int [], const int , const int , const double []) NOTHROW);
- /* Hypergeometric distribution */
- _Mkl_Api(int,viRngHypergeometric_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , int [], const int , const int , const int ) NOTHROW);
- /* Negbinomial distribution */
- _Mkl_Api(int,viRngNegbinomial_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , int [], const double , const double ) NOTHROW);
- _Mkl_Api(int,viRngNegBinomial_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , int [], const double , const double ) NOTHROW);
- /* Poisson distribution */
- _Mkl_Api(int,viRngPoisson_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , int [], const double ) NOTHROW);
- /* PoissonV distribution */
- _Mkl_Api(int,viRngPoissonV_64,(const MKL_INT64 , VSLStreamStatePtr , const MKL_INT64 , int [], const double []) NOTHROW);
- /*
- //++
- // VSL SERVICE FUNCTION DECLARATIONS.
- //--
- */
- /* NewStream - stream creation/initialization */
- _Mkl_Api(int,vslNewStream_64,(VSLStreamStatePtr* , const MKL_INT64 , const MKL_UINT64 ) NOTHROW);
- /* NewStreamEx - advanced stream creation/initialization */
- _Mkl_Api(int,vslNewStreamEx_64,(VSLStreamStatePtr* , const MKL_INT64 , const MKL_INT64 , const unsigned int[]) NOTHROW);
- /*
- //++
- // SUMMARARY STATTISTICS LIBRARY ROUTINES
- //--
- */
- /*
- // Task constructors
- */
- _Mkl_Api(int,vsldSSNewTask_64,(VSLSSTaskPtr* , const MKL_INT64* , const MKL_INT64* , const MKL_INT64* , const double [], const double [], const MKL_INT64 []) NOTHROW);
- _Mkl_Api(int,vslsSSNewTask_64,(VSLSSTaskPtr* , const MKL_INT64* , const MKL_INT64* , const MKL_INT64* , const float [], const float [], const MKL_INT64 []) NOTHROW);
- #endif
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
- #endif /* __MKL_VSL_FUNCTIONS_64_H__ */
|