Download Latest Version openrk-0.37.13.11.tar.xz (128.4 kB)
Email in envelope

Get an email when there's a new version of OpenRK

Home
Name Modified Size InfoDownloads / Week
openrk-0.37.13.11.tar.xz 2024-06-23 128.4 kB
openrk-0.37.13.11.tar.bz2 2024-06-23 132.7 kB
openrk-0.37.13.11.tar.gz 2024-06-23 181.1 kB
openrk-0.35.5.9.tar.xz 2024-04-26 120.6 kB
openrk-0.35.5.9.tar.bz2 2024-04-26 128.1 kB
openrk-0.35.5.9.tar.gz 2024-04-26 170.5 kB
openrk-0.33.3.3.tar.xz 2024-04-05 120.4 kB
openrk-0.33.3.3.tar.bz2 2024-04-05 127.7 kB
openrk-0.33.3.3.tar.gz 2024-04-05 170.1 kB
openrk-0.31.7.11.tar.xz 2024-03-22 120.0 kB
openrk-0.31.7.11.tar.bz2 2024-03-22 126.8 kB
openrk-0.31.7.11.tar.gz 2024-03-22 170.0 kB
openrk-0.29.37.7.tar.gz 2023-01-20 168.1 kB
openrk-0.29.37.7.tar.xz 2023-01-20 118.3 kB
openrk-0.29.37.7.tar.bz2 2023-01-20 125.4 kB
openrk-0.27.9.17.tar.xz 2022-06-19 100.5 kB
openrk-0.27.9.17.tar.gz 2022-06-19 144.1 kB
openrk-0.27.9.17.tar.bz2 2022-06-19 110.8 kB
openrk-0.27.9.15.tar.xz 2022-06-16 100.7 kB
openrk-0.27.9.15.tar.bz2 2022-06-16 110.7 kB
openrk-0.27.9.15.tar.gz 2022-06-16 144.1 kB
openrk-0.25.9.5.tar.xz 2022-01-19 97.7 kB
openrk-0.25.9.5.tar.bz2 2022-01-19 108.1 kB
openrk-0.25.9.5.tar.gz 2022-01-19 140.1 kB
openrk-0.23.15.27.tar.xz 2021-09-01 92.7 kB
openrk-0.23.15.27.tar.gz 2021-09-01 132.0 kB
openrk-0.21.15.7.tar.xz 2021-05-01 81.0 kB
openrk-0.21.15.7.tar.gz 2021-05-01 115.3 kB
openrk-0.19.13.13.tar.gz 2021-02-13 106.6 kB
openrk-0.19.13.13.tar.xz 2021-02-13 75.8 kB
openrk-0.17.9.1.tar.xz 2020-09-14 74.5 kB
openrk-0.17.9.1.tar.gz 2020-09-13 104.6 kB
openrk-0.15.7.3.tar.gz 2020-05-14 83.2 kB
openrk-0.15.7.2.tar.gz 2020-05-03 82.4 kB
README 2020-05-03 6.4 kB
Totals: 35 Items   4.1 MB 0
 
 OpenRK - Open Randomness Kit 
 ----------------------------
 A software development kit for the generation of pseudorandom numbers
 and related tasks.


About
-----
The OpenRK - Open Randomness Kit library is a collection of pseudorandom 
numbers related routines for numerical computing for C and C++ programmers. 
It was developed from scratch in C to provide a modern and simple to use 
Applications Programming Interface (API), which helps in decreasing your 
development time and help you achieve better results. It is intended for 
ordinary scientific users. Anyone who knows some C programming will be 
able to start using it straight-away.

The library is thread-safe, easy to compile and does not have any 
dependencies on other packages making it portable easy.

It provides a wide range of routines such as up-to-date 64bits pseudorandom 
number generators, special functions for value convertion and random number 
distributions.

The OpenRK - Open Randomness Kit library is “free software”, this means 
that everyone is free to use it, and to redistribute it in other free 
programs. The library is not in the public domain, it is distributed 
under the GNU Affero General Public License.


Features
--------
The range of subject features covered by the OpenRK library include:

* Pseudorandom number generators:
  - Lcg64
  - Mlcg64
  - LCG96
  - Lcg128
  - Mlcg128
  - Taus258
  - Lfg64
  - Alfg64
  - Mlfg64
  - Gfsr2
  - Gfsr4
  - Xorshift64
  - Mt64
  - Tinymt64
  - Splitmix
  - Pcg64_RXS_M_XS
  - Pcg64_XSL_RR_RR
  - Pcg128_XSL_RR
  - Pcg128_XSH_RR
  - Pcg128_XSH_RS
  - MLehmer
  - Wyrand
  - Wyhash
  - Jsp
  - Msws
  - Jlkiss64

* Random Number Distributions:
  - The Gaussian Distribution
  - The Gaussian Tail Distribution
  - The Bivariate Gaussian Distribution
  - The Exponential Distribution
  - The Laplace Distribution
  - The Exponential Power Distribution
  - The Cauchy Distribution
  - The Rayleigh Distribution
  - The Rayleigh Tail Distribution
  - The Landau Distribution
  - The Levy alpha-Stable Distribution
  - The Levy skew alpha-Stable Distribution
  - The Gamma Distribution
  - The Flat (Uniform) Distribution
  - The lognormal distribution
  - The Chi-squared Distribution
  - The F-distribution
  - The t-distribution
  - The Beta Distribution
  - The Logistic Distribution
  - The Pareto Distribution
  - The Spherical Vector Distributions
  - The Weibull Distribution
  - The Type-1 Gumbel Distribution
  - The Type-2 Gumbel Distribution
  - The Dirichlet Distribution
  - The Bates Distribution
  - The Irwin–Hall Distribution
  - The Triangular Distibution
  - The Rennan Distribution
  - The valley Distribution
  - The Poisson Distribution
  - The Bernoulli Distribution
  - The Binomial Distribution
  - The Multinomial Distribution
  - The Negative Binomial Distribution
  - The Pascal Distribution
  - The Geometric Distribution
  - The Hypergeometric Distribution
  - The Logarithmic Distribution
  
* Error management
* Sampling and mixing data
* Ranged integers
* Integer to floating point convertion
  

Installation from distribution packages
---------------------------------------
Using distribution packages on Linux, BSD and similar distributions
is the easiest and recommended way. This way you will also benefit
from automatic OpenRK updates by the package manager of the distribution.

By the time being OpenRK is a recent software and is not available in
many distribuitions.


Installation from sources
-------------------------

Requirements
++++++++++++
For compiling OpenRK yourself, you will need a 64BITS(*) unix like system 
(Linux or BSD based systems are a good choise), preferable hardware with 
an integer mode wide enough to hold 128 bits, and optionally equiped with 
an on-chip hardware random number generator (The RDSEED and RDRAND 
instructions available in modern x86-64 processors are the sets currently 
supported).

Furthermore you need, of course, a C compiler and optionaly the Make tool. 
The GNU versions of these tools are recommended, but the code should 
compile with any standards compliant compiler.

(*) OpenRK is 64Bits native, it doesn't support or work on 32bits systems.


Installing from a release tarball
+++++++++++++++++++++++++++++++++
Unpack the archive tarball change to the created directory openrk-x.x.x.x 
and run the following three commands:

    $ ./configure (or $ sh configure)
    $ make
    $ make install (as root, or using sudo)

For more configuration details run `./configure -help` or `./configure -h`.

Alternatively run the instalation script:

    $ ./install.sh
    
For more configuration details run `./install -help` or `./install -h`.

If there are any errors during compilation, check your build environment
and try to find the error, otherwise contact the author.


Use OpenRK in your programs
---------------------------
The file openrk.h contains all definitions needed to use the OpenRK library. 
Include it in your code and use the compiler option -lopenrk to link your 
program to the OpenRK library (dynamic linking):

    $ cc -o myprog myprog.c -lopenrk

You can also compile OpenRK directly with your programs. This is easy as 
the entire library code consists of two files, openrk.h and openrk.c.

    $ cc -o myprog myprog.c openrk.c
    
In this case if your system has the instructions rdseed and rdrnd and you 
want to use them you must add the compiler options -mrdrnd and -mrdseed.

    $ cc -o myprog myprog.c openrk.c -mrdrnd -mrdseed

You can check if this instructions are avaiable in your system by reading 
the flags section of system file /proc/cpuinfo.


License
-------
OpenRK is is free software distributed under under the terms of the 
GNU Affero General Public License as published  by the Free Software 
Foundation, either version 3 of the License, or (at your option) any 
later version. A copy of this license can be found in the file agpl.txt 
included with the source code of this software.

The included examples, demos and tools have their own licenses, which can
be found included in the source code file, at the top of each file.


Ideas, questions, patches and bug reports
-----------------------------------------
Any feedback is very welcome (sugestions, ideias, bug report or fixes, etc.).
See https: https://sourceforge.net/projects/openrk/
email: <jfernandes.bitalley@yahoo.com>

Source: README, updated 2020-05-03