t-eoRandom.cpp

00001 /* -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
00002 
00003     t-eoRandom.cpp
00004       Test program for random generator
00005 
00006     (c) GeNeura Team, 1999
00007 
00008     This program is free software; you can redistribute it and/or modify
00009     it under the terms of the GNU General Public License as published by
00010     the Free Software Foundation; either version 2 of the License, or
00011     (at your option) any later version.
00012 
00013     This program is distributed in the hope that it will be useful,
00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016     GNU General Public License for more details.
00017 
00018     You should have received a copy of the GNU General Public License
00019     along with this program; if not, write to the Free Software
00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00021 
00022     Contact: todos@geneura.ugr.es, http://geneura.ugr.es
00023 
00024 */
00025 
00030 //-----------------------------------------------------------------------------
00031 
00032 #include <iostream>   // cout
00033 #include <fstream>  // ostrstream, istrstream
00034 #include <utils/eoRndGenerators.h>         // eoBin
00035 //#include <eoNormal.h>
00036 //#include <eoNegExp.h>
00037 
00038 //-----------------------------------------------------------------------------
00039 
00040 int main() {
00041   eoUniformGenerator<float> u1(-2.5,3.5);
00042   eoUniformGenerator<double> u2(0.003, 0.05 );
00043   eoUniformGenerator<unsigned long> u3( 10000U, 10000000U);
00044 
00045   try
00046   { // throws an error
00047     eoUniformGenerator<unsigned long> utest( 10000000U, 10000U);
00048     throw; // if this succeeds something is wrong, make sure that that is noticed
00049   }
00050   catch (std::logic_error& e)
00051   {
00052     std::cout << e.what() << std::endl;
00053   }
00054 
00055   std::ofstream os("t-eoRandom.out");
00056 
00057   for ( unsigned i = 0; i < 100; i ++)
00058   {
00059     os << u1() << "\t" << u2() << "\t" << u3() << std::endl;
00060   }
00061 
00062   return 0; // to avoid VC++ complaints
00063 
00064 }
00065 
00066 //-----------------------------------------------------------------------------

Generated on Thu Oct 19 05:06:43 2006 for EO by  doxygen 1.3.9.1