anchor.diff:    System.Assert(a_n >= 0);
   {$ENDIF DEBUG}
   {$IFDEF FPC}
  -  result := RorQWord(a_value, a_n);
  +  Result := RorQWord(a_value, a_n);
   {$ELSE}
     a_n := a_n and 63;
   
  -  result := (a_value shr a_n) or (a_value shl (64 - a_n));
  +  Result := (a_value shr a_n) or (a_value shl (64 - a_n));
   {$ENDIF FPC}
   end;
   
  
positive.code:   System.Assert(a_n >= 0);
  {$ENDIF DEBUG}
  {$IFDEF FPC}
    result := RolQWord(a_value, a_n);
  {$ELSE}
    a_n := a_n and 63;
  
    result := (a_value shl a_n) or (a_value shr (64 - a_n));
  {$ENDIF FPC}
  end;
  
  
negative.code: 
    public
  
      class function ReverseBytesInt32(Value: Int32): Int32; static; inline;
      class function ReverseBitsUInt8(Value: UInt8): UInt8; static; inline;
      class function ReverseBytesUInt16(Value: UInt16): UInt16; static; inline;
      class function ReverseBytesUInt32(Value: UInt32): UInt32; static; inline;
      class function ReverseBytesUInt64(Value: UInt64): UInt64; static; inline;
  
      /// <summary>
      /// Reverse a ByteArray.
  