Boost logo

Boost-Commit :

From: john_at_[hidden]
Date: 2007-10-09 13:17:52


Author: johnmaddock
Date: 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
New Revision: 39851
URL: http://svn.boost.org/trac/boost/changeset/39851

Log:
Added refactored docs for existing Boost.Math libraries.
Added:
   trunk/libs/math/doc/gcd/
   trunk/libs/math/doc/gcd/Jamfile.v2 (contents, props changed)
   trunk/libs/math/doc/gcd/html/
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm.html (contents, props changed)
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/compile_time.html (contents, props changed)
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/credits.html (contents, props changed)
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/demo.html (contents, props changed)
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/gcd_function_object.html (contents, props changed)
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/header.html (contents, props changed)
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/history.html (contents, props changed)
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/introduction.html (contents, props changed)
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/lcm_function_object.html (contents, props changed)
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/rationale.html (contents, props changed)
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/run_time.html (contents, props changed)
   trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/synopsis.html (contents, props changed)
   trunk/libs/math/doc/gcd/html/index.html (contents, props changed)
   trunk/libs/math/doc/gcd/math-gcd.qbk (contents, props changed)

Added: trunk/libs/math/doc/gcd/Jamfile.v2
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/Jamfile.v2 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,75 @@
+
+# Copyright John Maddock 2005. Use, modification, and distribution are
+# subject to the Boost Software License, Version 1.0. (See accompanying
+# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+using quickbook ;
+
+path-constant images_location : html ;
+
+xml math-gcd : math-gcd.qbk ;
+boostbook standalone
+ :
+ math-gcd
+ :
+ # Path for links to Boost:
+ <xsl:param>boost.root=../../../../..
+ # Path for libraries index:
+ <xsl:param>boost.libraries=../../../../../libs/libraries.htm
+ # Use the main Boost stylesheet:
+ <xsl:param>html.stylesheet=../../../../../doc/html/boostbook.css
+
+ # Some general style settings:
+ <xsl:param>table.footnote.number.format=1
+ <xsl:param>footnote.number.format=1
+
+ # HTML options first:
+ # Use graphics not text for navigation:
+ <xsl:param>navig.graphics=1
+ # How far down we chunk nested sections, basically all of them:
+ <xsl:param>chunk.section.depth=10
+ # Don't put the first section on the same page as the TOC:
+ <xsl:param>chunk.first.sections=1
+ # How far down sections get TOC's
+ <xsl:param>toc.section.depth=10
+ # Max depth in each TOC:
+ <xsl:param>toc.max.depth=4
+ # How far down we go with TOC's
+ <xsl:param>generate.section.toc.level=10
+ #<xsl:param>root.filename="sf_dist_and_tools"
+
+ # PDF Options:
+ # TOC Generation: this is needed for FOP-0.9 and later:
+ # <xsl:param>fop1.extensions=1
+ <format>pdf:<xsl:param>xep.extensions=1
+ # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
+ <format>pdf:<xsl:param>fop.extensions=0
+ # No indent on body text:
+ <format>pdf:<xsl:param>body.start.indent=0pt
+ # Margin size:
+ <format>pdf:<xsl:param>page.margin.inner=0.5in
+ # Margin size:
+ <format>pdf:<xsl:param>page.margin.outer=0.5in
+ # Paper type = A4
+ <format>pdf:<xsl:param>paper.type=A4
+ # Yes, we want graphics for admonishments:
+ <xsl:param>admon.graphics=1
+ # Set this one for PDF generation *only*:
+ # default pnd graphics are awful in PDF form,
+ # better use SVG's instead:
+ <format>pdf:<xsl:param>admon.graphics.extension=".svg"
+ <format>pdf:<xsl:param>use.role.for.mediaobject=1
+ <format>pdf:<xsl:param>preferred.mediaobject.role=print
+ <format>pdf:<xsl:param>img.src.path=$(images_location)/
+ <format>pdf:<xsl:param>admon.graphics.path=$(images_location)/../../svg-admon/
+ ;
+
+
+
+
+
+
+
+
+
+

Added: trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Greatest Common Divisor and Least Common Multiple</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../index.html" title="GCD and LCM">
+<link rel="up" href="../index.html" title="GCD and LCM">
+<link rel="prev" href="../index.html" title="GCD and LCM">
+<link rel="next" href="gcd_lcm/introduction.html" title="Introduction">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_lcm/introduction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="gcd_and_lcm.gcd_lcm"></a><a href="gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple"> Greatest Common Divisor and Least
+ Common Multiple</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Introduction</span></dt>
+<dt><span class="section">Synopsis</span></dt>
+<dt><span class="section"><a href="gcd_lcm/gcd_function_object.html">GCD Function
+ Object</a></span></dt>
+<dt><span class="section"><a href="gcd_lcm/lcm_function_object.html">LCM Function
+ Object</a></span></dt>
+<dt><span class="section"><a href="gcd_lcm/run_time.html"> Run-time GCD &amp; LCM
+ Determination</a></span></dt>
+<dt><span class="section"><a href="gcd_lcm/compile_time.html"> Compile time GCD and
+ LCM determination</a></span></dt>
+<dt><span class="section"> Header <boost/math/common_factor.hpp></span></dt>
+<dt><span class="section"> Demonstration Program</span></dt>
+<dt><span class="section">Rationale</span></dt>
+<dt><span class="section">History</span></dt>
+<dt><span class="section">Credits</span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 -2002 Daryle Walker</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_lcm/introduction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/compile_time.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/compile_time.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Compile time GCD and LCM determination</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="GCD and LCM">
+<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+<link rel="prev" href="run_time.html" title="Run-time GCD &amp; LCM Determination">
+<link rel="next" href="header.html" title="Header &lt;boost/math/common_factor.hpp&gt;">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="run_time.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="header.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="gcd_and_lcm.gcd_lcm.compile_time"></a><a href="compile_time.html" title="Compile time GCD and LCM determination"> Compile time GCD and
+ LCM determination</a>
+</h3></div></div></div>
+<p>
+ <span class="bold"><strong>Header: </strong></span> <boost/math/common_factor_ct.hpp>
+ </p>
+<pre class="programlisting">
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">Value1</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">Value2</span> <span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">static_gcd</span>
+<span class="special">{</span>
+ <span class="keyword">static</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">const</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">Value1</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">Value2</span> <span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">static_lcm</span>
+<span class="special">{</span>
+ <span class="keyword">static</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="keyword">const</span> <span class="identifier">value</span> <span class="special">=</span> <span class="identifier">implementation_defined</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The boost::math::static_gcd and boost::math::static_lcm class templates take
+ two value-based template parameters of the unsigned long type and have a
+ single static constant data member, value, of that same type. The value of
+ that member is the greatest common factor or least common multiple, respectively,
+ of the template arguments. A compile-time error will occur if the least common
+ multiple is beyond the range of an unsigned long.
+ </p>
+<a name="gcd_and_lcm.gcd_lcm.compile_time.example"></a><h4>
+<a name="id490700"></a>
+ Example
+ </h4>
+<pre class="programlisting">
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">common_factor</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">algorithm</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;</span>
+
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The GCD and LCM of 6 and 15 are "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gcd</span><span class="special">(</span><span class="number">6</span><span class="special">,</span> <span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">" and "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lcm</span><span class="special">(</span><span class="number">6</span><span class="special">,</span> <span class="number">15</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="string">", respectively."</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"The GCD and LCM of 8 and 9 are "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">static_gcd</span><span class="special">&lt;</span><span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">&gt;::</span><span class="identifier">value</span>
+ <span class="special">&lt;&lt;</span> <span class="string">" and "</span>
+ <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">static_lcm</span><span class="special">&lt;</span><span class="number">8</span><span class="special">,</span> <span class="number">9</span><span class="special">&gt;::</span><span class="identifier">value</span>
+ <span class="special">&lt;&lt;</span> <span class="string">", respectively."</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+
+ <span class="keyword">int</span> <span class="identifier">a</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span> <span class="special">},</span> <span class="identifier">b</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">7</span><span class="special">,</span> <span class="number">8</span><span class="special">,</span> <span class="number">9</span> <span class="special">},</span> <span class="identifier">c</span><span class="special">[</span><span class="number">3</span><span class="special">];</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">transform</span><span class="special">(</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">a</span> <span class="special">+</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gcd_evaluator</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;()</span> <span class="special">);</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">c</span> <span class="special">+</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">cout</span><span class="special">,</span> <span class="string">" "</span><span class="special">)</span> <span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 -2002 Daryle Walker</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="run_time.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="header.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/credits.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/credits.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Credits</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="GCD and LCM">
+<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+<link rel="prev" href="history.html" title="History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="gcd_and_lcm.gcd_lcm.credits"></a>Credits
+</h3></div></div></div>
+<p>
+ The author of the Boost compilation of GCD and LCM computations is Daryle
+ Walker. The code was prompted by existing code hiding in the implementations
+ of Paul Moore's rational library and Steve Cleary's pool library. The code
+ had updates by Helmut Zeisel.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 -2002 Daryle Walker</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="history.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/demo.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/demo.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,46 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Demonstration Program</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="GCD and LCM">
+<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+<link rel="prev" href="header.html" title="Header &lt;boost/math/common_factor.hpp&gt;">
+<link rel="next" href="rationale.html" title="Rationale">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="header.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="gcd_and_lcm.gcd_lcm.demo"></a> Demonstration Program
+</h3></div></div></div>
+<p>
+ The program common_factor_test.cpp
+ is a demonstration of the results from instantiating various examples of
+ the run-time GCD and LCM function templates and the compile-time GCD and
+ LCM class templates. (The run-time GCD and LCM class templates are tested
+ indirectly through the run-time function templates.)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 -2002 Daryle Walker</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="header.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/gcd_function_object.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/gcd_function_object.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>GCD Function Object</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="GCD and LCM">
+<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+<link rel="prev" href="synopsis.html" title="Synopsis">
+<link rel="next" href="lcm_function_object.html" title="LCM Function Object">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="synopsis.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="lcm_function_object.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="gcd_and_lcm.gcd_lcm.gcd_function_object"></a><a href="gcd_function_object.html" title="GCD Function Object">GCD Function
+ Object</a>
+</h3></div></div></div>
+<p>
+ <span class="bold"><strong>Header: </strong></span> <boost/math/common_factor_rt.hpp>
+ </p>
+<pre class="programlisting">
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gcd_evaluator</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// Types
+</span> <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">first_argument_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">second_argument_type</span><span class="special">;</span>
+
+ <span class="comment">// Function object interface
+</span> <span class="identifier">result_type</span> <span class="keyword">operator</span> <span class="special">()(</span> <span class="identifier">first_argument_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">second_argument_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The boost::math::gcd_evaluator class template defines a function object class
+ to return the greatest common divisor of two integers. The template is parameterized
+ by a single type, called IntegerType here. This type should be a numeric
+ type that represents integers. The result of the function object is always
+ nonnegative, even if either of the operator arguments is negative.
+ </p>
+<p>
+ This function object class template is used in the corresponding version
+ of the GCD function template. If a numeric type wants to customize evaluations
+ of its greatest common divisors, then the type should specialize on the gcd_evaluator
+ class template.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 -2002 Daryle Walker</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="synopsis.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="lcm_function_object.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/header.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/header.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,48 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Header &lt;boost/math/common_factor.hpp&gt;</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="GCD and LCM">
+<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+<link rel="prev" href="compile_time.html" title="Compile time GCD and LCM determination">
+<link rel="next" href="demo.html" title="Demonstration Program">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="compile_time.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="demo.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="gcd_and_lcm.gcd_lcm.header"></a> Header <boost/math/common_factor.hpp>
+</h3></div></div></div>
+<p>
+ This header simply includes the headers <boost/math/common_factor_ct.hpp>
+ and <boost/math/common_factor_rt.hpp>.
+ </p>
+<p>
+ Note this is a legacy header: it used to contain the actual implementation,
+ but the compile-time and run-time facilities were moved to separate headers
+ (since they were independent of each other).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 -2002 Daryle Walker</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="compile_time.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="demo.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/history.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/history.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>History</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="GCD and LCM">
+<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+<link rel="prev" href="rationale.html" title="Rationale">
+<link rel="next" href="credits.html" title="Credits">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="gcd_and_lcm.gcd_lcm.history"></a>History
+</h3></div></div></div>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ 17 Dec 2005: Converted documentation to Quickbook Format.
+ </li>
+<li>
+ 2 Jul 2002: Compile-time and run-time items separated to new headers.
+ </li>
+<li>
+ 7 Nov 2001: Initial version
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 -2002 Daryle Walker</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rationale.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="credits.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/introduction.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/introduction.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Introduction</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="GCD and LCM">
+<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+<link rel="prev" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+<link rel="next" href="synopsis.html" title="Synopsis">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="gcd_and_lcm.gcd_lcm.introduction"></a>Introduction
+</h3></div></div></div>
+<p>
+ The class and function templates in &lt;boost/math/common_factor.hpp&gt;
+ provide run-time and compile-time evaluation of the greatest common divisor
+ (GCD) or least common multiple (LCM) of two integers. These facilities are
+ useful for many numeric-oriented generic programming problems.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 -2002 Daryle Walker</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="synopsis.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/lcm_function_object.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/lcm_function_object.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>LCM Function Object</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="GCD and LCM">
+<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+<link rel="prev" href="gcd_function_object.html" title="GCD Function Object">
+<link rel="next" href="run_time.html" title="Run-time GCD &amp; LCM Determination">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gcd_function_object.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="run_time.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="gcd_and_lcm.gcd_lcm.lcm_function_object"></a><a href="lcm_function_object.html" title="LCM Function Object">LCM Function
+ Object</a>
+</h3></div></div></div>
+<p>
+ <span class="bold"><strong>Header: </strong></span> <boost/math/common_factor_rt.hpp>
+ </p>
+<pre class="programlisting">
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lcm_evaluator</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// Types
+</span> <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">first_argument_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">IntegerType</span> <span class="identifier">second_argument_type</span><span class="special">;</span>
+
+ <span class="comment">// Function object interface
+</span> <span class="identifier">result_type</span> <span class="keyword">operator</span> <span class="special">()(</span> <span class="identifier">first_argument_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">second_argument_type</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The boost::math::lcm_evaluator class template defines a function object class
+ to return the least common multiple of two integers. The template is parameterized
+ by a single type, called IntegerType here. This type should be a numeric
+ type that represents integers. The result of the function object is always
+ nonnegative, even if either of the operator arguments is negative. If the
+ least common multiple is beyond the range of the integer type, the results
+ are undefined.
+ </p>
+<p>
+ This function object class template is used in the corresponding version
+ of the LCM function template. If a numeric type wants to customize evaluations
+ of its least common multiples, then the type should specialize on the lcm_evaluator
+ class template.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 -2002 Daryle Walker</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="gcd_function_object.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="run_time.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/rationale.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/rationale.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Rationale</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="GCD and LCM">
+<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+<link rel="prev" href="demo.html" title="Demonstration Program">
+<link rel="next" href="history.html" title="History">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="demo.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="gcd_and_lcm.gcd_lcm.rationale"></a>Rationale
+</h3></div></div></div>
+<p>
+ The greatest common divisor and least common multiple functions are greatly
+ used in some numeric contexts, including some of the other Boost libraries.
+ Centralizing these functions to one header improves code factoring and eases
+ maintainence.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 -2002 Daryle Walker</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="demo.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="history.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/run_time.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/run_time.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Run-time GCD &amp; LCM Determination</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="GCD and LCM">
+<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+<link rel="prev" href="lcm_function_object.html" title="LCM Function Object">
+<link rel="next" href="compile_time.html" title="Compile time GCD and LCM determination">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lcm_function_object.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="compile_time.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="gcd_and_lcm.gcd_lcm.run_time"></a><a href="run_time.html" title="Run-time GCD &amp; LCM Determination"> Run-time GCD &amp; LCM
+ Determination</a>
+</h3></div></div></div>
+<p>
+ <span class="bold"><strong>Header: </strong></span> <boost/math/common_factor_rt.hpp>
+ </p>
+<pre class="programlisting">
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+<span class="identifier">IntegerType</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">gcd</span><span class="special">(</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+<span class="identifier">IntegerType</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">lcm</span><span class="special">(</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">);</span>
+</pre>
+<p>
+ The boost::math::gcd function template returns the greatest common (nonnegative)
+ divisor of the two integers passed to it. The boost::math::lcm function template
+ returns the least common (nonnegative) multiple of the two integers passed
+ to it. The function templates are parameterized on the function arguments'
+ IntegerType, which is also the return type. Internally, these function templates
+ use an object of the corresponding version of the gcd_evaluator and lcm_evaluator
+ class templates, respectively.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 -2002 Daryle Walker</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lcm_function_object.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="compile_time.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/synopsis.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/gcd_and_lcm/gcd_lcm/synopsis.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Synopsis</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="GCD and LCM">
+<link rel="up" href="../gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+<link rel="prev" href="introduction.html" title="Introduction">
+<link rel="next" href="gcd_function_object.html" title="GCD Function Object">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="introduction.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_function_object.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="gcd_and_lcm.gcd_lcm.synopsis"></a>Synopsis
+</h3></div></div></div>
+<pre class="programlisting">
+<span class="keyword">namespace</span> <span class="identifier">boost</span>
+<span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">math</span>
+<span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">gcd_evaluator</span><span class="special">;</span>
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">lcm_evaluator</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+ <span class="identifier">IntegerType</span> <span class="identifier">gcd</span><span class="special">(</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">);</span>
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">IntegerType</span> <span class="special">&gt;</span>
+ <span class="identifier">IntegerType</span> <span class="identifier">lcm</span><span class="special">(</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">IntegerType</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">b</span> <span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">Value1</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">Value2</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">static_gcd</span><span class="special">;</span>
+<span class="keyword">template</span> <span class="special">&lt;</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">Value1</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <span class="identifier">Value2</span> <span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">static_lcm</span><span class="special">;</span>
+
+<span class="special">}</span>
+<span class="special">}</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><small>Copyright © 2001 -2002 Daryle Walker</small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="introduction.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../gcd_lcm.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="gcd_function_object.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/html/index.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/html/index.html 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>GCD and LCM</title>
+<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="index.html" title="GCD and LCM">
+<link rel="next" href="gcd_and_lcm/gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="gcd_and_lcm/gcd_lcm.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a></div>
+<div class="article" lang="en">
+<div class="titlepage">
+<div>
+<div><h2 class="title">
+<a name="gcd_and_lcm"></a>GCD and LCM</h2></div>
+<div><div class="authorgroup"><div class="author"><h3 class="author">
+<span class="firstname">Daryle</span> <span class="surname">Walker</span>
+</h3></div></div></div>
+<div><p class="copyright">Copyright © 2001 -2002 Daryle Walker</p></div>
+<div><div class="legalnotice">
+<a name="id489770"></a><p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></div>
+</div>
+<hr>
+</div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm.html"> Greatest Common Divisor and Least
+ Common Multiple</a></span></dt>
+<dd><dl>
+<dt><span class="section">Introduction</span></dt>
+<dt><span class="section">Synopsis</span></dt>
+<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/gcd_function_object.html">GCD Function
+ Object</a></span></dt>
+<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/lcm_function_object.html">LCM Function
+ Object</a></span></dt>
+<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/run_time.html"> Run-time GCD &amp; LCM
+ Determination</a></span></dt>
+<dt><span class="section"><a href="gcd_and_lcm/gcd_lcm/compile_time.html"> Compile time GCD and
+ LCM determination</a></span></dt>
+<dt><span class="section"> Header <boost/math/common_factor.hpp></span></dt>
+<dt><span class="section"> Demonstration Program</span></dt>
+<dt><span class="section">Rationale</span></dt>
+<dt><span class="section">History</span></dt>
+<dt><span class="section">Credits</span></dt>
+</dl></dd>
+</dl>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: December 29, 2006 at 11:08:32 +0000</small></p></td>
+<td align="right"><small></small></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="gcd_and_lcm/gcd_lcm.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a></div>
+</body>
+</html>

Added: trunk/libs/math/doc/gcd/math-gcd.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/gcd/math-gcd.qbk 2007-10-09 13:17:50 EDT (Tue, 09 Oct 2007)
@@ -0,0 +1,243 @@
+[article GCD and LCM
+ [quickbook 1.3]
+ [copyright 2001-2002 Daryle Walker]
+ [license
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ [@http://www.boost.org/LICENSE_1_0.txt http://www.boost.org/LICENSE_1_0.txt])
+ ]
+ [authors [Walker, Daryle]]
+ [category math]
+ [last-revision $Date: 2006-12-29 11:08:32 +0000 (Fri, 29 Dec 2006) $]
+]
+
+
+[section:gcd_lcm Greatest Common Divisor and Least Common Multiple]
+
+[section Introduction]
+
+The class and function templates in <boost/math/common_factor.hpp>
+provide run-time and compile-time evaluation of the greatest common divisor
+(GCD) or least common multiple (LCM) of two integers.
+These facilities are useful for many numeric-oriented generic
+programming problems.
+
+[endsect]
+
+[section Synopsis]
+
+ namespace boost
+ {
+ namespace math
+ {
+
+ template < typename IntegerType >
+ class gcd_evaluator;
+ template < typename IntegerType >
+ class lcm_evaluator;
+
+ template < typename IntegerType >
+ IntegerType gcd( IntegerType const &a, IntegerType const &b );
+ template < typename IntegerType >
+ IntegerType lcm( IntegerType const &a, IntegerType const &b );
+
+ template < unsigned long Value1, unsigned long Value2 >
+ struct static_gcd;
+ template < unsigned long Value1, unsigned long Value2 >
+ struct static_lcm;
+
+ }
+ }
+
+[endsect]
+
+[section GCD Function Object]
+
+[*Header: ] [@../../../../../boost/math/common_factor_rt.hpp <boost/math/common_factor_rt.hpp>]
+
+ template < typename IntegerType >
+ class boost::math::gcd_evaluator
+ {
+ public:
+ // Types
+ typedef IntegerType result_type;
+ typedef IntegerType first_argument_type;
+ typedef IntegerType second_argument_type;
+
+ // Function object interface
+ result_type operator ()( first_argument_type const &a,
+ second_argument_type const &b ) const;
+ };
+
+The boost::math::gcd_evaluator class template defines a function object
+class to return the greatest common divisor of two integers.
+The template is parameterized by a single type, called IntegerType here.
+This type should be a numeric type that represents integers.
+The result of the function object is always nonnegative, even if either of
+the operator arguments is negative.
+
+This function object class template is used in the corresponding version of
+the GCD function template. If a numeric type wants to customize evaluations
+of its greatest common divisors, then the type should specialize on the
+gcd_evaluator class template.
+
+[endsect]
+
+[section LCM Function Object]
+
+[*Header: ] [@../../../../../boost/math/common_factor_rt.hpp <boost/math/common_factor_rt.hpp>]
+
+ template < typename IntegerType >
+ class boost::math::lcm_evaluator
+ {
+ public:
+ // Types
+ typedef IntegerType result_type;
+ typedef IntegerType first_argument_type;
+ typedef IntegerType second_argument_type;
+
+ // Function object interface
+ result_type operator ()( first_argument_type const &a,
+ second_argument_type const &b ) const;
+ };
+
+The boost::math::lcm_evaluator class template defines a function object
+class to return the least common multiple of two integers. The template
+is parameterized by a single type, called IntegerType here. This type
+should be a numeric type that represents integers. The result of the
+function object is always nonnegative, even if either of the operator
+arguments is negative. If the least common multiple is beyond the range
+of the integer type, the results are undefined.
+
+This function object class template is used in the corresponding version
+of the LCM function template. If a numeric type wants to customize
+evaluations of its least common multiples, then the type should
+specialize on the lcm_evaluator class template.
+
+[endsect]
+
+[section:run_time Run-time GCD & LCM Determination]
+
+[*Header: ] [@../../../../../boost/math/common_factor_rt.hpp <boost/math/common_factor_rt.hpp>]
+
+ template < typename IntegerType >
+ IntegerType boost::math::gcd( IntegerType const &a, IntegerType const &b );
+
+ template < typename IntegerType >
+ IntegerType boost::math::lcm( IntegerType const &a, IntegerType const &b );
+
+The boost::math::gcd function template returns the greatest common
+(nonnegative) divisor of the two integers passed to it.
+The boost::math::lcm function template returns the least common
+(nonnegative) multiple of the two integers passed to it.
+The function templates are parameterized on the function arguments'
+IntegerType, which is also the return type. Internally, these function
+templates use an object of the corresponding version of the
+gcd_evaluator and lcm_evaluator class templates, respectively.
+
+[endsect]
+
+[section:compile_time Compile time GCD and LCM determination]
+
+[*Header: ] [@../../../../../boost/math/common_factor_ct.hpp <boost/math/common_factor_ct.hpp>]
+
+ template < unsigned long Value1, unsigned long Value2 >
+ struct boost::math::static_gcd
+ {
+ static unsigned long const value = implementation_defined;
+ };
+
+ template < unsigned long Value1, unsigned long Value2 >
+ struct boost::math::static_lcm
+ {
+ static unsigned long const value = implementation_defined;
+ };
+
+The boost::math::static_gcd and boost::math::static_lcm class templates
+take two value-based template parameters of the unsigned long type
+and have a single static constant data member, value, of that same type.
+The value of that member is the greatest common factor or least
+common multiple, respectively, of the template arguments.
+A compile-time error will occur if the least common multiple
+is beyond the range of an unsigned long.
+
+[h3 Example]
+
+ #include <boost/math/common_factor.hpp>
+ #include <algorithm>
+ #include <iterator>
+
+
+ int main()
+ {
+ using std::cout;
+ using std::endl;
+
+ cout << "The GCD and LCM of 6 and 15 are "
+ << boost::math::gcd(6, 15) << " and "
+ << boost::math::lcm(6, 15) << ", respectively."
+ << endl;
+
+ cout << "The GCD and LCM of 8 and 9 are "
+ << boost::math::static_gcd<8, 9>::value
+ << " and "
+ << boost::math::static_lcm<8, 9>::value
+ << ", respectively." << endl;
+
+ int a[] = { 4, 5, 6 }, b[] = { 7, 8, 9 }, c[3];
+ std::transform( a, a + 3, b, c, boost::math::gcd_evaluator<int>() );
+ std::copy( c, c + 3, std::ostream_iterator<int>(cout, " ") );
+ }
+
+[endsect]
+
+[section:header Header <boost/math/common_factor.hpp>]
+
+This header simply includes the headers
+[@../../../../../boost/math/common_factor_ct.hpp <boost/math/common_factor_ct.hpp>]
+and [@../../../../../boost/math/common_factor_rt.hpp <boost/math/common_factor_rt.hpp>].
+
+Note this is a legacy header: it used to contain the actual implementation,
+but the compile-time and run-time facilities
+were moved to separate headers (since they were independent of each other).
+
+[endsect]
+
+[section:demo Demonstration Program]
+
+The program [@../../../../../libs/math/test/common_factor_test.cpp common_factor_test.cpp] is a demonstration of the results from
+instantiating various examples of the run-time GCD and LCM function
+templates and the compile-time GCD and LCM class templates.
+(The run-time GCD and LCM class templates are tested indirectly through
+the run-time function templates.)
+
+[endsect]
+
+[section Rationale]
+
+The greatest common divisor and least common multiple functions are
+greatly used in some numeric contexts, including some of the other
+Boost libraries. Centralizing these functions to one header improves
+code factoring and eases maintainence.
+
+[endsect]
+
+[section History]
+
+* 17 Dec 2005: Converted documentation to Quickbook Format.
+* 2 Jul 2002: Compile-time and run-time items separated to new headers.
+* 7 Nov 2001: Initial version
+
+[endsect]
+
+[section Credits]
+
+The author of the Boost compilation of GCD and LCM computations is
+Daryle Walker. The code was prompted by existing code hiding in the
+implementations of Paul Moore's rational library and Steve Cleary's
+pool library. The code had updates by Helmut Zeisel.
+
+[endsect]
+
+[endsect]
+


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