|
Uni20
Asynchronous tensor and runtime library.
|
#include "detail/function_identity.hpp"#include "detail/scaled_rational.hpp"#include "exact_rational.hpp"#include "math_constants.hpp"#include "scalar_traits.hpp"#include <memory>#include <mpfr.h>#include <ostream>#include <uni20/common/initialization.hpp>#include <variant>#include "mpreal_functions.hpp"#include "mpreal_special.hpp"#include "mpreal_extensions.hpp"Go to the source code of this file.
Classes | |
| class | uni20::mpreal |
| Owning exact rational or finite-precision MPFR real, with eager arithmetic. More... | |
| struct | uni20::numeric_limits< mpreal > |
| Type properties and explicit runtime limits for exact-or-approximate reals. More... | |
Namespaces | |
| namespace | uni20 |
Functions | |
| mpreal | uni20::abs (mpreal const &x) |
| mpreal | uni20::abs (mpreal const &x, Precision p) |
Evaluate abs(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::acos (mpreal const &x) |
| Inverse cosine in radians; retain input precision or a supported exact result. | |
| mpreal | uni20::acos (mpreal const &x, Precision p) |
Evaluate acos(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::acosh (mpreal const &x) |
| Inverse hyperbolic cosine; retain input precision or a supported exact result. | |
| mpreal | uni20::acosh (mpreal const &x, Precision p) |
Evaluate acosh(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::asin (mpreal const &x) |
| Inverse sine in radians; retain input precision or a supported exact result. | |
| mpreal | uni20::asin (mpreal const &x, Precision p) |
Evaluate asin(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::asinh (mpreal const &x) |
| Inverse hyperbolic sine; retain input precision or a supported exact result. | |
| mpreal | uni20::asinh (mpreal const &x, Precision p) |
Evaluate asinh(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::atan (mpreal const &x) |
| mpreal | uni20::atan (mpreal const &x, Precision p) |
Evaluate atan(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::atan2 (mpreal const &y, mpreal const &x) |
| mpreal | uni20::atan2 (mpreal const &y, mpreal const &x, Precision p) |
Evaluate atan2(y.at(p), x.at(p)), overriding both operands' precisions. | |
| mpreal | uni20::atanh (mpreal const &x) |
| Inverse hyperbolic tangent; retain input precision or a supported exact result. | |
| mpreal | uni20::atanh (mpreal const &x, Precision p) |
Evaluate atanh(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::cbrt (mpreal const &x) |
| Real cube root, including negative arguments; retain input precision or a supported exact result. | |
| mpreal | uni20::cbrt (mpreal const &x, Precision p) |
Evaluate cbrt(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::conj (mpreal const &x) |
| mpreal | uni20::cos (mpreal const &x) |
| mpreal | uni20::cos (mpreal const &x, Precision p) |
Evaluate cos(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::cosh (mpreal const &x) |
| Hyperbolic cosine; retain input precision or a supported exact result. | |
| mpreal | uni20::cosh (mpreal const &x, Precision p) |
Evaluate cosh(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::epsilon (Precision precision) |
| Spacing above one for a specified binary working precision. | |
| mpreal | uni20::exp (mpreal const &x) |
| mpreal | uni20::exp (mpreal const &x, Precision p) |
Evaluate exp(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::exp2 (mpreal const &x) |
| Base-two exponential; retain input precision or a supported exact result. | |
| mpreal | uni20::exp2 (mpreal const &x, Precision p) |
Evaluate exp2(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::expm1 (mpreal const &x) |
| Exponential minus one without cancellation; retain input precision or exact zero. | |
| mpreal | uni20::expm1 (mpreal const &x, Precision p) |
Evaluate expm1(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::hypot (mpreal const &x, mpreal const &y) |
| mpreal | uni20::hypot (mpreal const &x, mpreal const &y, Precision p) |
Evaluate hypot(x.at(p), y.at(p)), overriding both operands' precisions. | |
| bool | uni20::isfinite (mpreal const &x) |
| bool | uni20::isinf (mpreal const &x) |
| bool | uni20::isnan (mpreal const &x) |
| mpreal | uni20::log (mpreal const &x) |
| mpreal | uni20::log (mpreal const &x, Precision p) |
Evaluate log(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::log10 (mpreal const &x) |
| Base-ten logarithm; retain input precision or a supported exact result. | |
| mpreal | uni20::log10 (mpreal const &x, Precision p) |
Evaluate log10(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::log1p (mpreal const &x) |
| Logarithm of one plus x without cancellation; retain input precision or exact zero. | |
| mpreal | uni20::log1p (mpreal const &x, Precision p) |
Evaluate log1p(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::log2 (mpreal const &x) |
| Base-two logarithm; retain input precision or a supported exact result. | |
| mpreal | uni20::log2 (mpreal const &x, Precision p) |
Evaluate log2(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::operator* (exact_rational const &a, mpreal const &b) |
| mpreal | uni20::operator* (mpreal const &a, exact_rational const &b) |
| mpreal | uni20::operator* (mpreal const &a, mpreal const &b) |
| mpreal | uni20::operator+ (exact_rational const &a, mpreal const &b) |
| mpreal | uni20::operator+ (mpreal const &a) |
| mpreal | uni20::operator+ (mpreal const &a, exact_rational const &b) |
| mpreal | uni20::operator+ (mpreal const &a, mpreal const &b) |
| mpreal | uni20::operator- (exact_rational const &a, mpreal const &b) |
| mpreal | uni20::operator- (mpreal const &a) |
| mpreal | uni20::operator- (mpreal const &a, exact_rational const &b) |
| mpreal | uni20::operator- (mpreal const &a, mpreal const &b) |
| mpreal | uni20::operator/ (exact_rational const &a, mpreal const &b) |
| mpreal | uni20::operator/ (mpreal const &a, exact_rational const &b) |
| mpreal | uni20::operator/ (mpreal const &a, mpreal const &b) |
| std::ostream & | uni20::operator<< (std::ostream &os, exact_rational const &value) |
| std::ostream & | uni20::operator<< (std::ostream &os, mpreal const &value) |
| Stream the round-trip decimal representation, independent of stream precision. | |
| std::partial_ordering | uni20::operator<=> (mpreal const &a, exact_rational const &b) |
| template<std::integral I> requires (!std::same_as<I, bool>) | |
| std::partial_ordering | uni20::operator<=> (mpreal const &a, I b) |
| std::partial_ordering | uni20::operator<=> (mpreal const &a, mpreal const &b) |
| Compare exact or stored approximate values without rounding either operand. | |
| bool | uni20::operator== (mpreal const &a, exact_rational const &b) |
| template<std::integral I> requires (!std::same_as<I, bool>) | |
| bool | uni20::operator== (mpreal const &a, I b) |
| bool | uni20::operator== (mpreal const &a, mpreal const &b) |
| mpreal | uni20::pow (mpreal const &x, mpreal const &y) |
| mpreal | uni20::pow (mpreal const &x, mpreal const &y, Precision p) |
Evaluate pow(x.at(p), y.at(p)), overriding both operands' precisions. | |
| bool | uni20::signbit (mpreal const &x) |
| mpreal | uni20::sin (mpreal const &x) |
| mpreal | uni20::sin (mpreal const &x, Precision p) |
Evaluate sin(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::sinh (mpreal const &x) |
| Hyperbolic sine; retain input precision or a supported exact result. | |
| mpreal | uni20::sinh (mpreal const &x, Precision p) |
Evaluate sinh(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::sqrt (mpreal const &x) |
| mpreal | uni20::sqrt (mpreal const &x, Precision p) |
Evaluate sqrt(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::tan (mpreal const &x) |
| mpreal | uni20::tan (mpreal const &x, Precision p) |
Evaluate tan(x.at(p)), returning an approximation at finite precision p. | |
| mpreal | uni20::tanh (mpreal const &x) |
| Hyperbolic tangent; retain input precision or a supported exact result. | |
| mpreal | uni20::tanh (mpreal const &x, Precision p) |
Evaluate tanh(x.at(p)), returning an approximation at finite precision p. | |