ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/mdtools/headers/sprng.h
Revision: 250
Committed: Mon Jan 27 22:12:57 2003 UTC (21 years, 5 months ago) by chuckv
Content type: text/plain
File size: 2083 byte(s)
Log Message:
More bug fixes... Forgot to build sprng

File Contents

# Content
1 #ifndef _sprng_h_
2 #define _sprng_h_
3
4
5 #define SPRNG_LFG 0
6 #define SPRNG_LCG 1
7 #define SPRNG_LCG64 2
8 #define SPRNG_CMRG 3
9 #define SPRNG_MLFG 4
10 #define SPRNG_PMLCG 5
11
12 #include "sprng_interface.h"
13
14 #define SPRNG_DEFAULT 0
15 #define CRAYLCG 0
16 #define DRAND48 1
17 #define FISH1 2
18 #define FISH2 3
19 #define FISH3 4
20 #define FISH4 5
21 #define FISH5 6
22 #define LECU1 0
23 #define LECU2 1
24 #define LECU3 2
25 #define LAG1279 0
26 #define LAG17 1
27 #define LAG31 2
28 #define LAG55 3
29 #define LAG63 4
30 #define LAG127 5
31 #define LAG521 6
32 #define LAG521B 7
33 #define LAG607 8
34 #define LAG607B 9
35 #define LAG1279B 10
36
37 #define CHECK 1
38
39 #define MAX_PACKED_LENGTH 24000
40
41 #ifdef USE_MPI
42 #define MPINAME(A) A ## _mpi
43 #else
44 #define MPINAME(A) A
45 #endif
46
47 #define make_sprng_seed MPINAME(make_new_seed)
48
49 #if defined(SIMPLE_SPRNG)
50
51 #define pack_sprng pack_rng_simple
52 #define unpack_sprng unpack_rng_simple
53 #define isprng MPINAME(get_rn_int_simple)
54 #define init_sprng MPINAME(init_rng_simple)
55 #define print_sprng print_rng_simple
56
57 #ifdef FLOAT_GEN
58 #define sprng MPINAME(get_rn_flt_simple)
59 #else
60 #define sprng MPINAME(get_rn_dbl_simple)
61 #endif
62
63 #elif !defined(CHECK_POINTERS)
64
65 #define free_sprng free_rng
66 #define pack_sprng pack_rng
67 #define unpack_sprng unpack_rng
68 #define isprng get_rn_int
69 #define spawn_sprng(A,B,C) spawn_rng(A,B,C,!CHECK)
70 #define init_sprng init_rng
71 #define print_sprng print_rng
72
73 #ifdef FLOAT_GEN
74 #define sprng get_rn_flt
75 #else
76 #define sprng get_rn_dbl
77 #endif
78
79 #else
80
81 #define free_sprng(A) ((deleteID(A)==NULL) ? -1 : free_rng(A))
82 #define pack_sprng(A,B) ((checkID(A)==NULL) ? 0 : pack_rng(A,B))
83 #define unpack_sprng(A) addID(unpack_rng(A))
84 #define isprng(A) ((checkID(A)==NULL) ? -1 : get_rn_int(A))
85 #define spawn_sprng(A,B,C) ((checkID(A)==NULL) ? 0 : spawn_rng(A,B,C,CHECK))
86 #define init_sprng(A,B,C,D,E) addID(init_rng(A,B,C,D,E))
87 #define print_sprng(A) ((checkID(A)==NULL) ? 0 : print_rng(A))
88
89 #ifdef FLOAT_GEN
90 #define sprng(A) ((checkID(A)==NULL) ? -1.0 : get_rn_flt(A))
91 #else
92 #define sprng(A) ((checkID(A)==NULL) ? -1.0 : get_rn_dbl(A))
93 #endif
94
95 #endif
96
97 #endif