Browse Source

Migrate span and fix up benchmarks project

af/merge-core
James Jackson-South 8 years ago
parent
commit
33028a942d
  1. 1
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Adapt.cs
  2. 55
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLab.cs
  3. 53
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLch.cs
  4. 53
      src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.CieLchuv.cs
  5. 12
      tests/ImageSharp.Benchmarks/ImageSharp.Benchmarks.csproj

1
src/ImageSharp/ColorSpaces/Conversion/ColorSpaceConverter.Adapt.cs

@ -163,6 +163,7 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
LinearRgb linearOutput = this.Adapt(linearInput);
return this.ToRgb(linearOutput);
}
private void CheckChromaticAdaptation()
{
const string NoAdapterMessage = "Cannot perform chromatic adaptation, provide a chromatic adaptation method and white point.";

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

@ -3,6 +3,7 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation;
namespace SixLabors.ImageSharp.ColorSpaces.Conversion
@ -48,8 +49,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieLch sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref CieLch sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -82,8 +83,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieLchuv sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref CieLchuv sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -116,8 +117,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieLuv sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref CieLuv sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -150,8 +151,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieXyy sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref CieXyy sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -190,8 +191,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieXyz sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref CieXyz sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -224,8 +225,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Cmyk sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref Cmyk sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -258,8 +259,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Hsl sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref Hsl sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -292,8 +293,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Hsv sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref Hsv sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -326,8 +327,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref HunterLab sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref HunterLab sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -360,8 +361,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Lms sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref Lms sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -394,8 +395,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref LinearRgb sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref LinearRgb sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -428,8 +429,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Rgb sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref Rgb sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -462,12 +463,12 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref YCbCr sourceRef = ref source.DangerousGetPinnableReference();
ref CieLab destRef = ref destination.DangerousGetPinnableReference();
ref YCbCr sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLab destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
ref Rgb sp = ref Unsafe.Add(ref sourceRef, i);
ref YCbCr sp = ref Unsafe.Add(ref sourceRef, i);
ref CieLab dp = ref Unsafe.Add(ref destRef, i);
dp = this.ToCieLab(sp);
}

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

@ -3,6 +3,7 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation;
namespace SixLabors.ImageSharp.ColorSpaces.Conversion
@ -43,8 +44,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieLab sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref CieLab sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -77,8 +78,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieLchuv sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref CieLchuv sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -111,8 +112,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieLuv sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref CieLuv sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -145,8 +146,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieXyy sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref CieXyy sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -179,8 +180,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieXyz sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref CieXyz sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -213,8 +214,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Cmyk sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref Cmyk sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -247,8 +248,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Hsl sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref Hsl sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -281,8 +282,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Hsv sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref Hsv sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -315,8 +316,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref HunterLab sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref HunterLab sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -349,8 +350,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref LinearRgb sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref LinearRgb sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -383,8 +384,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Lms sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref Lms sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -417,8 +418,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Rgb sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref Rgb sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -451,8 +452,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref YCbCr sourceRef = ref source.DangerousGetPinnableReference();
ref CieLch destRef = ref destination.DangerousGetPinnableReference();
ref YCbCr sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLch destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{

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

@ -3,6 +3,7 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using SixLabors.ImageSharp.ColorSpaces.Conversion.Implementation;
namespace SixLabors.ImageSharp.ColorSpaces.Conversion
@ -40,8 +41,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieLab sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref CieLab sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -74,8 +75,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieLch sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref CieLch sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -111,8 +112,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieLuv sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref CieLuv sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -145,8 +146,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieXyy sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref CieXyy sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -179,8 +180,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref CieXyz sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref CieXyz sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -213,8 +214,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Cmyk sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref Cmyk sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -247,8 +248,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Hsl sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref Hsl sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -281,8 +282,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Hsv sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref Hsv sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -315,8 +316,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref HunterLab sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref HunterLab sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -349,8 +350,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref LinearRgb sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref LinearRgb sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -383,8 +384,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Lms sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref Lms sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -417,8 +418,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref Rgb sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref Rgb sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{
@ -451,8 +452,8 @@ namespace SixLabors.ImageSharp.ColorSpaces.Conversion
{
Guard.SpansMustBeSizedAtLeast(source, nameof(source), destination, nameof(destination), count);
ref YCbCr sourceRef = ref source.DangerousGetPinnableReference();
ref CieLchuv destRef = ref destination.DangerousGetPinnableReference();
ref YCbCr sourceRef = ref MemoryMarshal.GetReference(source);
ref CieLchuv destRef = ref MemoryMarshal.GetReference(destination);
for (int i = 0; i < count; i++)
{

12
tests/ImageSharp.Benchmarks/ImageSharp.Benchmarks.csproj

@ -15,20 +15,12 @@
<Compile Include="..\ImageSharp.Tests\TestUtilities\TestEnvironment.cs" Link="Tests\TestEnvironment.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Colourful" Version="1.2.1" />
<PackageReference Include="System.Numerics.Vectors" Version="4.4.0" />
<PackageReference Include="BenchmarkDotNet" Version="0.10.12" />
<PackageReference Include="Colourful" Version="1.2.1" />
<PackageReference Include="System.Drawing.Common" Version="4.5.0-preview2-26202-05" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net461'">
<PackageReference Include="System.Numerics.Vectors" Version="4.4.0" />
<PackageReference Include="Colourful" Version="1.1.2" />
<PackageReference Include="System.Drawing.Common" Version="4.5.0-preview1-26216-02" />
<PackageReference Include="System.Memory" Version="4.5.0-preview1-26216-02" />
<PackageReference Include="System.Numerics.Vectors" Version="4.5.0-preview1-26216-02" />
<PackageReference Include="BenchmarkDotNet" Version="0.10.13" />
<PackageReference Include="Colourful" Version="1.2.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\ImageSharp.Drawing\ImageSharp.Drawing.csproj" />
<ProjectReference Include="..\..\src\ImageSharp\ImageSharp.csproj" />

Loading…
Cancel
Save