FloatingPoint64Value class

A representation of a double-precision floating-point value.

Inheritance

Constructors

FloatingPoint64Value({required LogicValue sign, required LogicValue exponent, required LogicValue mantissa})
Constructor for a double precision floating point value
factory
FloatingPoint64Value.uninitialized()
Creates an unpopulated version, intended to be called with the populator.

Properties

bias → int
Return the bias of this FloatingPointValue, the offset of the exponent, also representing the zero exponent 2^0 = 1.
no setterinherited
explicitJBit → bool
Return true if the JBit is explicitly represented in the mantissa.
no setterinherited
exponent ↔ LogicValue
The exponent of the FloatingPointValue: this is biased about a midpoint for positive and negative exponents.
latefinalinherited
exponentWidth → int
The exponent width
final
hashCode → int
The hash code for this object.
no setterinherited
isAnInfinity → bool
Return true if the represented floating point number is considered infinity or negative infinity.
no setterinherited
isAZero → bool
Return true if the represented floating point number is zero. Note that the equality operator will treat FloatingPointConstants.positiveZero and FloatingPointConstants.negativeZero as equal.
no setterinherited
isExponentAllOnes → bool
Test if exponent is all '1's.
no setterinherited
isExponentAllZeros → bool
Test if exponent is all '0's.
no setterinherited
isFractionAllZeroes → bool
Test if the fractional portion of mantissa is all zeroes.
no setterinherited
isMantissaAllZeroes → bool
Test if mantissa is all '0's.
no setterinherited
isNaN → bool
Return true if the represented floating point number is considered NaN or "Not a Number".
no setterinherited
isQuietNaN → bool
Return true if this is a quiet NaN.
no setterinherited
isSignalingNaN → bool
Return true if this is a signaling NaN.
no setterinherited
mantissa ↔ LogicValue
The mantissa of the floating point.
latefinalinherited
mantissaWidth → int
The mantissa width
final
maxExponent → int
Return the maximum exponent of this FloatingPointValue.
no setterinherited
minExponent → int
Return the minimum exponent of this FloatingPointValue.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sign ↔ LogicValue
The sign of the FloatingPointValue: 1 means a negative value.
latefinalinherited
subNormalAsZero → bool
Return true if subnormal numbers are treated as zero.
no setterinherited
supportsInfinities → bool
Indicates whether FloatingPointConstants.positiveInfinity and FloatingPointConstants.negativeInfinity representations are supported.
no setterinherited
supportsSignalingNaNs → bool
Indicates whether signaling and quiet NaNs have distinct encodings.
no setterinherited
value → LogicValue
The full floating point value concatenated as a LogicValue.
latefinalinherited

Methods

abs() → FloatingPointValue
Absolute value operation for FloatingPointValue.
inherited
canonicalize() → FloatingPointValue
Return the cananocalized form of FloatingPointValue which has the leading 1 at the front of the mantissa, or further right if subnormal.
inherited
clonePopulator() → FloatingPointValuePopulator<FloatingPointValue>
Creates a FloatingPointValuePopulator for the same type as this and with the same widths.
override
compareTo(Object other) → int
Compares two ordered values to implement Comparable.
inherited
comparisonInvalid(FloatingPointValue other) → bool
Whether an IEEE quiet comparison with other signals invalid.
inherited
getSpecialConstantComponents(FloatingPointConstants constantFloatingPoint) → ({LogicValue exponent, LogicValue mantissa, LogicValue sign})?
Returns a tuple of LogicValues for the sign, exponent, and mantissa components of a special constant, or null if the constant does not have special components.This is useful for constants like NaN, infinity, etc., in certain types of floating point representations.
inherited
hasSameEncoding(FloatingPointValue other) → bool
Whether this and other have identical formats and bit encodings.
inherited
isLegalValue() → bool
Check if the mantissa and exponent stored are compatible.
inherited
isNormal() → bool
Return true if this FloatingPointValue contains a normal number, defined as having mantissa in the range [1,2).
inherited
isSubnormal() → bool
Return true if the represented floating point number is considered "subnormal", including isAZero.
inherited
negate() → FloatingPointValue
Negate operation for FloatingPointValue.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDouble() → double
Return the value of the floating point number in a Dart double type.
inherited
toFixedPointValue() → FixedPointValue
Losslessly converts this finite value to a FixedPointValue.
inherited
toLogic({String? name}) → FloatingPoint
Converts this value to a constant FloatingPoint signal.
inherited
toScaledBigInt() → ({int exponent, BigInt significand})
Returns this exact finite value as significand * 2^exponent.
inherited
toString({bool integer = false}) → String
Return a string representation of FloatingPointValue.
inherited
ulp() → FloatingPointValue
Compute the unit in the last place for the given FloatingPointValue.
inherited
validate() → void
Validate the FloatingPointValue to ensure widths and other characteristics are legal.
inherited
withinRounding(FloatingPointValue other) → bool
Return true if the other FloatingPointValue is within a rounding error of this value.
inherited

Operators

operator *(FloatingPointValue multiplicand) → FloatingPointValue
Multiply operation for FloatingPointValue.
inherited
operator +(FloatingPointValue addend) → FloatingPointValue
Addition operation for FloatingPointValue.
inherited
operator -(FloatingPointValue subend) → FloatingPointValue
Subtract operation for FloatingPointValue.
inherited
operator /(FloatingPointValue divisor) → FloatingPointValue
Divide operation for FloatingPointValue.
inherited
operator <(FloatingPointValue other) → bool
Less-than operator for FloatingPointValue.
inherited
operator <=(FloatingPointValue other) → bool
Less-than-or-equal operator for FloatingPointValue.
inherited
operator ==(Object other) → bool
Equality operator for FloatingPointValue.
inherited
operator >(FloatingPointValue other) → bool
Greater-than operator for FloatingPointValue.
inherited
operator >=(FloatingPointValue other) → bool
Greater-than-or-equal operator for FloatingPointValue.
inherited
operator unary-() → FloatingPointValue
Negate the FloatingPointValue.
inherited

Static Methods

populator() → FloatingPointValuePopulator<FloatingPoint64Value>
Creates a FloatingPointValuePopulator, which can then be used to complete construction using population functions.
override