diff --git a/src/python/SConscript b/src/python/SConscript index b213243ff..1c5f08e1a 100644 --- a/src/python/SConscript +++ b/src/python/SConscript @@ -65,7 +65,6 @@ PySource('m5.util', 'm5/util/terminal.py') SwigSource('m5.internal', 'swig/core.i') SwigSource('m5.internal', 'swig/debug.i') SwigSource('m5.internal', 'swig/event.i') -SwigSource('m5.internal', 'swig/random.i') SwigSource('m5.internal', 'swig/range.i') SwigSource('m5.internal', 'swig/stats.i') SwigSource('m5.internal', 'swig/trace.i') diff --git a/src/python/swig/core.i b/src/python/swig/core.i index b8f70039d..ffaf84476 100644 --- a/src/python/swig/core.i +++ b/src/python/swig/core.i @@ -35,6 +35,7 @@ #include "python/swig/pyobject.hh" #include "base/misc.hh" +#include "base/random.hh" #include "base/socket.hh" #include "base/types.hh" #include "sim/core.hh" @@ -54,6 +55,13 @@ const bool flag_NDEBUG = false; const bool flag_TRACING_ON = TRACING_ON; inline void disableAllListeners() { ListenSocket::disableAll(); } + +inline void +seedRandom(uint64_t seed) +{ + random_mt.init(seed); +} + %} %include @@ -64,6 +72,7 @@ inline void disableAllListeners() { ListenSocket::disableAll(); } void setOutputDir(const std::string &dir); void doExitCleanup(); void disableAllListeners(); +void seedRandom(uint64_t seed); %immutable compileDate; char *compileDate; diff --git a/src/python/swig/random.i b/src/python/swig/random.i deleted file mode 100644 index 3ca6c39c1..000000000 --- a/src/python/swig/random.i +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2006 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may 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. - * - * Authors: Nathan Binkert - */ - -%module(package="m5.internal") random - -%include - -%{ -#include - -#include "base/types.hh" - -inline void -seed(uint64_t seed) -{ - ::srand48(seed & ULL(0xffffffffffff)); -} -%} - -%inline %{ -extern void seed(uint64_t seed); -%}