Skip to content

Commit 0a1f05b

Browse files
Merge pull request #2401 from gfoidl/codegen-optimizations
Low-hanging fruit codegen optimizations
2 parents d7cd46f + 2bbf1cb commit 0a1f05b

File tree

182 files changed

+1854
-1793
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

182 files changed

+1854
-1793
lines changed

src/ImageSharp/ColorSpaces/Companding/SRgbCompanding.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ private static unsafe void CompandAvx2(Span<Vector4> vectors, float[] table)
175175

176176
// Divide by 2 as 4 elements per Vector4 and 8 per Vector256<float>
177177
ref Vector256<float> vectorsBase = ref Unsafe.As<Vector4, Vector256<float>>(ref MemoryMarshal.GetReference(vectors));
178-
ref Vector256<float> vectorsLast = ref Unsafe.Add(ref vectorsBase, (IntPtr)((uint)vectors.Length / 2u));
178+
ref Vector256<float> vectorsLast = ref Unsafe.Add(ref vectorsBase, (uint)vectors.Length / 2u);
179179

180180
while (Unsafe.IsAddressLessThan(ref vectorsBase, ref vectorsLast))
181181
{
@@ -204,7 +204,7 @@ private static unsafe void CompandScalar(Span<Vector4> vectors, float[] table)
204204
Vector4 zero = Vector4.Zero;
205205
var scale = new Vector4(Scale);
206206
ref Vector4 vectorsBase = ref MemoryMarshal.GetReference(vectors);
207-
ref Vector4 vectorsLast = ref Unsafe.Add(ref vectorsBase, vectors.Length);
207+
ref Vector4 vectorsLast = ref Unsafe.Add(ref vectorsBase, (uint)vectors.Length);
208208

209209
while (Unsafe.IsAddressLessThan(ref vectorsBase, ref vectorsLast))
210210
{

src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLab.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void Convert(ReadOnlySpan<CieLch> source, Span<CieLab> destination)
3737
ref CieLch sourceRef = ref MemoryMarshal.GetReference(source);
3838
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
3939

40-
for (int i = 0; i < count; i++)
40+
for (nuint i = 0; i < (uint)count; i++)
4141
{
4242
ref CieLch sp = ref Unsafe.Add(ref sourceRef, i);
4343
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
@@ -70,7 +70,7 @@ public void Convert(ReadOnlySpan<CieLchuv> source, Span<CieLab> destination)
7070
ref CieLchuv sourceRef = ref MemoryMarshal.GetReference(source);
7171
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
7272

73-
for (int i = 0; i < count; i++)
73+
for (nuint i = 0; i < (uint)count; i++)
7474
{
7575
ref CieLchuv sp = ref Unsafe.Add(ref sourceRef, i);
7676
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
@@ -103,7 +103,7 @@ public void Convert(ReadOnlySpan<CieLuv> source, Span<CieLab> destination)
103103
ref CieLuv sourceRef = ref MemoryMarshal.GetReference(source);
104104
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
105105

106-
for (int i = 0; i < count; i++)
106+
for (nuint i = 0; i < (uint)count; i++)
107107
{
108108
ref CieLuv sp = ref Unsafe.Add(ref sourceRef, i);
109109
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
@@ -136,7 +136,7 @@ public void Convert(ReadOnlySpan<CieXyy> source, Span<CieLab> destination)
136136
ref CieXyy sourceRef = ref MemoryMarshal.GetReference(source);
137137
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
138138

139-
for (int i = 0; i < count; i++)
139+
for (nuint i = 0; i < (uint)count; i++)
140140
{
141141
ref CieXyy sp = ref Unsafe.Add(ref sourceRef, i);
142142
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
@@ -169,7 +169,7 @@ public void Convert(ReadOnlySpan<CieXyz> source, Span<CieLab> destination)
169169
ref CieXyz sourceRef = ref MemoryMarshal.GetReference(source);
170170
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
171171

172-
for (int i = 0; i < count; i++)
172+
for (nuint i = 0; i < (uint)count; i++)
173173
{
174174
ref CieXyz sp = ref Unsafe.Add(ref sourceRef, i);
175175
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
@@ -201,7 +201,7 @@ public void Convert(ReadOnlySpan<Cmyk> source, Span<CieLab> destination)
201201
ref Cmyk sourceRef = ref MemoryMarshal.GetReference(source);
202202
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
203203

204-
for (int i = 0; i < count; i++)
204+
for (nuint i = 0; i < (uint)count; i++)
205205
{
206206
ref Cmyk sp = ref Unsafe.Add(ref sourceRef, i);
207207
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
@@ -234,7 +234,7 @@ public void Convert(ReadOnlySpan<Hsl> source, Span<CieLab> destination)
234234
ref Hsl sourceRef = ref MemoryMarshal.GetReference(source);
235235
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
236236

237-
for (int i = 0; i < count; i++)
237+
for (nuint i = 0; i < (uint)count; i++)
238238
{
239239
ref Hsl sp = ref Unsafe.Add(ref sourceRef, i);
240240
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
@@ -266,7 +266,7 @@ public void Convert(ReadOnlySpan<Hsv> source, Span<CieLab> destination)
266266
ref Hsv sourceRef = ref MemoryMarshal.GetReference(source);
267267
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
268268

269-
for (int i = 0; i < count; i++)
269+
for (nuint i = 0; i < (uint)count; i++)
270270
{
271271
ref Hsv sp = ref Unsafe.Add(ref sourceRef, i);
272272
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
@@ -299,7 +299,7 @@ public void Convert(ReadOnlySpan<HunterLab> source, Span<CieLab> destination)
299299
ref HunterLab sourceRef = ref MemoryMarshal.GetReference(source);
300300
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
301301

302-
for (int i = 0; i < count; i++)
302+
for (nuint i = 0; i < (uint)count; i++)
303303
{
304304
ref HunterLab sp = ref Unsafe.Add(ref sourceRef, i);
305305
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
@@ -332,7 +332,7 @@ public void Convert(ReadOnlySpan<Lms> source, Span<CieLab> destination)
332332
ref Lms sourceRef = ref MemoryMarshal.GetReference(source);
333333
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
334334

335-
for (int i = 0; i < count; i++)
335+
for (nuint i = 0; i < (uint)count; i++)
336336
{
337337
ref Lms sp = ref Unsafe.Add(ref sourceRef, i);
338338
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
@@ -365,7 +365,7 @@ public void Convert(ReadOnlySpan<LinearRgb> source, Span<CieLab> destination)
365365
ref LinearRgb sourceRef = ref MemoryMarshal.GetReference(source);
366366
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
367367

368-
for (int i = 0; i < count; i++)
368+
for (nuint i = 0; i < (uint)count; i++)
369369
{
370370
ref LinearRgb sp = ref Unsafe.Add(ref sourceRef, i);
371371
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
@@ -398,7 +398,7 @@ public void Convert(ReadOnlySpan<Rgb> source, Span<CieLab> destination)
398398
ref Rgb sourceRef = ref MemoryMarshal.GetReference(source);
399399
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
400400

401-
for (int i = 0; i < count; i++)
401+
for (nuint i = 0; i < (uint)count; i++)
402402
{
403403
ref Rgb sp = ref Unsafe.Add(ref sourceRef, i);
404404
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
@@ -431,7 +431,7 @@ public void Convert(ReadOnlySpan<YCbCr> source, Span<CieLab> destination)
431431
ref YCbCr sourceRef = ref MemoryMarshal.GetReference(source);
432432
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
433433

434-
for (int i = 0; i < count; i++)
434+
for (nuint i = 0; i < (uint)count; i++)
435435
{
436436
ref YCbCr sp = ref Unsafe.Add(ref sourceRef, i);
437437
ref CieLab dp = ref Unsafe.Add(ref destRef, i);

src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLch.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public void Convert(ReadOnlySpan<CieLab> source, Span<CieLch> destination)
3636
ref CieLab sourceRef = ref MemoryMarshal.GetReference(source);
3737
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
3838

39-
for (int i = 0; i < count; i++)
39+
for (nuint i = 0; i < (uint)count; i++)
4040
{
4141
ref CieLab sp = ref Unsafe.Add(ref sourceRef, i);
4242
ref CieLch dp = ref Unsafe.Add(ref destRef, i);
@@ -69,7 +69,7 @@ public void Convert(ReadOnlySpan<CieLchuv> source, Span<CieLch> destination)
6969
ref CieLchuv sourceRef = ref MemoryMarshal.GetReference(source);
7070
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
7171

72-
for (int i = 0; i < count; i++)
72+
for (nuint i = 0; i < (uint)count; i++)
7373
{
7474
ref CieLchuv sp = ref Unsafe.Add(ref sourceRef, i);
7575
ref CieLch dp = ref Unsafe.Add(ref destRef, i);
@@ -102,7 +102,7 @@ public void Convert(ReadOnlySpan<CieLuv> source, Span<CieLch> destination)
102102
ref CieLuv sourceRef = ref MemoryMarshal.GetReference(source);
103103
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
104104

105-
for (int i = 0; i < count; i++)
105+
for (nuint i = 0; i < (uint)count; i++)
106106
{
107107
ref CieLuv sp = ref Unsafe.Add(ref sourceRef, i);
108108
ref CieLch dp = ref Unsafe.Add(ref destRef, i);
@@ -135,7 +135,7 @@ public void Convert(ReadOnlySpan<CieXyy> source, Span<CieLch> destination)
135135
ref CieXyy sourceRef = ref MemoryMarshal.GetReference(source);
136136
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
137137

138-
for (int i = 0; i < count; i++)
138+
for (nuint i = 0; i < (uint)count; i++)
139139
{
140140
ref CieXyy sp = ref Unsafe.Add(ref sourceRef, i);
141141
ref CieLch dp = ref Unsafe.Add(ref destRef, i);
@@ -168,7 +168,7 @@ public void Convert(ReadOnlySpan<CieXyz> source, Span<CieLch> destination)
168168
ref CieXyz sourceRef = ref MemoryMarshal.GetReference(source);
169169
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
170170

171-
for (int i = 0; i < count; i++)
171+
for (nuint i = 0; i < (uint)count; i++)
172172
{
173173
ref CieXyz sp = ref Unsafe.Add(ref sourceRef, i);
174174
ref CieLch dp = ref Unsafe.Add(ref destRef, i);
@@ -200,7 +200,7 @@ public void Convert(ReadOnlySpan<Cmyk> source, Span<CieLch> destination)
200200
ref Cmyk sourceRef = ref MemoryMarshal.GetReference(source);
201201
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
202202

203-
for (int i = 0; i < count; i++)
203+
for (nuint i = 0; i < (uint)count; i++)
204204
{
205205
ref Cmyk sp = ref Unsafe.Add(ref sourceRef, i);
206206
ref CieLch dp = ref Unsafe.Add(ref destRef, i);
@@ -233,7 +233,7 @@ public void Convert(ReadOnlySpan<Hsl> source, Span<CieLch> destination)
233233
ref Hsl sourceRef = ref MemoryMarshal.GetReference(source);
234234
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
235235

236-
for (int i = 0; i < count; i++)
236+
for (nuint i = 0; i < (uint)count; i++)
237237
{
238238
ref Hsl sp = ref Unsafe.Add(ref sourceRef, i);
239239
ref CieLch dp = ref Unsafe.Add(ref destRef, i);
@@ -266,7 +266,7 @@ public void Convert(ReadOnlySpan<Hsv> source, Span<CieLch> destination)
266266
ref Hsv sourceRef = ref MemoryMarshal.GetReference(source);
267267
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
268268

269-
for (int i = 0; i < count; i++)
269+
for (nuint i = 0; i < (uint)count; i++)
270270
{
271271
ref Hsv sp = ref Unsafe.Add(ref sourceRef, i);
272272
ref CieLch dp = ref Unsafe.Add(ref destRef, i);
@@ -299,7 +299,7 @@ public void Convert(ReadOnlySpan<HunterLab> source, Span<CieLch> destination)
299299
ref HunterLab sourceRef = ref MemoryMarshal.GetReference(source);
300300
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
301301

302-
for (int i = 0; i < count; i++)
302+
for (nuint i = 0; i < (uint)count; i++)
303303
{
304304
ref HunterLab sp = ref Unsafe.Add(ref sourceRef, i);
305305
ref CieLch dp = ref Unsafe.Add(ref destRef, i);
@@ -332,7 +332,7 @@ public void Convert(ReadOnlySpan<LinearRgb> source, Span<CieLch> destination)
332332
ref LinearRgb sourceRef = ref MemoryMarshal.GetReference(source);
333333
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
334334

335-
for (int i = 0; i < count; i++)
335+
for (nuint i = 0; i < (uint)count; i++)
336336
{
337337
ref LinearRgb sp = ref Unsafe.Add(ref sourceRef, i);
338338
ref CieLch dp = ref Unsafe.Add(ref destRef, i);
@@ -365,7 +365,7 @@ public void Convert(ReadOnlySpan<Lms> source, Span<CieLch> destination)
365365
ref Lms sourceRef = ref MemoryMarshal.GetReference(source);
366366
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
367367

368-
for (int i = 0; i < count; i++)
368+
for (nuint i = 0; i < (uint)count; i++)
369369
{
370370
ref Lms sp = ref Unsafe.Add(ref sourceRef, i);
371371
ref CieLch dp = ref Unsafe.Add(ref destRef, i);
@@ -398,7 +398,7 @@ public void Convert(ReadOnlySpan<Rgb> source, Span<CieLch> destination)
398398
ref Rgb sourceRef = ref MemoryMarshal.GetReference(source);
399399
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
400400

401-
for (int i = 0; i < count; i++)
401+
for (nuint i = 0; i < (uint)count; i++)
402402
{
403403
ref Rgb sp = ref Unsafe.Add(ref sourceRef, i);
404404
ref CieLch dp = ref Unsafe.Add(ref destRef, i);
@@ -431,7 +431,7 @@ public void Convert(ReadOnlySpan<YCbCr> source, Span<CieLch> destination)
431431
ref YCbCr sourceRef = ref MemoryMarshal.GetReference(source);
432432
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
433433

434-
for (int i = 0; i < count; i++)
434+
for (nuint i = 0; i < (uint)count; i++)
435435
{
436436
ref YCbCr sp = ref Unsafe.Add(ref sourceRef, i);
437437
ref CieLch dp = ref Unsafe.Add(ref destRef, i);

src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLchuv.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public void Convert(ReadOnlySpan<CieLab> source, Span<CieLchuv> destination)
3636
ref CieLab sourceRef = ref MemoryMarshal.GetReference(source);
3737
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
3838

39-
for (int i = 0; i < count; i++)
39+
for (nuint i = 0; i < (uint)count; i++)
4040
{
4141
ref CieLab sp = ref Unsafe.Add(ref sourceRef, i);
4242
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);
@@ -69,7 +69,7 @@ public void Convert(ReadOnlySpan<CieLch> source, Span<CieLchuv> destination)
6969
ref CieLch sourceRef = ref MemoryMarshal.GetReference(source);
7070
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
7171

72-
for (int i = 0; i < count; i++)
72+
for (nuint i = 0; i < (uint)count; i++)
7373
{
7474
ref CieLch sp = ref Unsafe.Add(ref sourceRef, i);
7575
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);
@@ -102,7 +102,7 @@ public void Convert(ReadOnlySpan<CieLuv> source, Span<CieLchuv> destination)
102102
ref CieLuv sourceRef = ref MemoryMarshal.GetReference(source);
103103
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
104104

105-
for (int i = 0; i < count; i++)
105+
for (nuint i = 0; i < (uint)count; i++)
106106
{
107107
ref CieLuv sp = ref Unsafe.Add(ref sourceRef, i);
108108
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);
@@ -135,7 +135,7 @@ public void Convert(ReadOnlySpan<CieXyy> source, Span<CieLchuv> destination)
135135
ref CieXyy sourceRef = ref MemoryMarshal.GetReference(source);
136136
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
137137

138-
for (int i = 0; i < count; i++)
138+
for (nuint i = 0; i < (uint)count; i++)
139139
{
140140
ref CieXyy sp = ref Unsafe.Add(ref sourceRef, i);
141141
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);
@@ -168,7 +168,7 @@ public void Convert(ReadOnlySpan<CieXyz> source, Span<CieLchuv> destination)
168168
ref CieXyz sourceRef = ref MemoryMarshal.GetReference(source);
169169
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
170170

171-
for (int i = 0; i < count; i++)
171+
for (nuint i = 0; i < (uint)count; i++)
172172
{
173173
ref CieXyz sp = ref Unsafe.Add(ref sourceRef, i);
174174
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);
@@ -201,7 +201,7 @@ public void Convert(ReadOnlySpan<Cmyk> source, Span<CieLchuv> destination)
201201
ref Cmyk sourceRef = ref MemoryMarshal.GetReference(source);
202202
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
203203

204-
for (int i = 0; i < count; i++)
204+
for (nuint i = 0; i < (uint)count; i++)
205205
{
206206
ref Cmyk sp = ref Unsafe.Add(ref sourceRef, i);
207207
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);
@@ -234,7 +234,7 @@ public void Convert(ReadOnlySpan<Hsl> source, Span<CieLchuv> destination)
234234
ref Hsl sourceRef = ref MemoryMarshal.GetReference(source);
235235
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
236236

237-
for (int i = 0; i < count; i++)
237+
for (nuint i = 0; i < (uint)count; i++)
238238
{
239239
ref Hsl sp = ref Unsafe.Add(ref sourceRef, i);
240240
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);
@@ -267,7 +267,7 @@ public void Convert(ReadOnlySpan<Hsv> source, Span<CieLchuv> destination)
267267
ref Hsv sourceRef = ref MemoryMarshal.GetReference(source);
268268
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
269269

270-
for (int i = 0; i < count; i++)
270+
for (nuint i = 0; i < (uint)count; i++)
271271
{
272272
ref Hsv sp = ref Unsafe.Add(ref sourceRef, i);
273273
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);
@@ -300,7 +300,7 @@ public void Convert(ReadOnlySpan<HunterLab> source, Span<CieLchuv> destination)
300300
ref HunterLab sourceRef = ref MemoryMarshal.GetReference(source);
301301
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
302302

303-
for (int i = 0; i < count; i++)
303+
for (nuint i = 0; i < (uint)count; i++)
304304
{
305305
ref HunterLab sp = ref Unsafe.Add(ref sourceRef, i);
306306
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);
@@ -333,7 +333,7 @@ public void Convert(ReadOnlySpan<LinearRgb> source, Span<CieLchuv> destination)
333333
ref LinearRgb sourceRef = ref MemoryMarshal.GetReference(source);
334334
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
335335

336-
for (int i = 0; i < count; i++)
336+
for (nuint i = 0; i < (uint)count; i++)
337337
{
338338
ref LinearRgb sp = ref Unsafe.Add(ref sourceRef, i);
339339
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);
@@ -366,7 +366,7 @@ public void Convert(ReadOnlySpan<Lms> source, Span<CieLchuv> destination)
366366
ref Lms sourceRef = ref MemoryMarshal.GetReference(source);
367367
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
368368

369-
for (int i = 0; i < count; i++)
369+
for (nuint i = 0; i < (uint)count; i++)
370370
{
371371
ref Lms sp = ref Unsafe.Add(ref sourceRef, i);
372372
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);
@@ -399,7 +399,7 @@ public void Convert(ReadOnlySpan<Rgb> source, Span<CieLchuv> destination)
399399
ref Rgb sourceRef = ref MemoryMarshal.GetReference(source);
400400
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
401401

402-
for (int i = 0; i < count; i++)
402+
for (nuint i = 0; i < (uint)count; i++)
403403
{
404404
ref Rgb sp = ref Unsafe.Add(ref sourceRef, i);
405405
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);
@@ -431,7 +431,7 @@ public void Convert(ReadOnlySpan<YCbCr> source, Span<CieLchuv> destination)
431431
ref YCbCr sourceRef = ref MemoryMarshal.GetReference(source);
432432
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
433433

434-
for (int i = 0; i < count; i++)
434+
for (nuint i = 0; i < (uint)count; i++)
435435
{
436436
ref YCbCr sp = ref Unsafe.Add(ref sourceRef, i);
437437
ref CieLchuv dp = ref Unsafe.Add(ref destRef, i);

0 commit comments

Comments
 (0)