// Copyright (c) Six Labors.
// Licensed under the Apache License, Version 2.0.
using System.Numerics;
namespace SixLabors.ImageSharp.Tests
{
using SixLabors.ImageSharp;
internal static class IccTestDataMatrix
{
///
/// 3x3 Matrix
///
public static readonly float[,] Single_2DArray_ValGrad =
{
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 },
};
///
/// 3x3 Matrix
///
public static readonly float[,] Single_2DArray_ValIdentity =
{
{ 1, 0, 0 },
{ 0, 1, 0 },
{ 0, 0, 1 },
};
///
/// 3x3 Matrix
///
public static readonly Matrix4x4 Single_Matrix4x4_ValGrad = new Matrix4x4(1, 2, 3, 0, 4, 5, 6, 0, 7, 8, 9, 0, 0, 0, 0, 1);
///
/// 3x3 Matrix
///
public static readonly Matrix4x4 Single_Matrix4x4_ValIdentity = Matrix4x4.Identity;
///
/// 3x3 Matrix
///
public static readonly DenseMatrix Single_DenseMatrix_ValGrad = new DenseMatrix(Single_2DArray_ValGrad);
///
/// 3x3 Matrix
///
public static readonly DenseMatrix Single_DenseMatrix_ValIdentity = new DenseMatrix(Single_2DArray_ValIdentity);
///
/// 3x3 Matrix
///
public static readonly byte[] Fix16_2D_Grad = ArrayHelper.Concat(
IccTestDataPrimitives.Fix16_1,
IccTestDataPrimitives.Fix16_4,
IccTestDataPrimitives.Fix16_7,
IccTestDataPrimitives.Fix16_2,
IccTestDataPrimitives.Fix16_5,
IccTestDataPrimitives.Fix16_8,
IccTestDataPrimitives.Fix16_3,
IccTestDataPrimitives.Fix16_6,
IccTestDataPrimitives.Fix16_9);
///
/// 3x3 Matrix
///
public static readonly byte[] Fix16_2D_Identity = ArrayHelper.Concat(
IccTestDataPrimitives.Fix16_1,
IccTestDataPrimitives.Fix16_0,
IccTestDataPrimitives.Fix16_0,
IccTestDataPrimitives.Fix16_0,
IccTestDataPrimitives.Fix16_1,
IccTestDataPrimitives.Fix16_0,
IccTestDataPrimitives.Fix16_0,
IccTestDataPrimitives.Fix16_0,
IccTestDataPrimitives.Fix16_1);
///
/// 3x3 Matrix
///
public static readonly byte[] Single_2D_Grad = ArrayHelper.Concat(
IccTestDataPrimitives.Single_1,
IccTestDataPrimitives.Single_4,
IccTestDataPrimitives.Single_7,
IccTestDataPrimitives.Single_2,
IccTestDataPrimitives.Single_5,
IccTestDataPrimitives.Single_8,
IccTestDataPrimitives.Single_3,
IccTestDataPrimitives.Single_6,
IccTestDataPrimitives.Single_9);
public static readonly object[][] Matrix2D_FloatArrayTestData =
{
new object[] { Fix16_2D_Grad, 3, 3, false, Single_2DArray_ValGrad },
new object[] { Fix16_2D_Identity, 3, 3, false, Single_2DArray_ValIdentity },
new object[] { Single_2D_Grad, 3, 3, true, Single_2DArray_ValGrad },
};
public static readonly object[][] Matrix2D_DenseMatrixTestData =
{
new object[] { Fix16_2D_Grad, 3, 3, false, Single_DenseMatrix_ValGrad },
new object[] { Fix16_2D_Identity, 3, 3, false, Single_DenseMatrix_ValIdentity },
new object[] { Single_2D_Grad, 3, 3, true, Single_DenseMatrix_ValGrad },
};
public static readonly object[][] Matrix2D_Matrix4x4TestData =
{
new object[] { Fix16_2D_Grad, 3, 3, false, Single_Matrix4x4_ValGrad },
new object[] { Fix16_2D_Identity, 3, 3, false, Single_Matrix4x4_ValIdentity },
new object[] { Single_2D_Grad, 3, 3, true, Single_Matrix4x4_ValGrad },
};
///
/// 3x1 Matrix
///
public static readonly float[] Single_1DArray_ValGrad = { 1, 4, 7 };
///
/// 3x1 Matrix
///
public static readonly Vector3 Single_Vector3_ValGrad = new Vector3(1, 4, 7);
///
/// 3x1 Matrix
///
public static readonly byte[] Fix16_1D_Grad = ArrayHelper.Concat(
IccTestDataPrimitives.Fix16_1,
IccTestDataPrimitives.Fix16_4,
IccTestDataPrimitives.Fix16_7);
///
/// 3x1 Matrix
///
public static readonly byte[] Single_1D_Grad = ArrayHelper.Concat(
IccTestDataPrimitives.Single_1,
IccTestDataPrimitives.Single_4,
IccTestDataPrimitives.Single_7);
public static readonly object[][] Matrix1D_ArrayTestData =
{
new object[] { Fix16_1D_Grad, 3, false, Single_1DArray_ValGrad },
new object[] { Single_1D_Grad, 3, true, Single_1DArray_ValGrad },
};
public static readonly object[][] Matrix1D_Vector3TestData =
{
new object[] { Fix16_1D_Grad, 3, false, Single_Vector3_ValGrad },
new object[] { Single_1D_Grad, 3, true, Single_Vector3_ValGrad },
};
}
}