Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50071 - sandbox/math_toolkit/libs/math/doc/sf_and_dist
From: pbristow_at_[hidden]
Date: 2008-12-02 10:28:12


Author: pbristow
Date: 2008-12-02 10:28:12 EST (Tue, 02 Dec 2008)
New Revision: 50071
URL: http://svn.boost.org/trac/boost/changeset/50071

Log:
Links to C99 spec added
Text files modified:
   sandbox/math_toolkit/libs/math/doc/sf_and_dist/tr1.qbk | 65 ++++++++++++++++++++-------------------
   1 files changed, 33 insertions(+), 32 deletions(-)

Modified: sandbox/math_toolkit/libs/math/doc/sf_and_dist/tr1.qbk
==============================================================================
--- sandbox/math_toolkit/libs/math/doc/sf_and_dist/tr1.qbk (original)
+++ sandbox/math_toolkit/libs/math/doc/sf_and_dist/tr1.qbk 2008-12-02 10:28:12 EST (Tue, 02 Dec 2008)
@@ -1,6 +1,6 @@
 [template tr1_overview[]
 Many of the special functions included in this library are also a part
-of the either the C99 standard or the [tr1]. Therefore this library
+of the either the [C99] or the [tr1]. Therefore this library
 includes a thin wrapper header `boost/math/tr1.hpp` that provides
 compatibility with these two standards.
 
@@ -9,25 +9,26 @@
 Pros:
 
 * The header to include is lightweight (i.e. fast to compile).
-* The functions have extern "C" linkage, and so are usable from other languages.
-* Standard compatibility.
+* The functions have extern "C" linkage,
+ and so are usable from other languages (not just C and C++).
+* C99 and C++ TR1 Standard compatibility.
 
 Cons:
 
 * You will need to compile and link to the external Boost.Math libraries.
 * Limited to support for the types, `float`, `double` and `long double`.
-* Error handling is handled via setting ::errno and returning NaN's and
+* Error handling is handled via setting ::errno and returning NaN's and
 infinities: this may be less flexible than an C++ exception based approach.
 
 [note The separate libraries are required *only* if you choose to use
 boost/math/tr1.hpp rather than some other Boost.Math header, the rest
 of Boost.Math remains header-only.]
 
-The separate libraries required in order to use tr1.hpp can be compiled
-using bjam from within the libs/math/build directory, or from the Boost
-root directory using the usual Boost-wide install procedure.
+The separate libraries required in order to use tr1.hpp can be compiled
+using bjam from within the libs/math/build directory, or from the Boost
+root directory using the usual Boost-wide install procedure.
 Alternatively the source files are located in libs/math/src and each have
-the same name as the function they implement. The various libraries are
+the same name as the function they implement. The various libraries are
 named as follows:
 
 [table
@@ -40,19 +41,19 @@
 [[boost_math_tr1l-<suffix>][long double][TR1 Functions]]
 ]
 
-Where `<suffix>` encodes the compiler and build options used to
+Where `<suffix>` encodes the compiler and build options used to
 build the libraries: for example "libboost_math_tr1-vc80-mt-gd.lib"
-would be the statically linked TR1 library to use with Visual C++ 8.0,
+would be the statically linked TR1 library to use with Visual C++ 8.0,
 in multithreading debug mode, with the DLL VC++ runtime, where as
 "boost_math_tr1-vc80-mt.lib" would be import library for the TR1 DLL
 to be used with Visual C++ 8.0 with the release multithreaded DLL
 VC++ runtime.
-Refer to the getting started guide for a
-[@http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming
+Refer to the getting started guide for a
+[@http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming
 full explanation of the `<suffix>` meanings].
 
 [note
-Visual C++ users will typically have the correct library variant to link
+Visual C++ users will typically have the correct library variant to link
 against selected for them by boost/math/tr1.hpp based on your compiler
 settings.
 
@@ -60,11 +61,11 @@
 their code if they want to link against the DLL versions of these libraries
 rather than the static versions.
 
-Users can disable auto-linking by defining BOOST_MATH_TR1_NO_LIB when
-building: this is typically only used when linking against a customised
+Users can disable auto-linking by defining BOOST_MATH_TR1_NO_LIB when
+building: this is typically only used when linking against a customised
 build of the libraries.]
 
-[note Linux and Unix users will generally only have one variant of
+[note Linux and Unix users will generally only have one variant of
 these libraries installed, and can generally just link against
 -lboost_math_tr1 etc.]
 
@@ -79,26 +80,26 @@
 Which option you choose depends largely on how you prefer to work
 and how your system is set up.
 
-For example a casual user who just needs the acosh function, would
+For example a casual user who just needs the acosh function, would
 probably be better off including `<boost/math/special_functions/acosh.hpp>`
-and using `boost::math::acosh(x)` in their code.
+and using `boost::math::acosh(x)` in their code.
 
 However, for large scale
 software development where compile times are significant, and where the
 Boost libraries are already built and installed on the system, then
 including `<boost/math/tr1.hpp>` and using `boost::math::tr1::acosh(x)`
-will speed up compile times, reduce object files sizes (since there are
-no templates being instantiated any more), and also speed up debugging
-runtimes - since the externally compiled libraries can be
+will speed up compile times, reduce object files sizes (since there are
+no templates being instantiated any more), and also speed up debugging
+runtimes - since the externally compiled libraries can be
 compiler optimised, rather than built using full settings - the difference
-in performance between
-[link math_toolkit.perf.getting_best
+in performance between
+[link math_toolkit.perf.getting_best
 release and debug builds can be as much as 20 times],
 so for complex applications this can be a big win.
 
 [h4 Supported C99 Functions]
 
-See also the [link math_toolkit.special.extern_c.c99
+See also the [link math_toolkit.special.extern_c.c99
 quick reference guide for these functions].
 
    namespace boost{ namespace math{ namespace tr1{ extern "C"{
@@ -187,14 +188,14 @@
    long double truncl(long double x);
 
    }}}} // namespaces
-
+
 [h4 Supported TR1 Functions]
 
-See also the [link math_toolkit.special.extern_c.tr1
+See also the [link math_toolkit.special.extern_c.tr1
 quick reference guide for these functions].
 
    namespace boost{ namespace math{ namespace tr1{ extern "C"{
-
+
    // [5.2.1.1] associated Laguerre polynomials:
    double assoc_laguerre(unsigned n, unsigned m, double x);
    float assoc_laguerref(unsigned n, unsigned m, float x);
@@ -301,14 +302,14 @@
    double sph_neumann(unsigned n, double x);
    float sph_neumannf(unsigned n, float x);
    long double sph_neumannl(unsigned n, long double x);
-
+
    }}}} // namespaces
-
+
 In addition sufficient additional overloads of the `double` versions of the
 above functions are provided, so that calling the function with any mixture
 of `float`, `double`, `long double`, or /integer/ arguments is supported, with the
 return type determined by the __arg_pomotion_rules.
-
+
 [h4 Currently Unsupported C99 Functions]
 
    double exp2(double x);
@@ -370,7 +371,7 @@
    double scalbn(double x, int ex);
    float scalbnf(float x, int ex);
    long double scalbnl(long double x, int ex);
-
+
 [h4 Currently Unsupported TR1 Functions]
 
    // [5.2.1.7] confluent hypergeometric functions:
@@ -387,7 +388,7 @@
 
 ]
 
-[/
+[/
   Copyright 2008 John Maddock and Paul A. Bristow.
   Distributed under the Boost Software License, Version 1.0.
   (See accompanying file LICENSE_1_0.txt or copy at


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk