Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / integer / doc / html / index.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Boost.Integer</title>
5 <link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="index.html" title="Boost.Integer">
8 <link rel="next" href="boost_integer/traits.html" title="Integer Traits">
9 </head>
10 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
11 <table cellpadding="2" width="100%"><tr>
12 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
13 <td align="center"><a href="../../../../index.html">Home</a></td>
14 <td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
15 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
16 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
17 <td align="center"><a href="../../../../more/index.htm">More</a></td>
18 </tr></table>
19 <hr>
20 <div class="spirit-nav"><a accesskey="n" href="boost_integer/traits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
21 <div class="article">
22 <div class="titlepage">
23 <div>
24 <div><h2 class="title">
25 <a name="boost_integer"></a>Boost.Integer</h2></div>
26 <div><div class="authorgroup">
27 <div class="author"><h3 class="author">
28 <span class="firstname">Beman</span> <span class="surname">Dawes</span>
29 </h3></div>
30 <div class="author"><h3 class="author">
31 <span class="firstname">Daryle</span> <span class="surname">Walker</span>
32 </h3></div>
33 <div class="author"><h3 class="author">
34 <span class="firstname">Gennaro</span> <span class="surname">Prota</span>
35 </h3></div>
36 <div class="author"><h3 class="author">
37 <span class="firstname">John</span> <span class="surname">Maddock</span>
38 </h3></div>
39 </div></div>
40 <div><p class="copyright">Copyright &#169; 2001-2009 Beman
41       Dawes, Daryle Walker, Gennaro Prota, John Maddock</p></div>
42 <div><div class="legalnotice">
43 <a name="boost_integer.legal"></a><p>
44         Distributed under the Boost Software License, Version 1.0. (See accompanying
45         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
46       </p>
47 </div></div>
48 </div>
49 <hr>
50 </div>
51 <div class="toc">
52 <p><b>Table of Contents</b></p>
53 <dl class="toc">
54 <dt><span class="section"><a href="index.html#boost_integer.overview">Overview</a></span></dt>
55 <dt><span class="section"><a href="boost_integer/traits.html">Integer Traits</a></span></dt>
56 <dt><span class="section"><a href="boost_integer/integer.html">Integer Type Selection</a></span></dt>
57 <dt><span class="section"><a href="boost_integer/gcd_lcm.html">Greatest Common Divisor and Least
58     Common Multiple</a></span></dt>
59 <dt><span class="section"><a href="boost_integer/extended_euclidean.html">Extended Euclidean Algorithm</a></span></dt>
60 <dt><span class="section"><a href="boost_integer/mod_inverse.html">Modular Multiplicative Inverse</a></span></dt>
61 <dt><span class="section"><a href="boost_integer/mask.html">Integer Masks</a></span></dt>
62 <dt><span class="section"><a href="boost_integer/log2.html">Compile Time log2 Calculation</a></span></dt>
63 <dt><span class="section"><a href="boost_integer/minmax.html">Compile time min/max calculation</a></span></dt>
64 <dt><span class="section"><a href="boost_integer/history.html">History</a></span></dt>
65 <dt><span class="section"><a href="boost_integer/cstdint.html">Removed from library: Standard Integer
66     Types</a></span></dt>
67 </dl>
68 </div>
69 <div class="section">
70 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
71 <a name="boost_integer.overview"></a><a class="link" href="index.html#boost_integer.overview" title="Overview">Overview</a>
72 </h2></div></div></div>
73 <p>
74       Boost.Integer provides integer type support, particularly helpful in generic
75       programming. It provides the means to select an integer type based upon its
76       properties, like the number of bits or the maximum supported value, as well
77       as compile-time bit mask selection. There is a derivative of std::numeric_limits
78       that provides integral constant expressions for <code class="computeroutput"><span class="identifier">min</span></code>
79       and <code class="computeroutput"><span class="identifier">max</span></code>. Finally, it provides
80       two compile-time algorithms: determining the highest power of two in a compile-time
81       value; and computing min and max of constant expressions.
82     </p>
83 <div class="informaltable"><table class="table">
84 <colgroup>
85 <col>
86 <col>
87 <col>
88 </colgroup>
89 <thead><tr>
90 <th>
91               <p>
92                 Component
93               </p>
94             </th>
95 <th>
96               <p>
97                 Header
98               </p>
99             </th>
100 <th>
101               <p>
102                 Purpose
103               </p>
104             </th>
105 </tr></thead>
106 <tbody>
107 <tr>
108 <td>
109               <p>
110                 Forward Declarations.
111               </p>
112             </td>
113 <td>
114               <p>
115                 <code class="literal"><a href="../../../../boost/integer_fwd.hpp" target="_top">&lt;boost/integer_fwd.hpp&gt;</a></code>
116               </p>
117             </td>
118 <td>
119               <p>
120                 Forward declarations of classes and class templates - for use when
121                 just the name of a class is needed.
122               </p>
123             </td>
124 </tr>
125 <tr>
126 <td>
127               <p>
128                 <a class="link" href="boost_integer/traits.html" title="Integer Traits">Integer Traits</a>.
129               </p>
130             </td>
131 <td>
132               <p>
133                 <code class="literal"><a href="../../../../boost/integer_traits.hpp" target="_top">&lt;boost/integer_traits.hpp&gt;</a></code>
134               </p>
135             </td>
136 <td>
137               <p>
138                 Class template <code class="literal">boost::integer_traits</code>, derives
139                 from <code class="literal">std::numeric_limits</code> and adds <code class="literal">const_min</code>
140                 and <code class="literal">const_max</code> members.
141               </p>
142             </td>
143 </tr>
144 <tr>
145 <td>
146               <p>
147                 <a class="link" href="boost_integer/integer.html" title="Integer Type Selection">Integer Type Selection</a>.
148               </p>
149             </td>
150 <td>
151               <p>
152                 <code class="literal"><a href="../../../../boost/integer.hpp" target="_top">&lt;boost/integer.hpp&gt;</a></code>
153               </p>
154             </td>
155 <td>
156               <p>
157                 Templates for integer type selection based on properties such as
158                 maximum value or number of bits: Use to select the type of an integer
159                 when some property such as maximum value or number of bits is known.
160                 Useful for generic programming.
161               </p>
162             </td>
163 </tr>
164 <tr>
165 <td>
166               <p>
167                 <a class="link" href="boost_integer/gcd_lcm.html" title="Greatest Common Divisor and Least Common Multiple">Greatest Common Divisor and
168                 Least Common Multiple</a>.
169               </p>
170             </td>
171 <td>
172               <p>
173                 <code class="literal"><a href="../../../../boost/integer/common_factor_rt.hpp" target="_top">&lt;boost/integer/common_factor_rt.hpp&gt;</a></code>
174                 and <code class="literal"><a href="../../../../boost/integer/common_factor_ct.hpp" target="_top">&lt;boost/integer/common_factor_ct.hpp&gt;</a></code>
175               </p>
176             </td>
177 <td>
178               <p>
179                 Functions <code class="computeroutput"><span class="identifier">gcd</span></code> and
180                 <code class="computeroutput"><span class="identifier">lcm</span></code> plus function
181                 objects and compile time versions.
182               </p>
183             </td>
184 </tr>
185 <tr>
186 <td>
187               <p>
188                 <a class="link" href="boost_integer/mask.html" title="Integer Masks">Integer Masks</a>.
189               </p>
190             </td>
191 <td>
192               <p>
193                 <code class="literal"><a href="../../../../boost/integer/integer_mask.hpp" target="_top">&lt;boost/integer/integer_mask.hpp&gt;</a></code>
194               </p>
195             </td>
196 <td>
197               <p>
198                 Templates for the selection of integer masks, single or lowest group,
199                 based on the number of bits: Use to select a particular mask when
200                 the bit position(s) are based on a compile-time variable. Useful
201                 for generic programming.
202               </p>
203             </td>
204 </tr>
205 <tr>
206 <td>
207               <p>
208                 <a class="link" href="boost_integer/log2.html" title="Compile Time log2 Calculation">Compile time log2 Calculation</a>.
209               </p>
210             </td>
211 <td>
212               <p>
213                 <code class="literal"><a href="../../../../boost/integer/static_log2.hpp" target="_top">&lt;boost/integer/static_log2.hpp&gt;</a></code>
214               </p>
215             </td>
216 <td>
217               <p>
218                 Template for finding the highest power of two in a number: Use to
219                 find the bit-size/range based on a maximum value. Useful for generic
220                 programming.
221               </p>
222             </td>
223 </tr>
224 <tr>
225 <td>
226               <p>
227                 <a class="link" href="boost_integer/minmax.html" title="Compile time min/max calculation">Compile time min/max calculation</a>.
228               </p>
229             </td>
230 <td>
231               <p>
232                 <code class="literal"><a href="../../../../boost/integer/static_min_max.hpp" target="_top">&lt;boost/integer/static_min_max.hpp&gt;</a></code>
233               </p>
234             </td>
235 <td>
236               <p>
237                 Templates for finding the extrema of two numbers: Use to find a bound
238                 based on a minimum or maximum value. Useful for generic programming.
239               </p>
240             </td>
241 </tr>
242 <tr>
243 <td>
244               <p>
245                 <a class="link" href="boost_integer/extended_euclidean.html" title="Extended Euclidean Algorithm">Extended Euclidean
246                 algorithm</a>.
247               </p>
248             </td>
249 <td>
250               <p>
251                 <code class="literal"><a href="../../../../boost/integer/extended_euclidean.hpp" target="_top">&lt;boost/integer/extended_euclidean.hpp&gt;</a></code>
252               </p>
253             </td>
254 <td>
255               <p>
256                 Solves <span class="emphasis"><em>mx + ny = gcd(x,y)</em></span> for <span class="emphasis"><em>x</em></span>
257                 and <span class="emphasis"><em>y</em></span>.
258               </p>
259             </td>
260 </tr>
261 <tr>
262 <td>
263               <p>
264                 <a class="link" href="boost_integer/mod_inverse.html" title="Modular Multiplicative Inverse">Modular multiplicative
265                 inverse</a>.
266               </p>
267             </td>
268 <td>
269               <p>
270                 <code class="literal"><a href="../../../../boost/integer/mod_inverse.hpp" target="_top">&lt;boost/integer/mod_inverse.hpp&gt;</a></code>
271               </p>
272             </td>
273 <td>
274               <p>
275                 Given <span class="emphasis"><em>a</em></span> and <span class="emphasis"><em>m</em></span>, solves
276                 <span class="emphasis"><em>ax</em></span> = 1 mod <span class="emphasis"><em>m</em></span> for <span class="emphasis"><em>x</em></span>.
277               </p>
278             </td>
279 </tr>
280 </tbody>
281 </table></div>
282 </div>
283 </div>
284 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
285 <td align="left"><p><small>Last revised: December 10, 2019 at 00:22:42 GMT</small></p></td>
286 <td align="right"><div class="copyright-footer"></div></td>
287 </tr></table>
288 <hr>
289 <div class="spirit-nav"><a accesskey="n" href="boost_integer/traits.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
290 </body>
291 </html>