{"id":20875981,"url":"https://github.com/juliarandom/vsl.jl","last_synced_at":"2025-07-24T13:34:14.340Z","repository":{"id":43774827,"uuid":"56218158","full_name":"JuliaRandom/VSL.jl","owner":"JuliaRandom","description":"Julia bindings to the Intel Vector Statistics Library.","archived":false,"fork":false,"pushed_at":"2022-08-23T20:57:53.000Z","size":77,"stargazers_count":5,"open_issues_count":1,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-18T07:14:05.504Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JuliaRandom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-14T07:54:38.000Z","updated_at":"2023-08-14T09:04:43.000Z","dependencies_parsed_at":"2022-08-03T06:00:14.995Z","dependency_job_id":null,"html_url":"https://github.com/JuliaRandom/VSL.jl","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaRandom%2FVSL.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaRandom%2FVSL.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaRandom%2FVSL.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuliaRandom%2FVSL.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuliaRandom","download_url":"https://codeload.github.com/JuliaRandom/VSL.jl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243249011,"owners_count":20260768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-18T06:49:21.849Z","updated_at":"2025-03-12T16:18:06.533Z","avatar_url":"https://github.com/JuliaRandom.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VSL.jl\n[![CI Build](https://github.com/JuliaRandom/VSL.jl/actions/workflows/build.yml/badge.svg)](https://github.com/JuliaRandom/VSL.jl/actions/workflows/build.yml)\n[![codecov](https://codecov.io/gh/JuliaRandom/VSL.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaRandom/VSL.jl)\n\nThis package provides bindings to the [Intel Vector Statistics Library](https://www.intel.com/content/www/us/en/develop/documentation/onemkl-vsnotes/top.html).\n\n## Installation\n\n```julia\n]add VSL\n```\n\nJulia v1.7+ is required to install `VSL.jl`. and [`MKL_jll.jl`](https://github.com/JuliaBinaryWrappers/MKL_jll.jl)\nwill be downloaded automatically.\n\n## Usage\n\n`VSL.jl` provides several basic random number generators (BRNGs) and distributions, and each distribution has at least\none method to generate random number. After VSL.jl loaded, you can use the distributions such like the followings:\n\n```julia\njulia\u003e using VSL, Random\n\njulia\u003e brng = BasicRandomNumberGenerator(VSL_BRNG_MT19937, 12345);\n# A BRNG created, in which 12345 is the random seed.\n\njulia\u003e u = Uniform(brng, 0.0, 1.0); # Create a uniform distribution between 0.0 and 1.0.\n\njulia\u003e rand(u) # Generate one random number.\n0.41661986871622503\n\njulia\u003e rand(u, 2, 3) # Generate an random 2*3 array.\n2×3 Array{Float64,2}:\n 0.732685   0.820175  0.802848\n 0.0101692  0.825207  0.29864\n\njulia\u003e A = Array{Float64}(undef, 3, 4);\n\njulia\u003e rand!(u, A) # Fill an array with random numbers.\n3×4 Array{Float64,2}:\n 0.855138  0.193661  0.436228  0.124267\n 0.368412  0.270245  0.161688  0.874174\n 0.931785  0.566008  0.373064  0.432936\n```\n\n### Basic random number generators\n\nUse the Enum `BRNGType` to set the type of BRNG.\n\n| BRNGType Enum |\n| ------------------------ |\n| `VSL_BRNG_MCG31` |\n| `VSL_BRNG_R250` |\n| `VSL_BRNG_MRG32K3A` |\n| `VSL_BRNG_MCG59` |\n| `VSL_BRNG_WH` |\n| `VSL_BRNG_SOBOL` |\n| `VSL_BRNG_NIEDERR` |\n| `VSL_BRNG_MT19937` |\n| `VSL_BRNG_MT2203` |\n| `VSL_BRNG_SFMT19937` |\n| `VSL_BRNG_NONDETERM` |\n| `VSL_BRNG_ARS5` |\n| `VSL_BRNG_PHILOX4X32X10` |\n\n### Supported distributions\n\nContigurous: `Uniform`, `Gaussian`, `GaussianMV`, `Exponential`, `Laplace`,\n    `Weibull`, `Cauchy`, `Rayleigh`, `Lognormal`, `Gumbel`, `Gamma`, `Beta`\n\nDiscrete: `UniformDiscrete`, `UniformBits`, `UniformBits32`, `UniformBits64`, `Bernoulli`,\n    `Geometric`, `Binomial`, `Hypergeometric`, `Poisson`, `PoissonV`, `NegBinomial`\n\n### Notes\n\nMost of the discrete distributions return values of 32-bit integer. Please be careful when using those distributions.\n\nFor more information, please refer to the\n[Intel® Math Kernel Library Developer Reference](https://software.intel.com/en-us/articles/mkl-reference-manual)\n\n## License\n\n[MIT license](https://JuliaRandom.mit-license.org)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliarandom%2Fvsl.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliarandom%2Fvsl.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliarandom%2Fvsl.jl/lists"}