1 write to Significand
System.Private.CoreLib (1)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.DecimalIeee754.cs (1)
57
Significand
= significand;
226 references to Significand
System.Private.CoreLib (226)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.DecimalIeee754.cs (126)
23
if (decoded.
Significand
== TValue.Zero)
28
int digits = TDecimal.CountDigits(decoded.
Significand
);
32
TValue significand = decoded.
Significand
* TDecimal.Power10(numberZeroDigits);
36
return HashCode.Combine(decoded.Signed, decoded.
Significand
, decoded.UnbiasedExponent);
142
if (current.
Significand
== TValue.Zero && other.
Significand
== TValue.Zero)
168
if (current.
Significand
== TValue.Zero)
170
return other.
Significand
== TValue.Zero ? 0 : -1;
172
else if (other.
Significand
== TValue.Zero)
177
if (current.UnbiasedExponent == other.UnbiasedExponent && current.
Significand
== other.
Significand
)
187
if (current.
Significand
>= other.
Significand
)
196
(TValue quotient, TValue remainder) = TValue.DivRem(other.
Significand
, current.
Significand
);
270
bool leftZero = left.
Significand
== TValue.Zero;
271
bool rightZero = right.
Significand
== TValue.Zero;
286
return left.
Significand
== right.
Significand
;
301
(TValue quotient, TValue remainder) = TValue.DivRem(right.
Significand
, TDecimal.Power10(diffExponent));
302
return (remainder == TValue.Zero) && (quotient == left.
Significand
);
555
TValue leadingDigit = decoded.
Significand
/ scale;
570
result |= PackDeclets(decoded.
Significand
- (leadingDigit * scale), declets);
923
bool aZero = TValue.IsZero(a.
Significand
);
924
bool bZero = TValue.IsZero(b.
Significand
);
950
int nonZeroDigits = TDecimal.CountDigits(nonZero.
Significand
);
952
TValue paddedSignificand = nonZero.
Significand
* TDecimal.Power10(pad);
991
magnitudeLow = hi.
Significand
;
995
WideMultiply(hi.
Significand
, AlignmentScaleFactor<TDecimal, TValue>(effectiveDifference), out magnitudeHigh, out magnitudeLow);
1003
if (droppedDigits >= TDecimal.CountDigits(lo.
Significand
))
1010
(loRetained, TValue remainder) = TValue.DivRem(lo.
Significand
, TDecimal.Power10(droppedDigits));
1015
loRetained = lo.
Significand
;
1156
bool otherZero = (leftInfinity && !rightInfinity && TValue.IsZero(UnpackDecimalIeee754<TDecimal, TValue>(right).
Significand
))
1157
|| (rightInfinity && !leftInfinity && TValue.IsZero(UnpackDecimalIeee754<TDecimal, TValue>(left).
Significand
));
1175
if (TValue.IsZero(a.
Significand
) || TValue.IsZero(b.
Significand
))
1186
WideMultiply(a.
Significand
, b.
Significand
, out TValue productHigh, out TValue productLow);
1227
if (TValue.IsZero(value.
Significand
))
1237
WideMultiply(value.
Significand
, constantHead, out TValue high, out TValue low);
1238
WideMultiply(value.
Significand
, constantTail, out TValue tailHigh, out TValue tailLow);
1298
bool otherZero = (xInfinity && !yInfinity && TValue.IsZero(UnpackDecimalIeee754<TDecimal, TValue>(y).
Significand
))
1299
|| (yInfinity && !xInfinity && TValue.IsZero(UnpackDecimalIeee754<TDecimal, TValue>(x).
Significand
));
1327
bool productZero = TValue.IsZero(dx.
Significand
) || TValue.IsZero(dy.
Significand
);
1331
TValue addendSignificand = dz.
Significand
;
1359
WideMultiply(dx.
Significand
, dy.
Significand
, out TValue productHigh, out TValue productLow);
1513
if (TValue.IsZero(b.
Significand
))
1517
if (TValue.IsZero(a.
Significand
))
1528
if (TValue.IsZero(a.
Significand
))
1535
int dividendDigits = TDecimal.CountDigits(a.
Significand
);
1536
int divisorDigits = TDecimal.CountDigits(b.
Significand
);
1551
TValue divisor = b.
Significand
;
1553
(TValue quotient, TValue remainder) = TValue.DivRem(a.
Significand
, divisor);
1655
return DecimalIeee754FiniteNumberBinaryEncoding<TDecimal, TValue>(resultSign, a.
Significand
, a.UnbiasedExponent);
1660
if (TValue.IsZero(b.
Significand
))
1669
if (TValue.IsZero(a.
Significand
))
1687
remainder = a.
Significand
% b.
Significand
;
1690
TValue chunkLimit = TValue.MaxValue / b.
Significand
;
1700
remainder = (remainder * TDecimal.Power10(step)) % b.
Significand
;
1709
if (TDecimal.CountDigits(b.
Significand
) + gap > TDecimal.Precision)
1711
remainder = a.
Significand
;
1715
remainder = a.
Significand
% (b.
Significand
* TDecimal.Power10(gap));
1763
return DecimalIeee754FiniteNumberBinaryEncoding<TDecimal, TValue>(resultSign, a.
Significand
, a.UnbiasedExponent);
1768
if (TValue.IsZero(b.
Significand
))
1777
if (TValue.IsZero(a.
Significand
))
1795
divisor = b.
Significand
;
1797
TValue quotient = a.
Significand
/ b.
Significand
;
1798
remainder = a.
Significand
- (quotient * b.
Significand
);
1801
TValue chunkLimit = TValue.MaxValue / b.
Significand
;
1813
quotient = scaled / b.
Significand
;
1814
remainder = scaled - (quotient * b.
Significand
);
1825
if (TDecimal.CountDigits(b.
Significand
) + gap > TDecimal.Precision + 1)
1827
return DecimalIeee754FiniteNumberBinaryEncoding<TDecimal, TValue>(resultSign, a.
Significand
, resultExponent);
1832
divisor = (b.
Significand
* TDecimal.Power10(gap - 1)) * TDecimal.Power10(1);
1834
TValue quotient = a.
Significand
/ divisor;
1835
remainder = a.
Significand
- (quotient * divisor);
1880
if (TValue.IsZero(a.
Significand
))
1894
TValue coefficient = a.
Significand
;
1961
return DecimalIeee754FiniteNumberBinaryEncoding<TDecimal, TValue>(a.Signed, a.
Significand
, a.UnbiasedExponent);
1965
int coefficientDigits = TValue.IsZero(a.
Significand
) ? 0 : TDecimal.CountDigits(a.
Significand
);
1983
discardedNonZero = !TValue.IsZero(a.
Significand
);
1988
discardedComparedToHalf = a.
Significand
.CompareTo(half);
1996
(quotient, discarded) = TValue.DivRem(a.
Significand
, divisor);
2037
if (TValue.IsZero(a.
Significand
))
2042
return a.UnbiasedExponent + TDecimal.CountDigits(a.
Significand
) - 1;
2075
if (TValue.IsZero(a.
Significand
))
2087
if (surplus <= TDecimal.Precision - TDecimal.CountDigits(a.
Significand
))
2089
TValue significand = a.
Significand
* TDecimal.Power10((int)surplus);
2100
int coefficientDigits = TDecimal.CountDigits(a.
Significand
);
2117
discardedComparedToHalf = a.
Significand
.CompareTo(half);
2122
quotient = a.
Significand
/ divisor;
2123
TValue discarded = a.
Significand
- (quotient * divisor);
2137
return DecimalIeee754FiniteNumberBinaryEncoding<TDecimal, TValue>(a.Signed, a.
Significand
, (int)exponent);
2179
if (TValue.IsZero(a.
Significand
))
2185
int coefficientDigits = TDecimal.CountDigits(a.
Significand
);
2198
TValue significand = a.
Significand
* TDecimal.Power10(shift);
2221
discardedComparedToHalf = a.
Significand
.CompareTo(half);
2228
(quotient, discarded) = TValue.DivRem(a.
Significand
, divisor);
2328
if (TValue.IsZero(a.
Significand
))
2336
if (!a.Signed && (a.
Significand
== TDecimal.MaxSignificand) && (exponent == TDecimal.MaxAdjustedExponent))
2342
if (a.Signed && (a.
Significand
== TValue.One) && (exponent == TDecimal.MinAdjustedExponent))
2350
TValue significand = a.
Significand
;
3047
TValue significand = decoded.
Significand
;
3118
return TValue.IsZero(decoded.
Significand
);
3179
if (TValue.IsZero(decoded.
Significand
))
3184
int adjustedExponent = decoded.UnbiasedExponent + TDecimal.CountDigits(decoded.
Significand
) - 1;
3203
if (TValue.IsZero(decoded.
Significand
))
3208
int adjustedExponent = decoded.UnbiasedExponent + TDecimal.CountDigits(decoded.
Significand
) - 1;
3410
if (TDecimal.IsFinite(decimalBits) && TValue.IsZero(UnpackDecimalIeee754<TDecimal, TValue>(decimalBits).
Significand
))
3462
UInt128 significand = UInt128.CreateTruncating(decoded.
Significand
);
3700
if (TSourceValue.IsZero(decoded.
Significand
))
3705
UInt128 magnitude = UInt128.CreateTruncating(decoded.
Significand
);
3733
if (TValue.IsZero(decoded.
Significand
))
3741
if (decoded.
Significand
<= TValue.CreateTruncating(ulong.MaxValue))
3743
ulong mantissa = ulong.CreateTruncating(decoded.
Significand
);
3745
int scale = TDecimal.CountDigits(decoded.
Significand
) + exponent;
3772
UInt128 magnitude = UInt128.CreateTruncating(decoded.
Significand
);
3891
if (TValue.IsZero(decoded.
Significand
))
3898
UInt128 magnitude = UInt128.CreateTruncating(decoded.
Significand
);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.DecimalIeee754.DiyFp128PiTrig.cs (1)
37
TValue coefficient = decoded.
Significand
;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.DecimalIeee754.Transcendental.cs (90)
52
if (coefficient == decoded.
Significand
)
61
bool negative = decoded.
Significand
< one;
62
TValue difference = negative ? one - decoded.
Significand
: decoded.
Significand
- one;
91
if (TValue.IsZero(decoded.
Significand
))
103
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
125
if (TValue.IsZero(decoded.
Significand
))
137
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
159
if (TValue.IsZero(decoded.
Significand
))
171
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
195
if (TValue.IsZero(decoded.
Significand
))
207
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
231
if (TValue.IsZero(decoded.
Significand
))
243
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
267
if (TValue.IsZero(decoded.
Significand
))
279
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
346
if (TValue.IsZero(decoded.
Significand
))
371
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
402
&& DecimalIeee754MagnitudeIsOne<TDecimal, TValue>(decodedBase.UnbiasedExponent, decodedBase.
Significand
);
410
bool baseIsZero = !TDecimal.IsInfinity(newBase) && TValue.IsZero(decodedBase.
Significand
);
416
&& DecimalIeee754MagnitudeIsOne<TDecimal, TValue>(decodedX.UnbiasedExponent, decodedX.
Significand
);
424
|| decodedX.Signed || decodedBase.Signed || TValue.IsZero(decodedX.
Significand
) || baseIsZero)
457
if (TValue.IsZero(decoded.
Significand
))
475
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
506
if (TValue.IsZero(decoded.
Significand
))
524
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
586
if (TValue.IsZero(decoded.
Significand
))
613
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
760
if (!yNaN && !yInf && TValue.IsZero(dy.
Significand
))
767
&& DecimalIeee754MagnitudeIsOne<TDecimal, TValue>(dx.UnbiasedExponent, dx.
Significand
))
788
yIsInteger = DecimalIeee754IsInteger<TDecimal, TValue>(dy.UnbiasedExponent, dy.
Significand
, out yIsOddInteger);
800
else if (TValue.IsZero(dx.
Significand
))
806
cmp = DecimalIeee754CompareMagnitudeToOne<TDecimal, TValue>(dx.UnbiasedExponent, dx.
Significand
);
837
if (TValue.IsZero(dx.
Significand
))
872
DiyFp128 baseValue = DecimalToDiyFp128<TDecimal, TValue>(signed: false, dx.UnbiasedExponent, dx.
Significand
);
873
DiyFp128 exponentValue = DecimalToDiyFp128<TDecimal, TValue>(dy.Signed, dy.UnbiasedExponent, dy.
Significand
);
905
if (TValue.IsZero(decoded.
Significand
))
918
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
946
bool xZero = TValue.IsZero(dx.
Significand
);
947
bool yZero = TValue.IsZero(dy.
Significand
);
952
return DecimalIeee754FiniteNumberBinaryEncoding<TDecimal, TValue>(signed: false, dx.
Significand
, dx.UnbiasedExponent);
957
return DecimalIeee754FiniteNumberBinaryEncoding<TDecimal, TValue>(signed: false, dy.
Significand
, dy.UnbiasedExponent);
968
DiyFp128 xMagnitude = DecimalToDiyFp128<TDecimal, TValue>(signed: false, dx.UnbiasedExponent, dx.
Significand
);
969
DiyFp128 yMagnitude = DecimalToDiyFp128<TDecimal, TValue>(signed: false, dy.UnbiasedExponent, dy.
Significand
);
1020
if (TValue.IsZero(dx.
Significand
))
1044
int padding = int.Min(TDecimal.Precision - TDecimal.CountDigits(dx.
Significand
), dx.UnbiasedExponent - TDecimal.MinAdjustedExponent);
1046
dx.Signed, dx.
Significand
* TDecimal.Power10(padding), dx.UnbiasedExponent - padding);
1068
DiyFp128 baseValue = DecimalToDiyFp128<TDecimal, TValue>(signed: false, dx.UnbiasedExponent, dx.
Significand
);
1089
DiyFp128 value = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
1090
UInt128 coefficient = UInt128.CreateTruncating(decoded.
Significand
);
1114
if (TValue.IsZero(decoded.
Significand
))
1148
if (TValue.IsZero(decoded.
Significand
))
1182
if (TValue.IsZero(decoded.
Significand
))
1217
if (TValue.IsZero(decoded.
Significand
))
1265
if (TValue.IsZero(decoded.
Significand
))
1277
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
1299
if (TValue.IsZero(decoded.
Significand
))
1313
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
1343
if (TValue.IsZero(decoded.
Significand
))
1361
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
1401
bool yZero = !yInfinity && TValue.IsZero(decodedY.
Significand
);
1402
bool xZero = !xInfinity && TValue.IsZero(decodedX.
Significand
);
1433
DiyFp128 argumentY = DecimalToDiyFp128<TDecimal, TValue>(decodedY.Signed, decodedY.UnbiasedExponent, decodedY.
Significand
);
1434
DiyFp128 argumentX = DecimalToDiyFp128<TDecimal, TValue>(decodedX.Signed, decodedX.UnbiasedExponent, decodedX.
Significand
);
1456
if (TValue.IsZero(decoded.
Significand
))
1490
if (TValue.IsZero(decoded.
Significand
))
1524
if (TValue.IsZero(decoded.
Significand
))
1573
if (TValue.IsZero(decoded.
Significand
))
1621
if (TValue.IsZero(decoded.
Significand
))
1633
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
1656
if (TValue.IsZero(decoded.
Significand
))
1670
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
1701
if (TValue.IsZero(decoded.
Significand
))
1719
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
1760
bool yZero = !yInfinity && TValue.IsZero(decodedY.
Significand
);
1761
bool xZero = !xInfinity && TValue.IsZero(decodedX.
Significand
);
1793
DiyFp128 argumentY = DecimalToDiyFp128<TDecimal, TValue>(decodedY.Signed, decodedY.UnbiasedExponent, decodedY.
Significand
);
1794
DiyFp128 argumentX = DecimalToDiyFp128<TDecimal, TValue>(decodedX.Signed, decodedX.UnbiasedExponent, decodedX.
Significand
);
1817
if (TValue.IsZero(decoded.
Significand
))
1829
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
1851
if (TValue.IsZero(decoded.
Significand
))
1863
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
1885
if (TValue.IsZero(decoded.
Significand
))
1897
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
1919
if (TValue.IsZero(decoded.
Significand
))
1931
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
1962
if (decoded.Signed || TValue.IsZero(decoded.
Significand
))
1967
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
1997
if (TValue.IsZero(decoded.
Significand
))
2011
DiyFp128 argument = DecimalToDiyFp128<TDecimal, TValue>(decoded.Signed, decoded.UnbiasedExponent, decoded.
Significand
);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Number.Formatting.cs (2)
537
if (TValue.IsZero(unpackDecimal.
Significand
))
548
string significand = TDecimal.ToDecStr(unpackDecimal.
Significand
);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\Decimal128.cs (2)
898
if (BinaryPrimitives.TryWriteUInt128BigEndian(destination, Number.UnpackDecimalIeee754<Decimal128, UInt128>(new UInt128(_upper, _lower)).
Significand
))
911
if (BinaryPrimitives.TryWriteUInt128LittleEndian(destination, Number.UnpackDecimalIeee754<Decimal128, UInt128>(new UInt128(_upper, _lower)).
Significand
))
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\Decimal32.cs (2)
909
if (BinaryPrimitives.TryWriteUInt32BigEndian(destination, Number.UnpackDecimalIeee754<Decimal32, uint>(_value).
Significand
))
922
if (BinaryPrimitives.TryWriteUInt32LittleEndian(destination, Number.UnpackDecimalIeee754<Decimal32, uint>(_value).
Significand
))
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\Decimal64.cs (2)
902
if (BinaryPrimitives.TryWriteUInt64BigEndian(destination, Number.UnpackDecimalIeee754<Decimal64, ulong>(_value).
Significand
))
915
if (BinaryPrimitives.TryWriteUInt64LittleEndian(destination, Number.UnpackDecimalIeee754<Decimal64, ulong>(_value).
Significand
))
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\TotalOrderIeee754Comparer.cs (1)
380
if ((x.
Significand
== TValue.Zero) && (x.Signed != y.Signed))