gravatar
alpar (Alpar Juttner)
alpar@cs.elte.hu
Doc improvements in random.h
0 1 0
default
1 file changed with 14 insertions and 2 deletions:
↑ Collapse diff ↑
Ignore white space 16 line context
... ...
@@ -535,16 +535,20 @@
535 535
    
536 536

	
537 537
  public:
538 538

	
539 539
    ///\name Initialization
540 540
    ///
541 541
    /// @{
542 542

	
543
    ///\name Initialization
544
    ///
545
    /// @{
546

	
543 547
    /// \brief Default constructor
544 548
    ///
545 549
    /// Constructor with constant seeding.
546 550
    Random() { core.initState(); }
547 551

	
548 552
    /// \brief Constructor with seed
549 553
    ///
550 554
    /// Constructor with seed. The current number type will be converted
... ...
@@ -606,17 +610,17 @@
606 610
    void seed(Iterator begin, Iterator end) { 
607 611
      typedef typename std::iterator_traits<Iterator>::value_type Number;
608 612
      _random_bits::Initializer<Number, Word>::init(core, begin, end);
609 613
    }
610 614

	
611 615
    /// \brief Seeding from file or from process id and time
612 616
    ///
613 617
    /// By default, this function calls the \c seedFromFile() member
614
    /// function with the <tt>/dev/urandom</tt> file. If it is not success,
618
    /// function with the <tt>/dev/urandom</tt> file. If it does not success,
615 619
    /// it uses the \c seedFromTime().
616 620
    /// \return Currently always true.
617 621
    bool seed() {
618 622
#ifndef WIN32
619 623
      if (seedFromFile("/dev/urandom", 0)) return true;
620 624
#endif
621 625
      if (seedFromTime()) return true;
622 626
      return false;
... ...
@@ -629,17 +633,17 @@
629 633
    /// could give good seed values for pseudo random generators (The
630 634
    /// difference between two devices is that the <tt>random</tt> may
631 635
    /// block the reading operation while the kernel can give good
632 636
    /// source of randomness, while the <tt>urandom</tt> does not
633 637
    /// block the input, but it could give back bytes with worse
634 638
    /// entropy).
635 639
    /// \param file The source file
636 640
    /// \param offset The offset, from the file read.
637
    /// \return True when the seeding is success.
641
    /// \return True when the seeding successes.
638 642
#ifndef WIN32
639 643
    bool seedFromFile(const std::string& file = "/dev/urandom", int offset = 0) 
640 644
#else
641 645
    bool seedFromFile(const std::string& file = "", int offset = 0) 
642 646
#endif
643 647
    {
644 648
      std::ifstream rs(file.c_str());
645 649
      const int size = 4;
... ...
@@ -699,16 +703,22 @@
699 703
    /// \brief Returns a random real number from the range [a, b)
700 704
    ///
701 705
    /// It returns a random real number from the range [a, b).
702 706
    template <typename Number>
703 707
    Number real(Number a, Number b) { 
704 708
      return real<Number>() * (b - a) + a; 
705 709
    }
706 710

	
711
    /// @}
712

	
713
    ///\name Uniform distributions
714
    ///
715
    /// @{
716

	
707 717
    /// \brief Returns a random real number from the range [0, 1)
708 718
    ///
709 719
    /// It returns a random double from the range [0, 1).
710 720
    double operator()() {
711 721
      return real<double>();
712 722
    }
713 723

	
714 724
    /// \brief Returns a random real number from the range [0, b)
... ...
@@ -756,16 +766,18 @@
756 766
    /// It returns a random non-negative integer uniformly from the
757 767
    /// whole range of the current \c Number type. The default result
758 768
    /// type of this function is <tt>unsigned int</tt>.
759 769
    template <typename Number>
760 770
    Number uinteger() {
761 771
      return _random_bits::IntConversion<Number, Word>::convert(core);
762 772
    }
763 773

	
774
    /// @}
775

	
764 776
    unsigned int uinteger() {
765 777
      return uinteger<unsigned int>();
766 778
    }
767 779

	
768 780
    /// \brief Returns a random integer
769 781
    ///
770 782
    /// It returns a random integer uniformly from the whole range of
771 783
    /// the current \c Number type. The default result type of this
0 comments (0 inline)