lemon/random.h
changeset 2596 9c00e972cdfd
parent 2570 c62964ff0d53
child 2599 b9905565d185
     1.1 --- a/lemon/random.h	Thu Mar 20 11:38:01 2008 +0000
     1.2 +++ b/lemon/random.h	Thu Mar 20 16:25:47 2008 +0000
     1.3 @@ -578,6 +578,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