This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[v3] random.h doxygen fixes, stdc++.h update and use



Removes \( markup from bits/random.h, as it seems to confuse
doxygen->latex and kills make doc-html-doxygen.

Updated doxygen docs have been uploaded to gcc.gnu.org.

The second patch updates the precompiled header with more C++0x
includes, and then substitutes a C++0x pch instead of the debug one.
This gives me speed increase around 20% when running the testsuite. 

tested x86_64/linux

-benjamin
2009-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (${pch1a_output}): Use gnu++0x flags instead
	of debug.
	* include/Makefile.in: Regenerate.
	* include/precompiled/stdc++.h: Add.

	* doc/xml/api.xml: Add gcc-4.4 link.
	* doc/html/api.html: Regenerate.

2009-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/random.h: Adjust doxygen markup.
	* doc/doxygen/user.cfg.in: Prefer C++0x to tr1 includes.

	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/serialize.cc: Use typedefs.

Index: doc/xml/api.xml
===================================================================
--- doc/xml/api.xml	(revision 145644)
+++ doc/xml/api.xml	(working copy)
@@ -69,6 +69,12 @@
   </listitem>
   <listitem>
     <para>
+      <ulink url="libstdc++-html-USERS-4.4/index.html">for the 4.4 release
+      </ulink>
+    </para>
+  </listitem>
+  <listitem>
+    <para>
       <ulink url="latest-doxygen/index.html">&quot;the latest collection&quot;
       </ulink>
       (For the main development tree; see the date on the first page.)
Index: doc/html/api.html
===================================================================
--- doc/html/api.html	(revision 145644)
+++ doc/html/api.html	(working copy)
@@ -5,7 +5,7 @@
      
       <a class="ulink" href="http://www.fsf.org/"; target="_top">FSF
       </a>
-    </p></div><div><div class="legalnotice"><a id="id553756"></a><p>
+    </p></div><div><div class="legalnotice"><a id="id368924"></a><p>
       <a class="ulink" href="17_intro/license.html" target="_top">License 
       </a>
     </p></div></div></div><hr /></div><p>
@@ -32,6 +32,9 @@
       <a class="ulink" href="libstdc++-html-USERS-4.3/index.html" target="_top">for the 4.3 release
       </a>
     </p></li><li><p>
+      <a class="ulink" href="libstdc++-html-USERS-4.4/index.html" target="_top">for the 4.4 release
+      </a>
+    </p></li><li><p>
       <a class="ulink" href="latest-doxygen/index.html" target="_top">"the latest collection"
       </a>
       (For the main development tree; see the date on the first page.)
Index: doc/doxygen/user.cfg.in
===================================================================
--- doc/doxygen/user.cfg.in	(revision 145644)
+++ doc/doxygen/user.cfg.in	(working copy)
@@ -670,7 +670,6 @@
                          include/ext/slist \
                          include/parallel/algorithm \
                          include/parallel/numeric \
-                         include/tr1/array \
                          include/tr1/ccomplex \
                          include/tr1/cctype \
                          include/tr1/cfenv \
@@ -688,14 +687,6 @@
                          include/tr1/ctime \
                          include/tr1/cwchar \
                          include/tr1/cwctype \
-                         include/tr1/functional \
-                         include/tr1/memory \
-                         include/tr1/random \
-                         include/tr1/regex \
-                         include/tr1/tuple \
-                         include/tr1/type_traits \
-                         include/tr1/unordered_map \
-                         include/tr1/unordered_set \
                          include/tr1_impl/array \
                          include/tr1_impl/cctype \
                          include/tr1_impl/cfenv \
@@ -716,7 +707,6 @@
                          include/tr1_impl/unordered_set \
                          include/tr1_impl/utility \
                          include/tr1_impl \
-                         include/tr1 \
                          include/ \
                          include/@host_alias@/bits \
                          include/backward \
Index: include/bits/random.h
===================================================================
--- include/bits/random.h	(revision 145644)
+++ include/bits/random.h	(working copy)
@@ -236,7 +236,7 @@
 
       /**
        * @brief Reseeds the %linear_congruential_engine random number generator
-       *        engine sequence to the seed @g __s.
+       *        engine sequence to the seed @p __s.
        *
        * @param __s The new seed.
        */
@@ -2368,7 +2368,7 @@
    * @brief A cauchy_distribution random number distribution.
    *
    * The formula for the normal probability mass function is
-   * @f$ p(x|a,b) = \( \pi b \( 1 + \( \frac{x-a}{b} \)^2 \) \)^{-1} @f$
+   * @f$ p(x|a,b) = (\pi b (1 + (\frac{x-a}{b})^2))^{-1} @f$
    */
   template<typename _RealType = double>
     class cauchy_distribution
@@ -2522,8 +2522,8 @@
    *
    * The formula for the normal probability mass function is
    * @f$ p(x|m,n) = \frac{\Gamma((m+n)/2)}{\Gamma(m/2)\Gamma(n/2)}
-   *                \(\frac{m}{n}\)^{m/2} x^{(m/2)-1}
-   *                \( 1 + \frac{mx}{n} \)^{-(m+n)/2} @f$
+   *                (\frac{m}{n})^{m/2} x^{(m/2)-1}
+   *                (1 + \frac{mx}{n})^{-(m+n)/2} @f$
    */
   template<typename _RealType = double>
     class fisher_f_distribution
@@ -2677,7 +2677,7 @@
    *
    * The formula for the normal probability mass function is
    * @f$ p(x|n) = \frac{1}{\sqrt(n\pi)} \frac{\Gamma((n+1)/2)}{\Gamma(n/2)}
-   *              \( 1 + \frac{x^2}{n} \) ^{-(n+1)/2} @f$
+   *              (1 + \frac{x^2}{n}) ^{-(n+1)/2} @f$
    */
   template<typename _RealType = double>
     class student_t_distribution
Index: include/precompiled/stdc++.h
===================================================================
--- include/precompiled/stdc++.h	(revision 145644)
+++ include/precompiled/stdc++.h	(working copy)
@@ -1,6 +1,6 @@
 // C++ includes used for precompiling -*- C++ -*-
 
-// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008
+// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -56,6 +56,7 @@
 #include <ccomplex>
 #include <cfenv>
 #include <cinttypes>
+#include <cstdatomic>
 #include <cstdbool>
 #include <cstdint>
 #include <ctgmath>
@@ -100,11 +101,14 @@
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
 #include <array>
 #include <chrono>
+#include <condition_variable>
 #include <forward_list>
+#include <mutex>
 #include <random>
 #include <ratio>
 #include <regex>
 #include <system_error>
+#include <thread>
 #include <tuple>
 #include <type_traits>
 #include <unordered_map>
Index: include/Makefile.am
===================================================================
--- include/Makefile.am	(revision 145644)
+++ include/Makefile.am	(working copy)
@@ -831,7 +831,7 @@
 pch1_output_builddir = ${host_builddir}/stdc++.h.gch
 pch1_output_anchor = ${host_builddir}/stdc++.h
 pch1_output_installdir = ${host_installdir}/stdc++.h.gch
-pch1a_output = ${pch1_output_builddir}/O0g.gch
+pch1a_output = ${pch1_output_builddir}/O2ggnu++0x.gch
 pch1b_output = ${pch1_output_builddir}/O2g.gch
 pch1_output = ${pch1a_output} ${pch1b_output}
 
@@ -1100,7 +1100,8 @@
 # Build two precompiled C++ includes, stdc++.h.gch/*.gch
 ${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
 	-mkdir -p ${pch1_output_builddir}
-	$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O0 -g ${pch1_source} -o $@
+	$(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g -std=gnu++0x ${pch1_source} \
+	-o $@
 
 ${pch1b_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
 	-mkdir -p ${pch1_output_builddir}
Index: testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize.cc
===================================================================
--- testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize.cc	(revision 145644)
+++ testsuite/26_numerics/random/piecewise_linear_distribution/operators/serialize.cc	(working copy)
@@ -2,7 +2,7 @@
 //
 // 2008-12-05  Edward M. Smith-Rowland <3dw4rd@verizon.net>
 //
-// Copyright (C) 2008 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -33,10 +33,13 @@
   bool test __attribute__((unused)) = true;
 
   std::stringstream str;
+
+  typedef double value_type;
+  typedef std::piecewise_linear_distribution<double> distribution_type;
   std::vector<double> x = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0};
   std::vector<double> wt = {0.0, 1.0, 2.5, 1.5, 0.5, 0.0};
-  std::piecewise_linear_distribution<double>
-     u(x.begin(), x.end(), wt.begin()), v;
+  distribution_type u(x.begin(), x.end(), wt.begin());
+  distribution_type v;
   std::minstd_rand0 rng;
 
   u(rng); // advance

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]