MutableQuantity class
MutableQuantity supports updates to its value, dimensions and uncertainty.
Changes are broadcast over the onChange
stream.
Inversion
The Quantity class supports inversion through the inverse
method, which returns a Quantity object that is the result of the
inversion process. MiscQuantity adds to this capability with the
invert
method, which inverts the MiscQuantity in place without
returning a object. This is possible because a MiscQuantity may have
any Dimensions, whereas other Quantity subclasses have fixed Dimensions.
- Implemented types
Constructors
- MutableQuantity([Number _valueSI = Double.zero, Dimensions _dimensions = Scalar.scalarDimensions, double _ur = 0.0])
- Constructs an instance, with optional SI-MKS value, dimensions and/or relative uncertainty.
- MutableQuantity.from(Quantity q)
- Constructs an instance from an existing Quantity.
Properties
- arbitraryPrecision → bool
-
Whether or not this Quantity is represented using arbitrary precision.
no setteroverride
- cgs ↔ Number
-
Returns the value of this quantity in alternative CGS
(or centimeter-gram-second) units. MKS (meter-kilogram-second) units are
preferred.
getter/setter pairoverride-getter
- dimensions ↔ Dimensions
-
Dimensions.
getter/setter pairoverride-getter
- hashCode → int
-
Each MutableQuantity has a unique hashCode that is not value based.
Therefore MutableQuantity instances with the same value and dimensions as
another quantity will not have the same hash code.
no setteroverride
- isScalar → bool
-
Whether or not this Quantity has scalar dimensions, including having no angle or
solid angle dimensions.
no setteroverride
- isScalarSI → bool
-
Whether or not this Quantity has scalar dimensions in the strict
International System of Units (SI) sense, which allows non-zero angle and
solid angle dimensions.
no setteroverride
- mks ↔ Number
-
Returns the value of this quantity in standard MKS (or meter-kilogram-second) units.
getter/setter pairoverride-getter
- mutable ↔ bool
-
Mutability can be turned on and off (defaults to true).
getter/setter pair
-
onChange
→ Stream<
Quantity> -
Broadcasts a snapshot of quantity whenever its value, dimensions or uncertainty changes.
no setter
- preferredUnits ↔ Units?
-
Preferred units for display.
getter/setter pairoverride-getter
- relativeUncertainty ↔ double
-
The relative standard uncertainty in this Quantity object's value.
getter/setter pairoverride-getter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- snapshot → Quantity
-
Creates and returns an immutable typed Quantity that represents the value and
uncertainty of this MutableQuantity at this moment.
no setter
- standardUncertainty ↔ Quantity
-
Returns the standard uncertainty in this Quantity object's value as a typed
Quantity object.
getter/setter pairoverride-getter
- valueSI ↔ Number
-
The value of the quantity in the base units,
of the International System of Units (SI).
getter/setter pairoverride-getter
Methods
-
abs(
) → Quantity -
Converts the value of this MutableQuantity to its absolute value. Returns itself.
override
-
calcExpandedUncertainty(
double k) → Quantity -
Returns the expanded uncertainty for coverage factor,
k
, in this Quantity's value as a typed Quantity object.override -
compareTo(
dynamic q2) → int -
Compares this Quantity to
q2
by comparing MKS values. The Quantities need not have the same dimensions.override -
inverse(
) → Quantity -
Determines the inverse of the quantity represented by this object,
creating and returning a Quantity object (which may have different
dimensions and therefore be of a different type). This object is not
modified.
override
-
invert(
) → void - Inverts this MutableQuantity, both value and dimensions, in place.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
outputText(
StringBuffer buffer, {UncertaintyFormat uncertFormat = UncertaintyFormat.none, bool symbols = true, NumberFormat? numberFormat}) → void -
Appends a String representation of this Quantity to the
buffer
using the preferred units and number format. If no preferred units have been specified, then MKS units are used. Uncertainty in the value of the Quantity is optionally shown as a plus/minus value in the same units.override -
randomSample(
) → Quantity -
Randomly generates a Quantity from this Quantity's value and uncertainty.
The uncertainty is represented by a Normal (Gaussian) continuous
distribution.
override
-
setEqualTo(
Quantity q2) → Quantity -
Modifies this MutableQuantity to have the value, dimensions, uncertainty and
preferred units of
q2
. -
setValueInUnits(
dynamic value, Units units) → void -
Sets the this Quantity's
value
in the specifiedunits
. Thevalue
is expected to be a num or Number object. Theunits
must match the current dimensions or a DimensionsException will be thrown. -
sqrt(
) → Quantity -
Returns a Quantity that represents the square root of this Quantity,
in terms of both value and dimensions (for example, if this Quantity were an
Area of 16 square meters, a Length of 4 meters will be returned).
override
-
toJson(
) → Map< String, dynamic> -
Support dart:convert stringify.
override
-
toString(
) → String -
Returns a String representation of a snapshot of this MutableQuantity .
override
-
valueInUnits(
Units? units) → Number -
Gets the Quantity's value in the specified
units
. If units is null, the MKS value is returned. If not null,units
must have dimensions compatible with this Quantity or a DimensionsException will be thrown.override
Operators
-
operator *(
dynamic multiplier) → Quantity -
Returns the product of this quantity and
multiplier
, which is expected to be either a Quantity, num or Number object. All other types will cause a QuantityException to be thrown.override -
operator +(
dynamic addend) → Quantity -
Returns the sum of this Quantity and
addend
.override -
operator -(
dynamic subtrahend) → Quantity -
Returns the difference of this Quantity and
subtrahend
or (this - q2).override -
operator /(
dynamic divisor) → Quantity -
Returns the quotient of this quantity and
divisor
, including both value and dimensions.override -
operator <(
Quantity other) → bool -
Determines whether on not this Quantity is less than a specified Quantity by
comparing their MKS values. The two Quantities need not be of the same
type or dimensions.
override
-
operator <=(
Quantity other) → bool -
Determines whether on not this Quantity is less than or equal to a
specified Quantity by comparing their MKS values. The two Quantities
need not be of the same type or dimensions.
override
-
operator ==(
Object other) → bool -
The equality operator.
override
-
operator >(
Quantity other) → bool -
Determines whether on not this Quantity is greater than a specified Quantity by
comparing their MKS values. The two Quantities need not be of the same
type or dimensions.
override
-
operator >=(
Quantity other) → bool -
Determines whether on not this Quantity is greater than or equal to a specified
Quantity by comparing their MKS values. The two Quantities need not be of
the same type or dimensions.
override
-
operator ^(
dynamic exp) → Quantity -
Returns this Quantity raised to the power of
exponent
.override -
operator unary-(
) → Quantity -
Negates the value of this MutableQuantity and returns a reference to itself.
override