Main Page | Namespace List | Class Hierarchy | Compound List | File List | Namespace Members | Compound Members | File Members

abkroot.cxx

Go to the documentation of this file.
00001 /**************************************************************************
00002 ***    
00003 *** Copyright (c) 1995-2000 Regents of the University of California,
00004 ***               Andrew E. Caldwell, Andrew B. Kahng and Igor L. Markov
00005 *** Copyright (c) 2000-2004 Regents of the University of Michigan,
00006 ***               Saurabh N. Adya, Jarrod A. Roy and Igor L. Markov
00007 ***
00008 ***  Contact author(s): abk@cs.ucsd.edu, imarkov@umich.edu
00009 ***  Original Affiliation:   UCLA, Computer Science Department,
00010 ***                          Los Angeles, CA 90095-1596 USA
00011 ***
00012 ***  Permission is hereby granted, free of charge, to any person obtaining 
00013 ***  a copy of this software and associated documentation files (the
00014 ***  "Software"), to deal in the Software without restriction, including
00015 ***  without limitation 
00016 ***  the rights to use, copy, modify, merge, publish, distribute, sublicense, 
00017 ***  and/or sell copies of the Software, and to permit persons to whom the 
00018 ***  Software is furnished to do so, subject to the following conditions:
00019 ***
00020 ***  The above copyright notice and this permission notice shall be included
00021 ***  in all copies or substantial portions of the Software.
00022 ***
00023 *** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
00024 *** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
00025 *** OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
00026 *** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
00027 *** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
00028 *** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
00029 *** THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00030 ***
00031 ***
00032 ***************************************************************************/
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00042 
00043 #ifdef _MSC_VER
00044 #pragma warning(disable:4786)
00045 #endif
00046 
00047 #include "abkrand.h"
00048 const double  RandomRoot::randTick    = 1/(0xffffffff + 1.0); // 2^-32
00049 
00050 RandomRoot::RandomRoot(const char* locIdent,
00051                        unsigned counterOverride,
00052                        Verbosity verb):
00053 _handler(locIdent,counterOverride),_verb(verb)
00054     {
00055     if (verb.forMajStats)
00056         cout << "External seed = " << _handler._externalSeed
00057         << " local id = " << _handler._locIdent
00058         << " counter = " << _handler._counter
00059         << endl;
00060     }
00061 
00062 unsigned RandomRoot::getExternalSeed() // this is a static method
00063     {
00064     return SeedHandler::_externalSeed;
00065     }
00066 
00067 const char *RandomRoot::getLocIdent() const
00068     {
00069     abkfatal(_handler._isSeedMultipartite,"Can't call getLocIdent() "
00070                                           "with old-style seed");
00071     return _handler._locIdent;
00072     }
00073 
00074 unsigned RandomRoot::getCounter() const
00075     {
00076     abkfatal(_handler._isSeedMultipartite,"Can't call getLocIdent() "
00077                                           "with old-style seed");
00078     return _handler._counter;
00079     }
00080 

Generated on Mon Apr 25 01:09:23 2005 for Parquete by doxygen 1.3.2