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 := RolDWord(a_value, a_n);
  {$ELSE}
    a_n := a_n and 31;
  
    result := (a_value shl a_n) or (a_value shr (32 - a_n));
  {$ENDIF FPC}
  end;
  
  
negative.code:     /// <param name="Size">Size of the Array to Reverse.</param>
  
      class procedure ReverseByteArray(Source, Dest: Pointer;
        Size: int64); static;
  
      /// <summary>
      /// Calculates Arithmetic shift right.
  