test/random_test.cc
author Balazs Dezso <deba@inf.elte.hu>
Thu, 20 Mar 2008 17:15:35 +0100
changeset 102 81563e019fa4
parent 92 5d4decd1b870
child 171 02f4d5d9bfd7
permissions -rw-r--r--
Seeding random sequence
     1 /* -*- C++ -*-
     2  *
     3  * This file is a part of LEMON, a generic C++ optimization library
     4  *
     5  * Copyright (C) 2003-2008
     6  * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     7  * (Egervary Research Group on Combinatorial Optimization, EGRES).
     8  *
     9  * Permission to use, modify and distribute this software is granted
    10  * provided that this copyright notice appears in all copies. For
    11  * precise terms see the accompanying LICENSE file.
    12  *
    13  * This software is provided "AS IS" with no warranty of any kind,
    14  * express or implied, and with no claim as to its suitability for any
    15  * purpose.
    16  *
    17  */
    18 
    19 #include <lemon/random.h>
    20 #include "test_tools.h"
    21 
    22 ///\file \brief Test cases for random.h
    23 ///
    24 ///\todo To be extended
    25 ///
    26 
    27 int seed_array[] = {1, 2};
    28 
    29 int main()
    30 {
    31   double a=lemon::rnd();
    32   check(a<1.0&&a>0.0,"This should be in [0,1)");
    33   a=lemon::rnd.gauss();
    34   a=lemon::rnd.gamma(3.45,0);
    35   a=lemon::rnd.gamma(4);
    36   //Does gamma work with integer k?
    37   a=lemon::rnd.gamma(4.0,0);
    38   a=lemon::rnd.poisson(.5);
    39 
    40   lemon::rnd.seed(100);
    41   lemon::rnd.seed(seed_array, seed_array + 
    42 		  (sizeof(seed_array) / sizeof(seed_array[0])));
    43 
    44   return 0;
    45 }