31 lines
1.5 KiB
Plaintext
31 lines
1.5 KiB
Plaintext
[/
|
|
Copyright 2011 - 2020 John Maddock.
|
|
Copyright 2013 - 2019 Paul A. Bristow.
|
|
Copyright 2013 Christopher Kormanyos.
|
|
|
|
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).
|
|
]
|
|
|
|
[section:rational Rational Number Types]
|
|
|
|
The following back-ends provide rational number arithmetic:
|
|
|
|
[table
|
|
[[Backend Type][Header][Radix][Dependencies][Pros][Cons]]
|
|
[[`cpp_rational`][boost/multiprecision/cpp_int.hpp][2][None][An all C++ Boost-licensed implementation.][Slower than [gmp].]]
|
|
[[`gmp_rational`][boost/multiprecision/gmp.hpp][2][[gmp]][Very fast and efficient back-end.][Dependency on GNU licensed [gmp] library.]]
|
|
[[`tommath_rational`][boost/multiprecision/tommath.hpp][2][[tommath]][All C/C++ implementation that's Boost Software Licence compatible.][Slower than [gmp].]]
|
|
[[`rational_adaptor`][boost/multiprecision/rational_adaptor.hpp][N/A][none][All C++ adaptor that allows any integer back-end type to be used as a rational type.][Requires an underlying integer back-end type.]]
|
|
[[`boost::rational`][boost/rational.hpp][N/A][None][A C++ rational number type that can used with any `number` integer type.][The expression templates used by `number` end up being "hidden" inside `boost::rational`: performance may well suffer as a result.]]
|
|
]
|
|
|
|
[include tutorial_cpp_rational.qbk]
|
|
[include tutorial_gmp_rational.qbk]
|
|
[include tutorial_tommath_rational.qbk]
|
|
[include tutorial_boost_rational.qbk]
|
|
[include tutorial_rational_adaptor.qbk]
|
|
|
|
[endsect] [/section:rational Rational Number Types]
|