-- Ada implementation of the Mersenne Twister Pseudo-Random number generator -- S.MG, 2018 -- -- Implementing the algorithm as described by Matsumoto, M. and Nishimura, T.: -- www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html -- M.M and N.T, "Mersenne Twister: A 623-dimensionally equidistributed uniform -- pseudorandom number generator", ACM Transactions on Modeling and Computer -- Simulations: Special Issue on Uniform Random Number Generation, 1998. project MT is for Object_Dir use "obj"; type Mode_Type is ("debug", "release"); Mode : Mode_Type := external ("mode", "release"); for Languages use ("Ada"); for Source_Dirs use ("."); for Library_Dir use "lib"; for Library_Name use "MT"; for Library_Kind use "static"; package Compiler is case Mode is when "debug" => for Switches ("Ada") use ("-g"); when "release" => for Switches ("Ada") use ("-O2", "-fdump-scos", "-gnata", "-fstack-check", "-gnatyd", "-gnatym", "-fdata-sections", "-ffunction-sections", "-gnatwr", "-gnatw.d", "-gnatec=" & MT'Project_Dir & "restrict.adc"); end case; end Compiler; package Builder is for Switches ("Ada") use ("-nostdlib"); end Builder; package Binder is case Mode is when "debug" => for Switches ("Ada") use (); when "release" => for Switches ("Ada") use ("-static"); end case; end Binder; end MT;