summaryrefslogtreecommitdiff
blob: c84a288d47dd626ac63d6bc3ded5a2a0aa9fc177 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
Use portable 'static inline' semantics that work in GNU89 and C99
See also: http://www.greenend.org.uk/rjk/tech/inline.html

--- a/src/dicg.c
+++ b/src/dicg.c
@@ -441,7 +441,7 @@
  * Algorithm by Karin Schaber and Otmar Lendl.
  *
  */                                                  
-inline prng_num prng_dicg_multiply(int k,prng_num c, prng_num d)
+prng_num prng_dicg_multiply(int k,prng_num c, prng_num d)
 {
   int i;
   struct mtable *t;
--- a/src/external.c
+++ b/src/external.c
@@ -139,7 +139,7 @@
  *      gen:  Pointer to a struct prng.
  *
  */
-inline prng_num prng_tt800_get_next_int(struct prng *gen)
+prng_num prng_tt800_get_next_int(struct prng *gen)
 {
 unsigned int y;
 struct tt800_state *g;
--- a/src/icg.c
+++ b/src/icg.c
@@ -110,7 +110,7 @@
  *      gen:  Pointer to a struct prng.
  *
  */
-inline prng_num prng_icg_get_next_int(struct prng *gen)
+prng_num prng_icg_get_next_int(struct prng *gen)
 {
   s_prng_num inv, current, prod;
   
--- a/src/lcg.c
+++ b/src/lcg.c
@@ -111,7 +111,7 @@
  *      gen:  Pointer to a struct prng.
  *
  */
-inline prng_num prng_lcg_get_next_int(struct prng *gen)
+prng_num prng_lcg_get_next_int(struct prng *gen)
 {
   s_prng_num ax, current;
 
--- a/src/meicg.c
+++ b/src/meicg.c
@@ -106,7 +106,7 @@
  *      gen:  Pointer to a struct prng.
  *
  */
-inline prng_num prng_meicg_get_next_int(struct prng *gen)
+prng_num prng_meicg_get_next_int(struct prng *gen)
 {
   s_prng_num an, sum, inv, n;
 
--- a/src/mt19937.c
+++ b/src/mt19937.c
@@ -172,7 +172,7 @@
  *      gen:  Pointer to a struct prng.
  *
  */
-inline prng_num prng_mt19937_get_next_int(struct prng *gen)
+prng_num prng_mt19937_get_next_int(struct prng *gen)
 {
 #define MT  gen->data.mt19937_data.mt
 #define MTI gen->data.mt19937_data.mti
--- a/src/prng.h
+++ b/src/prng.h
@@ -406,7 +406,7 @@
 /* INLINE fnk def. for mult_mod, I don't know if this works for non-GCC */
 
 #ifdef __GNUC__
-extern __inline__ prng_num mult_mod(prng_num s,struct mult_mod_struct *mm)
+static inline prng_num mult_mod(prng_num s,struct mult_mod_struct *mm)
 {
 s_prng_num s_tmp;
 
--- a/src/qcg.c
+++ b/src/qcg.c
@@ -107,7 +107,7 @@
  *      gen:  Pointer to a struct prng.
  *
  */
-inline prng_num prng_qcg_get_next_int(struct prng *gen)
+prng_num prng_qcg_get_next_int(struct prng *gen)
 {
   s_prng_num current, sum, square, q_term, l_term;
 
--- a/src/support.c
+++ b/src/support.c
@@ -449,52 +449,6 @@
 		}
 }
 
-#ifndef __cplusplus
-/* 
- * Modular Multiplication. Uses the precalculated values from mult_mod_setup.
- *
- *
- * Input: 
- *	s	An prng_num. 
- *	mm	pointer to a struct mult_mod_struct initialized 
- *		by mult_mod_setup.
- *
- * Output:
- *      (mm->a*s) mod mm->p
- *
- */
-prng_num mult_mod(prng_num s,struct mult_mod_struct *mm)
-{
-s_prng_num s_tmp;
-
-switch(mm->algorithm)
-	{
-	case PRNG_MM_ZERO:	return(0);
-			break;
-	case PRNG_MM_ONE:	return(s);
-			break;
-	case PRNG_MM_SIMPLE: return((s * mm->a) % mm->p );
-			break;
-	case PRNG_MM_SCHRAGE:
-			s_tmp = mm->a * ( s % mm->q ) - 
-				mm->r * ( s / mm->q );
-			if (s_tmp < 0) s_tmp += mm->p;
-			return(s_tmp);
-			break;
-	case PRNG_MM_DECOMP: return(mult_mod_generic(s,mm->a,mm->p)); 
-			break;
-#ifdef HAVE_LONGLONG
-	case PRNG_MM_LL:	return(mult_mod_ll(s,mm->a,mm->p));
-			break;
-#endif
-	case PRNG_MM_POW2:	return((s*mm->a) & mm->mask);
-			break;
-	}
-/* not reached */
-return(0);
-}
-#endif
-
 
 /* 
  * Modular Multiplication: Decomposition method (from L'Ecuyer & Cote)