9. Numeric and Mathematical Modules *********************************** The modules described in this chapter provide numeric and math-related functions and data types. The "numbers" module defines an abstract hierarchy of numeric types. The "math" and "cmath" modules contain various mathematical functions for floating-point and complex numbers. For users more interested in decimal accuracy than in speed, the "decimal" module supports exact representations of decimal numbers. The following modules are documented in this chapter: * 9.1. "numbers" — Numeric abstract base classes * 9.1.1. The numeric tower * 9.1.2. Notes for type implementors * 9.1.2.1. Adding More Numeric ABCs * 9.1.2.2. Implementing the arithmetic operations * 9.2. "math" — Mathematical functions * 9.2.1. Number-theoretic and representation functions * 9.2.2. Power and logarithmic functions * 9.2.3. Trigonometric functions * 9.2.4. Angular conversion * 9.2.5. Hyperbolic functions * 9.2.6. Special functions * 9.2.7. Constants * 9.3. "cmath" — Mathematical functions for complex numbers * 9.3.1. Conversions to and from polar coordinates * 9.3.2. Power and logarithmic functions * 9.3.3. Trigonometric functions * 9.3.4. Hyperbolic functions * 9.3.5. Classification functions * 9.3.6. Constants * 9.4. "decimal" — Decimal fixed point and floating point arithmetic * 9.4.1. Quick-start Tutorial * 9.4.2. Decimal objects * 9.4.2.1. Logical operands * 9.4.3. Context objects * 9.4.4. Signals * 9.4.5. Floating Point Notes * 9.4.5.1. Mitigating round-off error with increased precision * 9.4.5.2. Special values * 9.4.6. Working with threads * 9.4.7. Recipes * 9.4.8. Decimal FAQ * 9.5. "fractions" — Rational numbers * 9.6. "random" — Generate pseudo-random numbers * 9.7. "itertools" — Functions creating iterators for efficient looping * 9.7.1. Itertool functions * 9.7.2. Recipes * 9.8. "functools" — Higher-order functions and operations on callable objects * 9.8.1. "partial" Objects * 9.9. "operator" — Standard operators as functions * 9.9.1. Mapping Operators to Functions