A quantity

Synopsis

Declared in <mp‐units/framework/quantity.h>

template<
    Reference auto R,
    RepresentationOf<get_quantity_spec®> Rep = double>
class quantity
    : public /* implementation-defined */

Description

Property of a phenomenon, body, or substance, where the property has a magnitude that can be expressed by means of a number and a reference.

Base Classes

Name

Description

/* implementation-defined */

Type Aliases

Name

Description

rep

The type used to represent the numerical value of the quantity.

Member Functions

Name

Description

quantity [constructor]

Constructors

operator=

Assigns a new numerical value to *this.

force_in [deprecated]

force_in overloads

force_numerical_value_in [deprecated]

Deprecated. Returns the numerical value converted to another unit, truncating if inexact.

in

in overloads

magnitude

Computes the Euclidean (or, for a complex field, Hermitian) norm of a vector or tensor quantity.

numerical_value_in

numerical_value_in overloads

numerical_value_ref_in

numerical_value_ref_in overloads

operator%=

Computes the remainder of division by another quantity and assigns it to *this.

operator*=

Multiplication assignment operators

operator+

Applies unary + to the numerical value.

operator++

Increment operators

operator+=

Adds another quantity to *this and assigns the result to *this.

operator‐

Negates the numerical value.

operator‐‐

Decrement operators

operator‐=

Subtracts another quantity from *this and assigns the result to *this.

operator/=

Division assignment operators

operator Q_

Converts the quantity to an external quantity‐like type via quantity_like_traits.

operator V_

Explicitly converts the quantity to its bare numerical value.

Static Member Functions

Name

Description

max

Returns a quantity holding the representation type's highest finite value.

min

Returns a quantity holding the representation type's lowest finite value.

zero

Returns a quantity holding the representation type's zero value.

Data Members

Name

Description

numerical_value_is_an_implementation_detail_

needs to be public for a structural type

Static Data Members

Name

Description

character

The quantity character (tensor order and numeric field) extracted from quantity_spec.

dimension

The dimension extracted from quantity_spec.

quantity_spec

The quantity specification extracted from reference.

reference

The reference of the quantity, as provided via the R template parameter.

unit

The unit extracted from reference.

Deduction Guides

Name

Description

quantity<R, representation_canonical_type_t<Value>>

Deduces a quantity from a numerical value alone, using the one reference by default.

quantity<R{}, representation_canonical_type_t<Value>>

Deduces a quantity from a numerical value and an explicit reference.

quantity<quantity_like_traits<Q>::reference, quantity_like_traits<Q>::rep>

Deduces a quantity from an external quantity‐like type via quantity_like_traits.

Non-Member Functions

Name

Description

abs

Computes the absolute value of a quantity

cbrt

Computes the cubic root of a quantity

ceil

Computes the smallest quantity with integer representation and unit type To with its number not less than q

delta

Constructs a quantity of reference R from a raw representation value

epsilon

Returns the epsilon of the quantity

exp

Computes Euler's raised to the given power

floor

Computes the largest quantity with integer representation and unit type To with its number not greater than q

fma

Computes the fma of 3 quantities

fma

Computes the fma of 2 quantities and a quantity point

fmod

Computes the floating‐point remainder of the division operation x / y.

hypot

Computes the square root of the sum of the squares of x, y, and z, without undue overflow or underflow at intermediate stages of the computation

hypot

Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation

inverse

Computes the inverse of a quantity in a provided unit

isfinite

Determines if a quantity is finite.

isinf

Determines if a quantity is infinite.

isnan

Determines if a quantity is a nan.

operator*

Constructs a quantity from a representation value and a reference

pow

Computes the value of a quantity raised to the Num/Den power

remainder

Computes the IEEE remainder of the floating point division operation x / y.

round

Computes the nearest quantity with integer representation and unit type To to q

sqrt

Computes the square root of a quantity

value_cast

Explicit cast of a quantity's representation type

Template Parameters

Name

Description

R

a reference of the quantity providing all information about quantity properties

Rep

a type to be used to represent values of a quantity

Created with MrDocs