Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HAST-164: SDK static code analysis integration #3

Merged
merged 49 commits into from
Dec 29, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
878d0d7
Fix documentation and spacing issues in Lombiq.Arithmetics.
sarahelsaig Jun 24, 2021
7722912
Fix all missing parenthesis.
sarahelsaig Jun 25, 2021
71809b1
Remove trailing whitespace across the solution.
sarahelsaig Dec 14, 2021
0e3ed71
Fix S103 across the solution.
sarahelsaig Dec 14, 2021
f5685a6
Fix SA1507 (spacing).
sarahelsaig Dec 15, 2021
a13041f
Fix SA1139 (Use literal suffix notation instead of casting).
sarahelsaig Dec 15, 2021
bb7c8fb
Remove unnecessary usings.
sarahelsaig Dec 16, 2021
e86fbe1
Fix SA1116 (The parameters should begin on the line after the declara…
sarahelsaig Dec 16, 2021
87cf9f4
Fix SA1117(The parameters should all be placed on the same line or ea…
sarahelsaig Dec 16, 2021
1c0fcbb
Fix SA1413(Use trailing comma in multi-line initializers)
sarahelsaig Dec 16, 2021
b3bc247
Fix QuireTests.
sarahelsaig Dec 16, 2021
274d282
Fix S2148 (Add underscores to this numeric value for readability).
sarahelsaig Dec 16, 2021
fd9108d
Fix IDE0047 (Parentheses can be removed).
sarahelsaig Dec 16, 2021
13d3a0a
Fix S1481 (Remove the unused local variables).
sarahelsaig Dec 16, 2021
85c0fd6
Fix IDE0090 ('new' expression can be simplified).
sarahelsaig Dec 17, 2021
ad9a01e
Replace single line methods.
sarahelsaig Dec 17, 2021
493e35f
Fix CA1822 (Member does not access instance data and can be marked as…
sarahelsaig Dec 17, 2021
b120676
Add readonly.
sarahelsaig Dec 17, 2021
2057588
Fix IDE0004 (Cast is redundant).
sarahelsaig Dec 17, 2021
27505f4
Fix S3257 (Remove the array type; it is redundant).
sarahelsaig Dec 17, 2021
5b14bf9
Fix S125 (Remove this commented out code).
sarahelsaig Dec 17, 2021
f569d4b
Fix SA1520 (Use braces consistently).
sarahelsaig Dec 17, 2021
64313ad
Fix SA1513 (Closing brace should be followed by blank line).
sarahelsaig Dec 17, 2021
9a20fcc
Fix SA1128 and CA1305.
sarahelsaig Dec 17, 2021
6a321e9
Fix SA1505 (An opening brace should not be followed by a blank line).
sarahelsaig Dec 17, 2021
1da205c
Fix SA1108 and SA1117.
sarahelsaig Dec 17, 2021
2461b95
Fix IDE0021 (Use expression body for constructors).
sarahelsaig Dec 18, 2021
fff4b8f
Fix S113 (Add a new line at the end of the file).
sarahelsaig Dec 18, 2021
f339657
Fix Posit32Tests.
sarahelsaig Dec 18, 2021
22dd16c
More ternary usage.
sarahelsaig Dec 18, 2021
34a7de2
Fix Posit.
sarahelsaig Dec 18, 2021
8e81a82
Refactor BitMask.
sarahelsaig Dec 18, 2021
6beedb1
Posit32 refactor.
sarahelsaig Dec 18, 2021
4dc92fe
Fix UnumHelper.
sarahelsaig Dec 18, 2021
800f228
Fix UnumConfiguration.
sarahelsaig Dec 18, 2021
1666ccd
Fix UnumEnvironment.
sarahelsaig Dec 18, 2021
b17dd7d
Refactor Quire and Unum.
sarahelsaig Dec 18, 2021
e067574
Go back to Quire.Segments property because Hastlayer can't deal with …
sarahelsaig Dec 18, 2021
5a23edf
Fix transformation issue in Quire equation op.
sarahelsaig Dec 18, 2021
28a93ae
Fix CA1825 (Use Array.Empty<uint>() instead).
sarahelsaig Dec 18, 2021
b9d00dc
Fix Lombiq.Arithmetics.Tests.
sarahelsaig Dec 18, 2021
487ae08
Update note on CA1819.
sarahelsaig Dec 20, 2021
00b207f
Revert CompatibilityAssert.
sarahelsaig Dec 20, 2021
88a4443
Make test project files more uniform.
sarahelsaig Dec 21, 2021
6c788de
Remove unnecessary "Service" entries from csproj.
sarahelsaig Dec 21, 2021
ff50594
Update Shouldly to the same version
sarahelsaig Dec 21, 2021
4bbd391
Update Posit/Posit.cs
sarahelsaig Dec 22, 2021
0ea1c54
Update Posit/Quire.cs
sarahelsaig Dec 22, 2021
b316660
Remove unintelligible comment
sarahelsaig Dec 22, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix IDE0047 (Parentheses can be removed).
  • Loading branch information
sarahelsaig committed Dec 16, 2021
commit fd9108d6356eb069859a7d24929e7a3ee385e3c7
2 changes: 1 addition & 1 deletion BitMask/BitMask.cs
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ public BitMask SetSegment(int index, uint segment)

for (ushort j = 0; j < segments.Length; j++)
{
carryNew = ((segments[j] & segmentMaskWithLeadingOne) == segmentMaskWithLeadingOne);
carryNew = (segments[j] & segmentMaskWithLeadingOne) == segmentMaskWithLeadingOne;
segments[j] <<= 1;
if (carryOld) segments[j] |= segmentMaskWithClosingOne;
carryOld = carryNew;
Expand Down
20 changes: 10 additions & 10 deletions Lombiq.Arithmetics.Tests/PositTests/Posit32Tests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -346,15 +346,15 @@ public void Posit32ToQuireIsCorrect()
var positNegative1 = new Posit32(-1);
Assert.AreEqual(
((Quire)positNegative1).Segments,
(new Quire(
new ulong[] { 0, 0, 0, 0x_FFFF_0000_0000_0000, ulong.MaxValue, ulong.MaxValue, ulong.MaxValue, ulong.MaxValue }, 512))
new Quire(
new ulong[] { 0, 0, 0, 0x_FFFF_0000_0000_0000, ulong.MaxValue, ulong.MaxValue, ulong.MaxValue, ulong.MaxValue }, 512)
.Segments);

var positNegative3 = new Posit32(-3);
Assert.AreEqual(
((Quire)positNegative3).Segments,
(new Quire(
new ulong[] { 0, 0, 0, 0x_FFFD_0000_0000_0000, ulong.MaxValue, ulong.MaxValue, ulong.MaxValue, ulong.MaxValue }, 512))
new Quire(
new ulong[] { 0, 0, 0, 0x_FFFD_0000_0000_0000, ulong.MaxValue, ulong.MaxValue, ulong.MaxValue, ulong.MaxValue }, 512)
.Segments);

var positMax = new Posit32(0x_7FFF_FFFF, true);
Expand Down Expand Up @@ -387,9 +387,9 @@ public void Posit32MultiplyIntoQuireIsCorrect()
var posit2 = new Posit32(4);
var posit3 = new Posit32(-1);

Assert.AreEqual((new Posit32(Posit32.MultiplyIntoQuire(posit1, posit2))).PositBits, new Posit32(12).PositBits);
Assert.AreEqual(new Posit32(Posit32.MultiplyIntoQuire(posit1, posit2)).PositBits, new Posit32(12).PositBits);

Assert.AreEqual((new Posit32(Posit32.MultiplyIntoQuire(posit1, posit3))).PositBits, new Posit32(-3).PositBits);
Assert.AreEqual(new Posit32(Posit32.MultiplyIntoQuire(posit1, posit3)).PositBits, new Posit32(-3).PositBits);
}

[Fact]
Expand Down Expand Up @@ -420,8 +420,8 @@ public void Posit32FusedMultiplyAddIsCorrect()
var posit2 = new Posit32(0.5F);
var posit3 = new Posit32(-1);

Assert.AreEqual((Posit32.FusedMultiplyAdd(posit1, posit2, posit3)).PositBits, new Posit32(149).PositBits);
Assert.AreEqual((Posit32.FusedMultiplyAdd(posit1, posit3, posit2)).PositBits, new Posit32(-299.5F).PositBits);
Assert.AreEqual(Posit32.FusedMultiplyAdd(posit1, posit2, posit3).PositBits, new Posit32(149).PositBits);
Assert.AreEqual(Posit32.FusedMultiplyAdd(posit1, posit3, posit2).PositBits, new Posit32(-299.5F).PositBits);
}

[Fact]
Expand All @@ -431,8 +431,8 @@ public void Posit32FusedAddMultiplyIsCorrect()
var posit2 = new Posit32(0.5F);
var posit3 = new Posit32(-2);

Assert.AreEqual((Posit32.FusedAddMultiply(posit1, posit2, posit3)).PositBits, new Posit32(-2.5F).PositBits);
Assert.AreEqual((Posit32.FusedAddMultiply(posit2, posit3, posit1)).PositBits, new Posit32(-1.125F).PositBits);
Assert.AreEqual(Posit32.FusedAddMultiply(posit1, posit2, posit3).PositBits, new Posit32(-2.5F).PositBits);
Assert.AreEqual(Posit32.FusedAddMultiply(posit2, posit3, posit1).PositBits, new Posit32(-1.125F).PositBits);
}

[Fact]
Expand Down
2 changes: 1 addition & 1 deletion Lombiq.Arithmetics.Tests/UnumTests/UnumTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -483,7 +483,7 @@ public void AddExactUnumsIsCorrect()
var unum0Plus1 = unum0 + unum1;
var unum31 = new Unum(_environment_3_4, 30) + unum1;
var unum0PlusUnum1 = Unum.AddExactUnums(unum0, unum1);
Assert.AreEqual(unum31.UnumBits, (new Unum(_environment_3_4, 31).UnumBits));
Assert.AreEqual(unum31.UnumBits, new Unum(_environment_3_4, 31).UnumBits);
Assert.AreEqual(unum1.UnumBits, unum0Plus1.UnumBits);
Assert.AreEqual(unum1.UnumBits, unum0PlusUnum1.UnumBits);

Expand Down
14 changes: 7 additions & 7 deletions Posit/Posit.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public BitMask EncodeRegimeBits(int regimeKValue)
regimeBits = (new BitMask(1, _environment.Size) << (regimeKValue + 1)) - 1;
regimeBits <<= _environment.Size - regimeBits.GetMostSignificantOnePosition() - 1;
}
else regimeBits = (_environment.FirstRegimeBitBitMask << regimeKValue);
else regimeBits = _environment.FirstRegimeBitBitMask << regimeKValue;

return regimeBits;
}
Expand All @@ -113,7 +113,7 @@ private BitMask AssemblePositBits(bool signBit, int regimeKValue, BitMask expone
// Hiding the hidden bit. (It is always one.)
fractionBits = fractionBits.SetZero((ushort)fractionMostSignificantOneIndex);

wholePosit += fractionBits << (_environment.Size - 2 - fractionMostSignificantOneIndex - (regimeLength) -
wholePosit += fractionBits << (_environment.Size - 2 - fractionMostSignificantOneIndex - regimeLength -
_environment.MaximumExponentSize);

return !signBit ? wholePosit : wholePosit.GetTwosComplement(_environment.Size);
Expand All @@ -138,7 +138,7 @@ private BitMask AssemblePositBitsWithRounding(bool signBit, int regimeKValue, Bi
{
if (exponentBits == new BitMask(exponentBits.Size).SetOne((ushort)(exponentBits.Size - 1)))
{
wholePosit += (wholePosit.GetLowest32Bits() & 1);
wholePosit += wholePosit.GetLowest32Bits() & 1;
}
else wholePosit += 1;
}
Expand All @@ -151,7 +151,7 @@ private BitMask AssemblePositBitsWithRounding(bool signBit, int regimeKValue, Bi
// Hiding the hidden bit. (It is always one.)
fractionBits = fractionBits.SetZero((ushort)fractionMostSignificantOneIndex);

var fractionShiftedLeftBy = _environment.Size - 2 - fractionMostSignificantOneIndex - (regimeLength) -
var fractionShiftedLeftBy = _environment.Size - 2 - fractionMostSignificantOneIndex - regimeLength -
_environment.MaximumExponentSize;
// Attaching the fraction.
wholePosit += fractionBits << fractionShiftedLeftBy;
Expand All @@ -163,7 +163,7 @@ private BitMask AssemblePositBitsWithRounding(bool signBit, int regimeKValue, Bi
{
if (fractionBits == new BitMask(fractionBits.Size).SetOne((ushort)(fractionBits.Size - 1)))
{
wholePosit += (wholePosit.GetLowest32Bits() & 1);
wholePosit += wholePosit.GetLowest32Bits() & 1;
}
else wholePosit += 1;
}
Expand Down Expand Up @@ -349,7 +349,7 @@ public static int CalculateScaleFactor(int regimeKValue, uint exponentValue, byt
if (resultFractionBits.GetMostSignificantOnePosition() == 0) return new Posit(left._environment, left.EmptyBitMask);

var resultRegimeKValue = scaleFactor / (1 << left.MaximumExponentSize);
var resultExponentBits = new BitMask((uint)((scaleFactor % (1 << left.MaximumExponentSize))), left._environment.Size);
var resultExponentBits = new BitMask((uint)(scaleFactor % (1 << left.MaximumExponentSize)), left._environment.Size);

return new Posit(
left._environment,
Expand Down Expand Up @@ -397,7 +397,7 @@ public static explicit operator int(Posit x)
}
else
{
return (x.IsPositive()) ? int.MaxValue : int.MinValue;
return x.IsPositive() ? int.MaxValue : int.MinValue;
}

return x.IsPositive() ? (int)result : (int)-result;
Expand Down
50 changes: 25 additions & 25 deletions Posit/Posit32.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Runtime.CompilerServices;

namespace Lombiq.Arithmetics
Expand Down Expand Up @@ -166,7 +166,7 @@ public Posit32(float floatBits)

if (regimeKValue > (Size - 2))
{
regimeKValue = (Size - 2);
regimeKValue = Size - 2;
exponentValue = 0;
}

Expand Down Expand Up @@ -220,7 +220,7 @@ public Posit32(double doubleBits)

if (regimeKValue > (Size - 2))
{
regimeKValue = (Size - 2);
regimeKValue = Size - 2;
exponentValue = 0;
}

Expand Down Expand Up @@ -253,7 +253,7 @@ public static uint EncodeRegimeBits(int regimeKValue)
regimeBits = (uint)(1 << (regimeKValue + 1)) - 1;
regimeBits <<= Size - GetMostSignificantOnePosition(regimeBits) - 1;
}
else regimeBits = (FirstRegimeBitBitMask >> -regimeKValue);
else regimeBits = FirstRegimeBitBitMask >> -regimeKValue;

return regimeBits;
}
Expand Down Expand Up @@ -297,7 +297,7 @@ public static uint AssemblePositBitsWithRounding(bool signBit, int regimeKValue,

if (exponentBits < SignBitMask) return signBit ? GetTwosComplement(wholePosit) : wholePosit;

if (exponentBits == SignBitMask) wholePosit += (wholePosit & 1);
if (exponentBits == SignBitMask) wholePosit += wholePosit & 1;
else wholePosit += 1;

return signBit ? GetTwosComplement(wholePosit) : wholePosit;
Expand All @@ -308,7 +308,7 @@ public static uint AssemblePositBitsWithRounding(bool signBit, int regimeKValue,
// Hiding the hidden bit. (It is always one.)
fractionBits = SetZero(fractionBits, (ushort)fractionMostSignificantOneIndex);

var fractionShiftedLeftBy = SizeMinusFixedBits - (fractionMostSignificantOneIndex) - (regimeLength);
var fractionShiftedLeftBy = SizeMinusFixedBits - fractionMostSignificantOneIndex - regimeLength;
// Attaching the fraction.
wholePosit += fractionShiftedLeftBy >= 0 ? fractionBits << fractionShiftedLeftBy : fractionBits >> -fractionShiftedLeftBy;
// Calculating rounding.
Expand All @@ -321,7 +321,7 @@ public static uint AssemblePositBitsWithRounding(bool signBit, int regimeKValue,
{
if (fractionBits == SignBitMask)
{
wholePosit += (wholePosit & 1);
wholePosit += wholePosit & 1;
}
else wholePosit += 1;
}
Expand Down Expand Up @@ -497,8 +497,8 @@ public static Quire MultiplyIntoQuire(Posit32 left, Posit32 right)
var leftFractionSize = left.FractionSizeWithoutSignCheck();
var rightFractionSize = right.FractionSizeWithoutSignCheck();

var longResultFractionBits = (left.FractionWithHiddenBitWithoutSignCheck() *
(ulong)right.FractionWithHiddenBitWithoutSignCheck());
var longResultFractionBits = left.FractionWithHiddenBitWithoutSignCheck() *
(ulong)right.FractionWithHiddenBitWithoutSignCheck();
var fractionSizeChange = GetMostSignificantOnePosition(longResultFractionBits) - (leftFractionSize + rightFractionSize + 1);
var scaleFactor =
CalculateScaleFactor(left.GetRegimeKValue(), left.GetExponentValue(), MaximumExponentSize) +
Expand All @@ -509,7 +509,7 @@ public static Quire MultiplyIntoQuire(Posit32 left, Posit32 right)
var quireArray = new ulong[QuireSize / 64];
quireArray[0] = longResultFractionBits;
var resultQuire = new Quire(quireArray);
resultQuire <<= (240 - GetMostSignificantOnePosition(longResultFractionBits) + 1 + scaleFactor);
resultQuire <<= 240 - GetMostSignificantOnePosition(longResultFractionBits) + 1 + scaleFactor;

return !resultSignBit ? resultQuire : (~resultQuire) + 1;
}
Expand Down Expand Up @@ -618,7 +618,7 @@ public static Posit32 Sqrt(Posit32 number)
}

var resultRegimeKValue = inputScaleFactor / (1 << MaximumExponentSize);
var resultExponentBits = (inputScaleFactor % (1 << MaximumExponentSize));
var resultExponentBits = inputScaleFactor % (1 << MaximumExponentSize);
if (resultExponentBits < 0)
{
resultRegimeKValue -= 1;
Expand Down Expand Up @@ -833,7 +833,7 @@ public static Posit32 FusedMultiplyMultiplySubtract(Posit32 a, Posit32 b, Posit3
if (resultFractionBits == 0) return new Posit32(0, true);

var resultRegimeKValue = scaleFactor / (1 << MaximumExponentSize);
var resultExponentBits = (scaleFactor % (1 << MaximumExponentSize));
var resultExponentBits = scaleFactor % (1 << MaximumExponentSize);
if (resultExponentBits < 0)
{
resultRegimeKValue -= 1;
Expand Down Expand Up @@ -881,8 +881,8 @@ public static Posit32 FusedMultiplyMultiplySubtract(Posit32 a, Posit32 b, Posit3
var leftFractionSize = left.FractionSizeWithoutSignCheck();
var rightFractionSize = right.FractionSizeWithoutSignCheck();

var longResultFractionBits = (left.FractionWithHiddenBitWithoutSignCheck() *
(ulong)right.FractionWithHiddenBitWithoutSignCheck());
var longResultFractionBits = left.FractionWithHiddenBitWithoutSignCheck() *
(ulong)right.FractionWithHiddenBitWithoutSignCheck();
var fractionSizeChange = GetMostSignificantOnePosition(longResultFractionBits) - (leftFractionSize + rightFractionSize + 1);
var resultFractionBits = (uint)(longResultFractionBits >> (int)(leftFractionSize + 1 + rightFractionSize + 1 - 32));
var scaleFactor =
Expand All @@ -892,7 +892,7 @@ public static Posit32 FusedMultiplyMultiplySubtract(Posit32 a, Posit32 b, Posit3
scaleFactor += (int)fractionSizeChange;

var resultRegimeKValue = scaleFactor / (1 << MaximumExponentSize);
var resultExponentBits = (scaleFactor % (1 << MaximumExponentSize));
var resultExponentBits = scaleFactor % (1 << MaximumExponentSize);
if (resultExponentBits < 0)
{
resultRegimeKValue -= 1;
Expand All @@ -917,17 +917,17 @@ public static Posit32 FusedMultiplyMultiplySubtract(Posit32 a, Posit32 b, Posit3
var leftFractionSize = left.FractionSizeWithoutSignCheck();
var rightFractionSize = right.FractionSizeWithoutSignCheck();

var longResultFractionBits = (((ulong)(left.FractionWithHiddenBitWithoutSignCheck()) << (int)(63 - leftFractionSize)) /
(right.FractionWithHiddenBitWithoutSignCheck() << (int)(31 - rightFractionSize)));
var fractionSizeChange = GetMostSignificantOnePosition(longResultFractionBits) - (33);
var longResultFractionBits = ((ulong)left.FractionWithHiddenBitWithoutSignCheck() << (int)(63 - leftFractionSize)) /
(right.FractionWithHiddenBitWithoutSignCheck() << (int)(31 - rightFractionSize));
var fractionSizeChange = GetMostSignificantOnePosition(longResultFractionBits) - 33;

var scaleFactor =
CalculateScaleFactor(left.GetRegimeKValue(), left.GetExponentValue(), MaximumExponentSize) -
CalculateScaleFactor(right.GetRegimeKValue(), right.GetExponentValue(), MaximumExponentSize);
scaleFactor += fractionSizeChange;

var resultRegimeKValue = scaleFactor / (1 << MaximumExponentSize);
var resultExponentBits = (scaleFactor % (1 << MaximumExponentSize));
var resultExponentBits = scaleFactor % (1 << MaximumExponentSize);
if (resultExponentBits < 0)
{
resultRegimeKValue -= 1;
Expand Down Expand Up @@ -957,11 +957,11 @@ public static explicit operator int(Posit32 x)
}
else
{
result = (x.FractionWithHiddenBit() >>
-(int)(scaleFactor - mostSignificantOnePosition + 1));
result = x.FractionWithHiddenBit() >>
-(int)(scaleFactor - mostSignificantOnePosition + 1);
}
}
else return (x.IsPositive()) ? int.MaxValue : int.MinValue;
else return x.IsPositive() ? int.MaxValue : int.MinValue;

return x.IsPositive() ? (int)result : (int)-result;
}
Expand All @@ -983,7 +983,7 @@ public static explicit operator float(Posit32 x)
if (scaleFactor == -127)
{
fraction >>= 1;
fraction += (Float32HiddenBitMask >> 1);
fraction += Float32HiddenBitMask >> 1;
}

floatBits += (uint)((scaleFactor + 127) << 23);
Expand Down Expand Up @@ -1064,7 +1064,7 @@ public int CompareTo(Object value)
if (this == positValue) return 0;

// At least one of the values is NaN.
if (IsNaN()) return (positValue.IsNaN() ? 0 : -1);
if (IsNaN()) return positValue.IsNaN() ? 0 : -1;
else return 1;
}

Expand All @@ -1078,7 +1078,7 @@ public int CompareTo(Posit32 value)
if (this == value) return 0;

// At least one of the values is NaN.
if (IsNaN()) return (value.IsNaN() ? 0 : -1);
if (IsNaN()) return value.IsNaN() ? 0 : -1;
else return 1;
}

Expand Down
8 changes: 4 additions & 4 deletions Posit/Quire.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;

namespace Lombiq.Arithmetics
{
Expand Down Expand Up @@ -60,7 +60,7 @@ public Quire(uint firstSegment, ushort size)

buffer = (byte)((leftBit ? 1 : 0) + (rightBit ? 1 : 0) + (carry ? 1 : 0));

if ((buffer & 1) == 1) result[segmentPosition] += (1UL << position);
if ((buffer & 1) == 1) result[segmentPosition] += 1UL << position;
carry = buffer >> 1 == 1;

position++;
Expand Down Expand Up @@ -91,7 +91,7 @@ public Quire(uint firstSegment, ushort size)

buffer = (byte)(2 + (leftBit ? 1 : 0) - (rightBit ? 1 : 0) - (carry ? 1 : 0));

if ((buffer & 1) == 1) result[segmentPosition] += (1UL << position);
if ((buffer & 1) == 1) result[segmentPosition] += 1UL << position;
carry = buffer >> 1 == 0;

position++;
Expand Down Expand Up @@ -171,7 +171,7 @@ public Quire(uint firstSegment, ushort size)

for (ushort j = 0; j < segments.Length; j++)
{
carryNew = ((segments[j] & segmentMaskWithLeadingOne) == segmentMaskWithLeadingOne);
carryNew = (segments[j] & segmentMaskWithLeadingOne) == segmentMaskWithLeadingOne;
segments[j] <<= 1;
if (carryOld) segments[j] |= segmentMaskWithClosingOne;
carryOld = carryNew;
Expand Down
Loading