anchor.diff:  implementation
   
   { TConverters }
  -
  -{$IFDEF DEBUG}
  -
  -class procedure TConverters.Check(const AInput: THashLibByteArray;
  -  AInputSize, AOutputSize: Int32);
  -begin
  -  System.Assert(((System.length(AInput) * AInputSize) mod AOutputSize) = 0);
  -end;
  -
  -{$ENDIF DEBUG}
   
   class procedure TConverters.swap_copy_str_to_u32(ASource: Pointer;
     ASourceIndex: Int32; ADestination: Pointer; ADestinationIndex: Int32;
  
positive.code: {$ENDIF FPC}
  end;
  
  class function TConverters.SplitString(const AInput: String; ADelimiter: Char)
    : THashLibStringArray;
  var
    LPosStart, LPosSkip, LSplitPoints, LIdx, LLowIndex, LHighIndex,
      LLength: Int32;
  begin
    result := Nil;
    if AInput <> '' then
    begin
      { Determine the length of the resulting array }
      LSplitPoints := 0;
  {$IFDEF DELPHIXE3_UP}
      LLowIndex := System.Low(AInput);
      LHighIndex := System.High(AInput);
  {$ELSE}
      LLowIndex := 1;
      LHighIndex := System.length(AInput);
  {$ENDIF DELPHIXE3_UP}
      for LIdx := LLowIndex to LHighIndex do
      begin
        if (ADelimiter = AInput[LIdx]) then
        begin
          System.Inc(LSplitPoints);
        end;
      end;
  
      System.SetLength(result, LSplitPoints + 1);
  
      { Split the string and fill the resulting array }
  
      LIdx := 0;
      LLength := System.length(ADelimiter);
  {$IFDEF DELPHIXE3_UP}
      LPosStart := System.Low(AInput);
      LHighIndex := System.High(AInput);
  {$ELSE}
      LPosStart := 1;
      LHighIndex := System.length(AInput);
  {$ENDIF DELPHIXE3_UP}
      LPosSkip := System.Pos(ADelimiter, AInput);
      while LPosSkip > 0 do
      begin
        result[LIdx] := System.Copy(AInput, LPosStart, LPosSkip - LPosStart);
        LPosStart := LPosSkip + LLength;
        LPosSkip := PosEx(ADelimiter, AInput, LPosStart);
        System.Inc(LIdx);
      end;
      result[LIdx] := System.Copy(AInput, LPosStart, LHighIndex);
    end;
  end;
  
  end.
  
negative.code:   TConverters = class sealed(TObject)
  
    strict private
  
      class procedure swap_copy_str_to_u32(ASource: Pointer; ASourceIndex: Int32;
        ADestination: Pointer; ADestinationIndex: Int32; ASize: Int32); static;
  
  