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