00001 // Copyright 2009-2015 Sandia Corporation. Under the terms 00002 // of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. 00003 // Government retains certain rights in this software. 00004 // 00005 // Copyright (c) 2009-2015, Sandia Corporation 00006 // All rights reserved. 00007 // 00008 // This file is part of the SST software package. For license 00009 // information, see the LICENSE file in the top level directory of the 00010 // distribution. 00011 00012 00013 #ifndef _H_SST_CORE_RNG_DISTRIB 00014 #define _H_SST_CORE_RNG_DISTRIB 00015 00016 00017 namespace SST { 00018 namespace RNG { 00019 00020 /** 00021 * \class SSTRandomDistribution 00022 * Base class of statistical distributions in SST. 00023 */ 00024 class SSTRandomDistribution { 00025 00026 public: 00027 /** 00028 Obtains the next double from the distribution 00029 \return The next double in the distribution being sampled 00030 */ 00031 virtual double getNextDouble() = 0; 00032 00033 /** 00034 Destroys the distribution 00035 */ 00036 virtual ~SSTRandomDistribution() {}; 00037 00038 /** 00039 Creates the base (abstract) class of a distribution 00040 */ 00041 SSTRandomDistribution() {}; 00042 00043 }; 00044 00045 } 00046 } 00047 00048 #endif