anchor.diff:      class procedure InternalAddPurePascal(Left, Right, Result: PLimb; LSize, RSize: Integer); static;
       class procedure InternalSubtractPurePascal(Larger, Smaller, Result: PLimb; LSize, SSize: Integer); static;
     {$ENDIF}
  -    class function InternalCompare(Left, Right: PLimb; LSize, RSize: Integer): TValueSign; static;
  +    class function InternalCompare(Left, Right: PLimb; LSize, RSize: Integer): Integer; static;
       class procedure InternalAnd(Left, Right, Result: PLimb; LSize, RSize: Integer); static;
       class procedure InternalOr(Left, Right, Result: PLimb; LSize, RSize: Integer); static;
       class procedure InternalXor(Left, Right, Result: PLimb; LSize, RSize: Integer); static;
  
positive.code:   end;
  end;
  
  class function BigInteger.Compare(const Left, Right: BigInteger): TValueSign;
  type
    PInteger = ^Integer;
  begin
  
negative.code:   Res: BigInteger;
    LSize, RSize: Integer;
    SignBit: Integer;
    Comparison: Integer;
  begin
    if Pointer(Left.FData) = nil then
    begin
  