The Evolutionary Genetics and Genomics Library (EggLib)

    Copyright 2012-2021 Stéphane De Mita, Mathieu Siol

    This file is part of the EggLib library.

    EggLib is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    EggLib is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU General Public License for more details.

    A copy of the GNU General Public License should be found in a file
    GPL.txt in EggLib directory. If not, see
    <http://www.gnu.org/licenses/>.

The egglib C++ wrapper was generated by SWIG and contains code from the
SWIG library which is distributed without restriction.

Implementation of Mersenne Twister algorithm (Random class)

    The algorithm and original C source code have been designed by M.
    Matsumoto and T. Nishimura: Mersenne Twister: A 623-Dimensionally
    Equidistributed Uniform Pseudo-Random Number Generator, ACM
    Transactions on Modeling and Computer Simulation, Vol. 8, No. 1.
    <http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html>.

    Copyright 1997-2002 Makoto Matsumoto and Takuji Nishimura, all
    rights reserved

    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    are met:

    1. Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in
       the documentation and other materials provided with the
       distribution.

    3. The names of its contributors may not be used to endorse or
       promote products derived from this software without specific
       prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
    FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
    COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
    BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
    ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGE.

    Any feedback is very welcome.
    email: matumoto@math.keio.ac.jp

    The generators returning floating point numbers are based on a
    version by Isaku Wada.

    Copyright 2002 Isaku Wada

    The Mersenne Twister random number generator has been ported to C++
    by Jesper Bedaux.

    Copyright 2003 Jasper Bedaux

    Feedback about the C++ port should be sent to Jasper Bedaux,
    see http://www.bedaux.net/mtrand/ for e-mail address and info.

    The interface was revised and non-uniform random number generators
    have been included from the Random class of EggLib v2.1.3
