Beyond the C ++ standard library: boost library guide: boost library introduction-mathematical and Numerical Computation

Source: Internet
Author: User
Math and numerics boost. Integer

This library provides a series of functions for the integer type, such as the maximum value and minimum value constant at the time of compilation [3]. The appropriate size type is given based on the required number of digits, static computing base on 2 logarithm and other functions. It also includes some Type Definitions (typedefs) of the standard header file <stdint. h> from 1999 c ).

The authors of integer are beman Dawes and daryle Walker.

Boost. Interval

The interval library helps you deal with mathematical intervals. It provides mathematical operators for Interval class templates. In addition to the operations that clearly include intervals, another common application of intervals is that when an operation gives inaccurate results, intervals can be used to quantify the spread of rounding errors.

Interval was written by Guillaume melquiond, Sylvain pion, and Hervé BR önniman, which was inspired by the preliminary work of Jens Maurer.

Boost. Math

Math is a set of mathematical-related templates, including the four-element and eight-element numbers (generalized plural numbers), numerical functions such as acossh, asinh, and sinhc, and greatest common divsor. Note: The abbreviation of this word is invalid. I have been warned several times. Real TMD faint) and least common (LCM); there are many other things.

Math's authors are Hubert Holin, daryle Walker, and Eric Ford.

Boost. MINMAX

MINMAX calculates both the maximum and minimum values, instead of comparing them twice when using STD: min and STD: Max. For a sequence with n elements, you only need to perform a 3n/2 + 1 comparison, instead of 2n times as required when using STD: min_element and STD: max_element.

The author of MINMAX is Hervé BR önniman.

Boost. Numeric Conversion

The numeric conversion library is a set of tools used to implement secure and predictable conversions between different numeric types. For example, there is a tool called numeric_cast (initially in boost. conversion), which can perform a range test on the implemented conversions to ensure that the target type can represent the converted value; otherwise, it throws an exception.

The author of numeric conversion is Fernando cacciola.

Boost. Operators

The operators Library provides the implementation of related operators and concepts (lessthancomparable, arithmetic, and so on. When defining an operator for a type, It is very tiring and error-prone to add all operators that should be defined. For example, when the operator <(lessthancomparable) is provided, the operator <=,>, and> = should also be defined in most cases. The operators library automatically defines all operators for a given type based on a small part of the User-Defined operators. This library is described in detail in "library 4: operators 4.

Operators are written by David Abrahams, Jeremy siek, Aleksey gurtovoy, beman Dawes, and daryle Walker.

Boost. Random

This library is applicable to specialized applications of random numbers, including a series of generators and distributors ), these generators and splitters are widely used in many fields such as simulation and security. Random has been adopted by the upcoming standard library technical report.

The author of random is Jens Maurer.

Boost. Rational

The integer and floating-point types have both been built in the C ++ language, and the plural is part of the C ++ standard library. What should we do with rational numbers? Rational numbers avoid the loss of precision of floating point numbers. For example, they are more suitable for currency accounting systems. Rational provides rational numbers that can be based on any integer type, including user-defined types (obviously, a type without precision constraints is the most useful ).

The author of rational is Paul Moore.

Boost. ublas

The ublas Library provides basic linear algebra operations for vectors and matrices. It uses mathematical symbols, operators, and uses efficient code generation mechanisms (by using expression templates ).

Ublas is written by Joerg Walter and Mathias Koch.



[3] STD: numeric_limits only provides these values in the form of functions.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.