lemon/random.h
changeset 102 81563e019fa4
parent 92 5d4decd1b870
child 110 f2d66d810c88
     1.1 --- a/lemon/random.h	Thu Mar 20 12:12:24 2008 +0000
     1.2 +++ b/lemon/random.h	Thu Mar 20 17:15:35 2008 +0100
     1.3 @@ -575,6 +575,26 @@
     1.4        return *this;
     1.5      }
     1.6  
     1.7 +    /// \brief Seeding random sequence
     1.8 +    ///
     1.9 +    /// Seeding the random sequence. The current number type will be
    1.10 +    /// converted to the architecture word type.
    1.11 +    template <typename Number>
    1.12 +    void seed(Number seed) { 
    1.13 +      _random_bits::Initializer<Number, Word>::init(core, seed);
    1.14 +    }
    1.15 +
    1.16 +    /// \brief Seeding random sequence
    1.17 +    ///
    1.18 +    /// Seeding the random sequence. The given range should contain
    1.19 +    /// any number type and the numbers will be converted to the
    1.20 +    /// architecture word type.
    1.21 +    template <typename Iterator>
    1.22 +    void seed(Iterator begin, Iterator end) { 
    1.23 +      typedef typename std::iterator_traits<Iterator>::value_type Number;
    1.24 +      _random_bits::Initializer<Number, Word>::init(core, begin, end);
    1.25 +    }
    1.26 +
    1.27      /// \brief Returns a random real number from the range [0, 1)
    1.28      ///
    1.29      /// It returns a random real number from the range [0, 1). The