-
+ AA5FA5D467EBB6EDC0C725CA181FC94AC1B7E90252BFEEC991A84B023B0C9D5C56BD6A1353AA6BB2B93B529E2A8A92B75C74128081644B7B7303B45A882DBC57
udp/libmt/mt.gpr
(0 . 0)(1 . 52)
193 -- Ada implementation of the Mersenne Twister Pseudo-Random number generator
194 -- S.MG, 2018
195 --
196 -- Implementing the algorithm as described by Matsumoto, M. and Nishimura, T.:
197 -- www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
198 -- M.M and N.T, "Mersenne Twister: A 623-dimensionally equidistributed uniform
199 -- pseudorandom number generator", ACM Transactions on Modeling and Computer
200 -- Simulations: Special Issue on Uniform Random Number Generation, 1998.
201
202 project MT is
203 for Object_Dir use "obj";
204
205 type Mode_Type is ("debug", "release");
206 Mode : Mode_Type := external ("mode", "release");
207
208 for Languages use ("Ada");
209 for Source_Dirs use (".");
210 for Library_Dir use "lib";
211 for Library_Name use "MT";
212 for Library_Kind use "static";
213
214 package Compiler is
215
216 case Mode is
217 when "debug" =>
218 for Switches ("Ada")
219 use ("-g");
220 when "release" =>
221 for Switches ("Ada")
222 use ("-O2", "-fdump-scos", "-gnata", "-fstack-check",
223 "-gnatyd", "-gnatym",
224 "-fdata-sections", "-ffunction-sections", "-gnatwr", "-gnatw.d",
225 "-gnatec=" & MT'Project_Dir & "restrict.adc");
226 end case;
227 end Compiler;
228
229 package Builder is
230 for Switches ("Ada")
231 use ("-nostdlib");
232 end Builder;
233
234 package Binder is
235 case Mode is
236 when "debug" =>
237 for Switches ("Ada")
238 use ();
239 when "release" =>
240 for Switches ("Ada")
241 use ("-static");
242 end case;
243 end Binder;
244 end MT;