1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-16 15:24:10 +02:00

^ From End index is relative to length instead of length-1

This commit is contained in:
Brian Fiete 2021-10-26 06:15:36 -07:00
parent fa3198f82a
commit 299bea0eaa
6 changed files with 30 additions and 27 deletions

View file

@ -1046,7 +1046,7 @@ namespace System
switch (index)
{
case .FromFront(let offset): idx = offset;
case .FromEnd(let offset): idx = mLength - 1 - offset;
case .FromEnd(let offset): idx = mLength - offset;
}
Debug.Assert((uint)idx < (uint)mLength);
return ref Ptr[idx];
@ -1059,7 +1059,7 @@ namespace System
switch (index)
{
case .FromFront(let offset): idx = offset;
case .FromEnd(let offset): idx = mLength - 1 - offset;
case .FromEnd(let offset): idx = mLength - offset;
}
return ref Ptr[idx];
}
@ -1071,7 +1071,7 @@ namespace System
switch (index)
{
case .FromFront(let offset): idx = offset;
case .FromEnd(let offset): idx = mLength - 1 - offset;
case .FromEnd(let offset): idx = mLength - offset;
}
Debug.Assert((uint)idx < (uint)mLength);
Ptr[idx] = value;
@ -1084,7 +1084,7 @@ namespace System
switch (index)
{
case .FromFront(let offset): idx = offset;
case .FromEnd(let offset): idx = mLength - 1 - offset;
case .FromEnd(let offset): idx = mLength - offset;
}
Ptr[idx] = value;
}
@ -2994,7 +2994,7 @@ namespace System
switch (index)
{
case .FromFront(let offset): idx = offset;
case .FromEnd(let offset): idx = mLength - 1 - offset;
case .FromEnd(let offset): idx = mLength - offset;
}
Runtime.Assert((uint)idx < (uint)mLength);
return ref mPtr[idx];
@ -3007,7 +3007,7 @@ namespace System
switch (index)
{
case .FromFront(let offset): idx = offset;
case .FromEnd(let offset): idx = mLength - 1 - offset;
case .FromEnd(let offset): idx = mLength - offset;
}
return ref mPtr[idx];
}
@ -3028,7 +3028,7 @@ namespace System
start = mPtr + offset;
case .FromEnd(let offset):
Debug.Assert((uint)offset <= (uint)mLength);
start = mPtr + mLength - 1 - offset;
start = mPtr + mLength - offset;
}
char8* end;
if (range.[Friend]mIsClosed)
@ -3039,8 +3039,8 @@ namespace System
Debug.Assert((uint)offset < (uint)mLength);
end = mPtr + offset + 1;
case .FromEnd(let offset):
Debug.Assert((uint)offset < (uint)mLength);
end = mPtr + mLength - offset;
Debug.Assert((uint)(offset - 1) <= (uint)mLength);
end = mPtr + mLength - offset + 1;
}
}
else
@ -3052,7 +3052,7 @@ namespace System
end = mPtr + offset;
case .FromEnd(let offset):
Debug.Assert((uint)offset <= (uint)mLength);
end = mPtr + mLength - 1 - offset;
end = mPtr + mLength - offset;
}
}