raw
mt_prng                 1  -- Ada implementation of the Mersenne Twister Pseudo-Random number generator
mt_prng 2 -- S.MG, 2018
mt_prng 3 --
mt_prng 4 -- Implementing the algorithm as described by Matsumoto, M. and Nishimura, T.:
mt_prng 5 -- www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
mt_prng 6 -- M.M and N.T, "Mersenne Twister: A 623-dimensionally equidistributed uniform
mt_prng 7 -- pseudorandom number generator", ACM Transactions on Modeling and Computer
mt_prng 8 -- Simulations: Special Issue on Uniform Random Number Generation, 1998.
mt_prng 9
mt_prng 10 project MT is
mt_prng 11 for Object_Dir use "obj";
mt_prng 12
mt_prng 13 type Mode_Type is ("debug", "release");
mt_prng 14 Mode : Mode_Type := external ("mode", "release");
mt_prng 15
mt_prng 16 for Languages use ("Ada");
mt_prng 17 for Source_Dirs use (".");
mt_prng 18 for Library_Dir use "lib";
mt_prng 19 for Library_Name use "MT";
mt_prng 20 for Library_Kind use "static";
mt_prng 21
mt_prng 22 package Compiler is
mt_prng 23
mt_prng 24 case Mode is
mt_prng 25 when "debug" =>
mt_prng 26 for Switches ("Ada")
mt_prng 27 use ("-g");
mt_prng 28 when "release" =>
mt_prng 29 for Switches ("Ada")
mt_prng 30 use ("-O2", "-fdump-scos", "-gnata", "-fstack-check",
mt_prng 31 "-gnatyd", "-gnatym",
mt_prng 32 "-fdata-sections", "-ffunction-sections", "-gnatwr", "-gnatw.d",
mt_prng 33 "-gnatec=" & MT'Project_Dir & "restrict.adc");
mt_prng 34 end case;
mt_prng 35 end Compiler;
mt_prng 36
mt_prng 37 package Builder is
mt_prng 38 for Switches ("Ada")
mt_prng 39 use ("-nostdlib");
mt_prng 40 end Builder;
mt_prng 41
mt_prng 42 package Binder is
mt_prng 43 case Mode is
mt_prng 44 when "debug" =>
mt_prng 45 for Switches ("Ada")
mt_prng 46 use ();
mt_prng 47 when "release" =>
mt_prng 48 for Switches ("Ada")
mt_prng 49 use ("-static");
mt_prng 50 end case;
mt_prng 51 end Binder;
mt_prng 52 end MT;