summaryrefslogtreecommitdiff
path: root/gnu/lib/libg++/include/RndInt.h
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/lib/libg++/include/RndInt.h')
-rw-r--r--gnu/lib/libg++/include/RndInt.h175
1 files changed, 0 insertions, 175 deletions
diff --git a/gnu/lib/libg++/include/RndInt.h b/gnu/lib/libg++/include/RndInt.h
deleted file mode 100644
index bf0f955db21d..000000000000
--- a/gnu/lib/libg++/include/RndInt.h
+++ /dev/null
@@ -1,175 +0,0 @@
-// This may look like C code, but it is really -*- C++ -*-
-/*
-Copyright (C) 1990 Free Software Foundation
- adapted from a submission from John Reidl <riedl@cs.purdue.edu>
-
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY. No author or distributor
-accepts responsibility to anyone for the consequences of using it
-or for whether it serves any particular purpose or works at all,
-unless he says so in writing. Refer to the GNU CC General Public
-License for full details.
-
-Everyone is granted permission to copy, modify and redistribute
-GNU CC, but only under the conditions described in the
-GNU CC General Public License. A copy of this license is
-supposed to have been given to you along with GNU CC so you
-can know your rights and responsibilities. It should be in a
-file named COPYING. Among other things, the copyright notice
-This file is part of the GNU C++ Library. This library is free
-software; you can redistribute it and/or modify it under the terms of
-the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your
-option) any later version. This library is distributed in the hope
-that it will be useful, but WITHOUT ANY WARRANTY; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the Free Software
-Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#ifndef _RandomInteger_h
-#ifdef __GNUG__
-#pragma interface
-#endif
-#define _RandomInteger_h 1
-
-// RandomInteger uses a random number generator to generate an integer
-// in a specified range. By default the range is 0..1. Since in my
-// experience random numbers are often needed for a wide variety of
-// ranges in the same program, this generator accepts a new low or high value
-// as an argument to the asLong and operator() methods to temporarily
-// override stored values
-
-#include <math.h>
-#include <RNG.h>
-
-class RandomInteger
-{
- protected:
- RNG *pGenerator;
- long pLow;
- long pHigh;
-
- long _asLong(long, long);
-
- public:
-
- RandomInteger(long low, long high, RNG *gen);
- RandomInteger(long high, RNG *gen);
- RandomInteger(RNG *gen);
-
-// read params
-
- long low() const;
- long high() const;
- RNG* generator() const;
-
-// change params
-
- long low(long x);
- long high(long x);
- RNG* generator(RNG *gen);
-
-// get a random number
-
- long asLong();
- long operator()(); // synonym for asLong
- int asInt(); // (possibly) truncate as int
-
-// override params for one shot
-
- long asLong(long high);
- long asLong(long low, long high);
-
- long operator () (long high); // synonyms
- long operator () (long low, long high);
-
-};
-
-
-inline RandomInteger::RandomInteger(long low, long high, RNG *gen)
- : pLow((low < high) ? low : high),
- pHigh((low < high) ? high : low),
- pGenerator(gen)
-{}
-
-inline RandomInteger::RandomInteger(long high, RNG *gen)
- : pLow((0 < high) ? 0 : high),
- pHigh((0 < high) ? high : 0),
- pGenerator(gen)
-{}
-
-
-inline RandomInteger::RandomInteger(RNG *gen)
- : pLow(0),
- pHigh(1),
- pGenerator(gen)
-{}
-
-inline RNG* RandomInteger::generator() const { return pGenerator;}
-inline long RandomInteger::low() const { return pLow; }
-inline long RandomInteger::high() const { return pHigh; }
-
-inline RNG* RandomInteger::generator(RNG *gen)
-{
- RNG *tmp = pGenerator; pGenerator = gen; return tmp;
-}
-
-inline long RandomInteger::low(long x)
-{
- long tmp = pLow; pLow = x; return tmp;
-}
-
-inline long RandomInteger:: high(long x)
-{
- long tmp = pHigh; pHigh = x; return tmp;
-}
-
-inline long RandomInteger:: _asLong(long low, long high)
-{
- return (pGenerator->asLong() % (high-low+1)) + low;
-}
-
-
-inline long RandomInteger:: asLong()
-{
- return _asLong(pLow, pHigh);
-}
-
-inline long RandomInteger:: asLong(long high)
-{
- return _asLong(pLow, high);
-}
-
-inline long RandomInteger:: asLong(long low, long high)
-{
- return _asLong(low, high);
-}
-
-inline long RandomInteger:: operator () ()
-{
- return _asLong(pLow, pHigh);
-}
-
-inline long RandomInteger:: operator () (long high)
-{
- return _asLong(pLow, high);
-}
-
-inline long RandomInteger:: operator () (long low, long high)
-{
- return _asLong(low, high);
-}
-
-
-
-
-inline int RandomInteger:: asInt()
-{
- return int(asLong());
-}
-
-#endif