Yeppp!
Main Page
Modules
Data Structures
Examples
All
Data Structures
Functions
Variables
Typedefs
Enumerations
Enumerator
Groups
Pages
yepRandom.h
1
/*
2
* Yeppp! library header
3
*
4
* This file is part of Yeppp! library and licensed under the New BSD license.
5
*
6
* Copyright (C) 2010-2012 Marat Dukhan
7
* Copyright (C) 2012-2013 Georgia Institute of Technology
8
* All rights reserved.
9
*
10
* Redistribution and use in source and binary forms, with or without
11
* modification, are permitted provided that the following conditions are met:
12
* * Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* * Redistributions in binary form must reproduce the above copyright
15
* notice, this list of conditions and the following disclaimer in the
16
* documentation and/or other materials provided with the distribution.
17
* * Neither the name of the Georgia Institute of Technology nor the
18
* names of its contributors may be used to endorse or promote products
19
* derived from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
22
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
* DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
25
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
28
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
*/
32
33
#pragma once
34
35
#include <yepPredefines.h>
36
#include <yepTypes.h>
37
40
#pragma pack(push, 1)
41
42
struct
YepRandom_WELL1024a
{
43
Yep32u
state[32];
44
Yep32u
index;
45
};
46
47
#pragma pack(pop)
48
49
#ifdef __cplusplus
50
extern
"C"
{
51
#endif
52
62
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepRandom_WELL1024a_Init
(
struct
YepRandom_WELL1024a
*
YEP_RESTRICT
state);
72
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepRandom_WELL1024a_Init_V32u
(
struct
YepRandom_WELL1024a
*
YEP_RESTRICT
state,
const
Yep32u
seed[32]);
84
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepRandom_WELL1024a_GenerateDiscreteUniform__V32u
(
struct
YepRandom_WELL1024a
*
YEP_RESTRICT
state,
Yep32u
*
YEP_RESTRICT
samples,
YepSize
length);
99
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepRandom_WELL1024a_GenerateDiscreteUniform_S32uS32u_V32u
(
struct
YepRandom_WELL1024a
*
YEP_RESTRICT
state,
Yep32u
supportMin,
Yep32u
supportMax,
Yep32u
*
YEP_RESTRICT
samples,
YepSize
length);
114
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepRandom_WELL1024a_GenerateUniform_S32fS32f_V32f_Acc32
(
struct
YepRandom_WELL1024a
*
YEP_RESTRICT
state,
Yep32f
supportMin,
Yep32f
supportMax,
Yep32f
*
YEP_RESTRICT
samples,
YepSize
length);
129
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepRandom_WELL1024a_GenerateFPUniform_S32fS32f_V32f
(
struct
YepRandom_WELL1024a
*
YEP_RESTRICT
state,
Yep32f
supportMin,
Yep32f
supportMax,
Yep32f
*
YEP_RESTRICT
samples,
YepSize
length);
144
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepRandom_WELL1024a_GenerateUniform_S64fS64f_V64f_Acc32
(
struct
YepRandom_WELL1024a
*
YEP_RESTRICT
state,
Yep64f
supportMin,
Yep64f
supportMax,
Yep64f
*
YEP_RESTRICT
samples,
YepSize
length);
159
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepRandom_WELL1024a_GenerateUniform_S64fS64f_V64f_Acc64
(
struct
YepRandom_WELL1024a
*
YEP_RESTRICT
state,
Yep64f
supportMin,
Yep64f
supportMax,
Yep64f
*
YEP_RESTRICT
samples,
YepSize
length);
174
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepRandom_WELL1024a_GenerateFPUniform_S64fS64f_V64f
(
struct
YepRandom_WELL1024a
*
YEP_RESTRICT
state,
Yep64f
supportMin,
Yep64f
supportMax,
Yep64f
*
YEP_RESTRICT
samples,
YepSize
length);
175
176
#ifdef __cplusplus
177
}
178
#endif
C/C++
Java
Generated by