aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Memory/Range
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Memory/Range')
-rw-r--r--src/Ryujinx.Memory/Range/HostMemoryRange.cs14
-rw-r--r--src/Ryujinx.Memory/Range/IRange.cs2
-rw-r--r--src/Ryujinx.Memory/Range/MemoryRange.cs2
-rw-r--r--src/Ryujinx.Memory/Range/MultiRange.cs12
-rw-r--r--src/Ryujinx.Memory/Range/RangeList.cs8
5 files changed, 29 insertions, 9 deletions
diff --git a/src/Ryujinx.Memory/Range/HostMemoryRange.cs b/src/Ryujinx.Memory/Range/HostMemoryRange.cs
index 79c649d8..a4abebb5 100644
--- a/src/Ryujinx.Memory/Range/HostMemoryRange.cs
+++ b/src/Ryujinx.Memory/Range/HostMemoryRange.cs
@@ -5,12 +5,12 @@ namespace Ryujinx.Memory.Range
/// <summary>
/// Range of memory composed of an address and size.
/// </summary>
- public struct HostMemoryRange : IEquatable<HostMemoryRange>
+ public readonly struct HostMemoryRange : IEquatable<HostMemoryRange>
{
/// <summary>
/// An empty memory range, with a null address and zero size.
/// </summary>
- public static HostMemoryRange Empty => new HostMemoryRange(0, 0);
+ public static HostMemoryRange Empty => new(0, 0);
/// <summary>
/// Start address of the range.
@@ -67,5 +67,15 @@ namespace Ryujinx.Memory.Range
{
return HashCode.Combine(Address, Size);
}
+
+ public static bool operator ==(HostMemoryRange left, HostMemoryRange right)
+ {
+ return left.Equals(right);
+ }
+
+ public static bool operator !=(HostMemoryRange left, HostMemoryRange right)
+ {
+ return !(left == right);
+ }
}
}
diff --git a/src/Ryujinx.Memory/Range/IRange.cs b/src/Ryujinx.Memory/Range/IRange.cs
index 1685396d..c85e21d1 100644
--- a/src/Ryujinx.Memory/Range/IRange.cs
+++ b/src/Ryujinx.Memory/Range/IRange.cs
@@ -28,4 +28,4 @@ namespace Ryujinx.Memory.Range
/// <returns>True if overlapping, false otherwise</returns>
bool OverlapsWith(ulong address, ulong size);
}
-} \ No newline at end of file
+}
diff --git a/src/Ryujinx.Memory/Range/MemoryRange.cs b/src/Ryujinx.Memory/Range/MemoryRange.cs
index c7ee6db2..7e7b84b5 100644
--- a/src/Ryujinx.Memory/Range/MemoryRange.cs
+++ b/src/Ryujinx.Memory/Range/MemoryRange.cs
@@ -8,7 +8,7 @@
/// <summary>
/// An empty memory range, with a null address and zero size.
/// </summary>
- public static MemoryRange Empty => new MemoryRange(0UL, 0);
+ public static MemoryRange Empty => new(0UL, 0);
/// <summary>
/// Start address of the range.
diff --git a/src/Ryujinx.Memory/Range/MultiRange.cs b/src/Ryujinx.Memory/Range/MultiRange.cs
index 42ef24be..7011e528 100644
--- a/src/Ryujinx.Memory/Range/MultiRange.cs
+++ b/src/Ryujinx.Memory/Range/MultiRange.cs
@@ -310,7 +310,7 @@ namespace Ryujinx.Memory.Range
return _singleRange.GetHashCode();
}
- HashCode hash = new HashCode();
+ HashCode hash = new();
foreach (MemoryRange range in _ranges)
{
@@ -328,5 +328,15 @@ namespace Ryujinx.Memory.Range
{
return HasSingleRange ? _singleRange.ToString() : string.Join(", ", _ranges);
}
+
+ public static bool operator ==(MultiRange left, MultiRange right)
+ {
+ return left.Equals(right);
+ }
+
+ public static bool operator !=(MultiRange left, MultiRange right)
+ {
+ return !(left == right);
+ }
}
}
diff --git a/src/Ryujinx.Memory/Range/RangeList.cs b/src/Ryujinx.Memory/Range/RangeList.cs
index 46919597..72cef1de 100644
--- a/src/Ryujinx.Memory/Range/RangeList.cs
+++ b/src/Ryujinx.Memory/Range/RangeList.cs
@@ -238,7 +238,7 @@ namespace Ryujinx.Memory.Range
if (index < 0)
{
- return default(T);
+ return default;
}
return _items[index].Value;
@@ -398,7 +398,7 @@ namespace Ryujinx.Memory.Range
/// <returns>List index of the item, or complement index of nearest item with lower value on the list</returns>
private int BinarySearch(ulong address)
{
- int left = 0;
+ int left = 0;
int right = Count - 1;
while (left <= right)
@@ -435,7 +435,7 @@ namespace Ryujinx.Memory.Range
/// <returns>List index of the item, or complement index of nearest item with lower value on the list</returns>
private int BinarySearch(ulong address, ulong endAddress)
{
- int left = 0;
+ int left = 0;
int right = Count - 1;
while (left <= right)
@@ -480,4 +480,4 @@ namespace Ryujinx.Memory.Range
}
}
}
-} \ No newline at end of file
+}