anchor.diff:  {               So $123400000000000000000 div $4560000000000000000 is        }
   {               performed as $1234 div $456. The mod result is of course     }
   {               corrected.                                                   }
  +{                                                                            }
  +{   2017-01-15: Reworked SetBit, ClearBit and FlipBit.                       }
  +{                                                                            }
  +{   2017-07-14: Changed all manual aligns to use .ALIGN 16                   }
   {----------------------------------------------------------------------------}
   
   unit Velthuis.BigIntegers;
  
positive.code:   MinusOther.FSize := MinusOther.FSize xor SignMask;
    Result := Add(MinusOther);
  end;
  
  class function BigInteger.Subtract(const Left, Right: BigInteger): BigInteger;
  const
  
negative.code:   end;
  end;
  
  {$IFNDEF BIGINTEGERIMMUTABLE}
  function BigInteger.Remainder(const Other: BigInteger): PBigInteger;
  begin
    Result := @Self;
    Self := Self mod Other;
  end;
  {$ENDIF}
  
  class operator BigInteger.RightShift(const Value: BigInteger; Shift: Integer): BigInteger;
  // Note: this emulates two's complement, more or less like the bitwise operators.
  