Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangjie
OpenXG-RAN
Commits
31c85b22
Commit
31c85b22
authored
Feb 16, 2017
by
Cedric Roux
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
integration fix: remove ^M from file
command run: dos2unix openair1/SIMULATION/TOOLS/taus.c
parent
70c84ef8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
121 additions
and
121 deletions
+121
-121
openair1/SIMULATION/TOOLS/taus.c
openair1/SIMULATION/TOOLS/taus.c
+121
-121
No files found.
openair1/SIMULATION/TOOLS/taus.c
View file @
31c85b22
...
...
@@ -19,124 +19,124 @@
* contact@openairinterface.org
*/
#ifdef USER_MODE
#include <time.h>
#include <stdlib.h>
#else
#include <asm/io.h>
#include <asm/rtai.h>
#endif
#ifdef RTAI_ENABLED
#include <rtai.h>
#include <rtai_sched.h>
#define time(x) (unsigned int)(rt_get_time_ns())
#endif
unsigned
int
s0
,
s1
,
s2
,
b
;
//----------------------------------------------
//
/*!
*/
//
unsigned
int
taus
(
void
)
{
b
=
(((
s0
<<
13
)
^
s0
)
>>
19
);
s0
=
(((
s0
&
0xFFFFFFFE
)
<<
12
)
^
b
);
b
=
(((
s1
<<
2
)
^
s1
)
>>
25
);
s1
=
(((
s1
&
0xFFFFFFF8
)
<<
4
)
^
b
);
b
=
(((
s2
<<
3
)
^
s2
)
>>
11
);
s2
=
(((
s2
&
0xFFFFFFF0
)
<<
17
)
^
b
);
return
s0
^
s1
^
s2
;
}
#if 1
void
set_taus_seed
(
unsigned
int
seed_init
)
{
#ifdef USER_MODE
struct
drand48_data
buffer
;
unsigned
long
result
=
0
;
#endif
if
(
seed_init
==
0
)
{
s0
=
(
unsigned
int
)
time
(
NULL
);
s1
=
(
unsigned
int
)
time
(
NULL
);
s2
=
(
unsigned
int
)
time
(
NULL
);
}
else
{
#ifndef USER_MODE
s0
=
(
unsigned
int
)
0x1e23d852
;
s1
=
(
unsigned
int
)
0x81f38a1c
;
s2
=
(
unsigned
int
)
0xfe1a133e
;
#else
/* Use reentrant version of rand48 to ensure that no conflicts with other generators occur */
srand48_r
((
long
int
)
seed_init
,
&
buffer
);
mrand48_r
(
&
buffer
,
(
long
int
*
)
&
result
);
s0
=
result
;
mrand48_r
(
&
buffer
,
(
long
int
*
)
&
result
);
s1
=
result
;
mrand48_r
(
&
buffer
,
(
long
int
*
)
&
result
);
s2
=
result
;
#endif
}
}
#endif
#if 0
void set_taus_seed(unsigned int seed_init)
{
#ifdef USER_MODE
struct drand48_data buffer;
unsigned long result = 0;
#endif
s0 = (unsigned int)0x1e23d852;
s1 = (unsigned int)0x81f38a1c;
s2 = (unsigned int)0xfe1a133e;
return;
if (seed_init == 0) {
s0 = (unsigned int)time(NULL);
s1 = (unsigned int)time(NULL);
s2 = (unsigned int)time(NULL);
} else {
#ifndef USER_MODE
s0 = (unsigned int)0x1e23d852;
s1 = (unsigned int)0x81f38a1c;
s2 = (unsigned int)0xfe1a133e;
#else
// Use reentrant version of rand48 to ensure that no conflicts with other generators occur */
srand48_r((long int)seed_init, &buffer);
mrand48_r(&buffer, (long int *)&result);
s0 = result;
mrand48_r(&buffer, (long int *)&result);
s1 = result;
mrand48_r(&buffer, (long int *)&result);
s2 = result;
#endif
}
}
#endif
#ifdef MAIN
main
()
{
unsigned
int
i
,
rand
;
set_taus_seed
();
for
(
i
=
0
;
i
<
10
;
i
++
)
{
rand
=
taus
();
printf
(
"%u
\n
"
,
rand
);
}
}
#endif //MAIN
#ifdef USER_MODE
#include <time.h>
#include <stdlib.h>
#else
#include <asm/io.h>
#include <asm/rtai.h>
#endif
#ifdef RTAI_ENABLED
#include <rtai.h>
#include <rtai_sched.h>
#define time(x) (unsigned int)(rt_get_time_ns())
#endif
unsigned
int
s0
,
s1
,
s2
,
b
;
//----------------------------------------------
//
/*!
*/
//
unsigned
int
taus
(
void
)
{
b
=
(((
s0
<<
13
)
^
s0
)
>>
19
);
s0
=
(((
s0
&
0xFFFFFFFE
)
<<
12
)
^
b
);
b
=
(((
s1
<<
2
)
^
s1
)
>>
25
);
s1
=
(((
s1
&
0xFFFFFFF8
)
<<
4
)
^
b
);
b
=
(((
s2
<<
3
)
^
s2
)
>>
11
);
s2
=
(((
s2
&
0xFFFFFFF0
)
<<
17
)
^
b
);
return
s0
^
s1
^
s2
;
}
#if 1
void
set_taus_seed
(
unsigned
int
seed_init
)
{
#ifdef USER_MODE
struct
drand48_data
buffer
;
unsigned
long
result
=
0
;
#endif
if
(
seed_init
==
0
)
{
s0
=
(
unsigned
int
)
time
(
NULL
);
s1
=
(
unsigned
int
)
time
(
NULL
);
s2
=
(
unsigned
int
)
time
(
NULL
);
}
else
{
#ifndef USER_MODE
s0
=
(
unsigned
int
)
0x1e23d852
;
s1
=
(
unsigned
int
)
0x81f38a1c
;
s2
=
(
unsigned
int
)
0xfe1a133e
;
#else
/* Use reentrant version of rand48 to ensure that no conflicts with other generators occur */
srand48_r
((
long
int
)
seed_init
,
&
buffer
);
mrand48_r
(
&
buffer
,
(
long
int
*
)
&
result
);
s0
=
result
;
mrand48_r
(
&
buffer
,
(
long
int
*
)
&
result
);
s1
=
result
;
mrand48_r
(
&
buffer
,
(
long
int
*
)
&
result
);
s2
=
result
;
#endif
}
}
#endif
#if 0
void set_taus_seed(unsigned int seed_init)
{
#ifdef USER_MODE
struct drand48_data buffer;
unsigned long result = 0;
#endif
s0 = (unsigned int)0x1e23d852;
s1 = (unsigned int)0x81f38a1c;
s2 = (unsigned int)0xfe1a133e;
return;
if (seed_init == 0) {
s0 = (unsigned int)time(NULL);
s1 = (unsigned int)time(NULL);
s2 = (unsigned int)time(NULL);
} else {
#ifndef USER_MODE
s0 = (unsigned int)0x1e23d852;
s1 = (unsigned int)0x81f38a1c;
s2 = (unsigned int)0xfe1a133e;
#else
// Use reentrant version of rand48 to ensure that no conflicts with other generators occur */
srand48_r((long int)seed_init, &buffer);
mrand48_r(&buffer, (long int *)&result);
s0 = result;
mrand48_r(&buffer, (long int *)&result);
s1 = result;
mrand48_r(&buffer, (long int *)&result);
s2 = result;
#endif
}
}
#endif
#ifdef MAIN
main
()
{
unsigned
int
i
,
rand
;
set_taus_seed
();
for
(
i
=
0
;
i
<
10
;
i
++
)
{
rand
=
taus
();
printf
(
"%u
\n
"
,
rand
);
}
}
#endif //MAIN
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment