Skip to content

Commit 95622ff

Browse files
committed
Relocate the Vector64/128/256/512 assert extensions to avoid Mono LLVM trimming issues
1 parent 84a25fa commit 95622ff

File tree

5 files changed

+100
-100
lines changed

5 files changed

+100
-100
lines changed

src/libraries/Common/tests/TestUtilities/System/AssertExtensions.cs

Lines changed: 0 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -1122,98 +1122,6 @@ static string ToStringPadded(Half value)
11221122
}
11231123
}
11241124
}
1125-
1126-
/// <summary>Verifies that two <see cref="Vector64{Single}" /> values are equal, within the <paramref name="variance" />.</summary>
1127-
/// <param name="expected">The expected value</param>
1128-
/// <param name="actual">The value to be compared against</param>
1129-
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
1130-
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
1131-
public static void Equal(Vector64<float> expected, Vector64<float> actual, Vector64<float> variance)
1132-
{
1133-
for (int i = 0; i < Vector64<float>.Count; i++)
1134-
{
1135-
Equal(expected.GetElement(i), actual.GetElement(i), variance.GetElement(i));
1136-
}
1137-
}
1138-
1139-
/// <summary>Verifies that two <see cref="Vector128{Single}" /> values are equal, within the <paramref name="variance" />.</summary>
1140-
/// <param name="expected">The expected value</param>
1141-
/// <param name="actual">The value to be compared against</param>
1142-
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
1143-
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
1144-
public static void Equal(Vector128<float> expected, Vector128<float> actual, Vector128<float> variance)
1145-
{
1146-
Equal(expected.GetLower(), actual.GetLower(), variance.GetLower());
1147-
Equal(expected.GetUpper(), actual.GetUpper(), variance.GetUpper());
1148-
}
1149-
1150-
/// <summary>Verifies that two <see cref="Vector256{Single}" /> values are equal, within the <paramref name="variance" />.</summary>
1151-
/// <param name="expected">The expected value</param>
1152-
/// <param name="actual">The value to be compared against</param>
1153-
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
1154-
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
1155-
public static void Equal(Vector256<float> expected, Vector256<float> actual, Vector256<float> variance)
1156-
{
1157-
Equal(expected.GetLower(), actual.GetLower(), variance.GetLower());
1158-
Equal(expected.GetUpper(), actual.GetUpper(), variance.GetUpper());
1159-
}
1160-
1161-
/// <summary>Verifies that two <see cref="Vector512{Single}" /> values are equal, within the <paramref name="variance" />.</summary>
1162-
/// <param name="expected">The expected value</param>
1163-
/// <param name="actual">The value to be compared against</param>
1164-
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
1165-
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
1166-
public static void Equal(Vector512<float> expected, Vector512<float> actual, Vector512<float> variance)
1167-
{
1168-
Equal(expected.GetLower(), actual.GetLower(), variance.GetLower());
1169-
Equal(expected.GetUpper(), actual.GetUpper(), variance.GetUpper());
1170-
}
1171-
1172-
/// <summary>Verifies that two <see cref="Vector64{Double}" /> values are equal, within the <paramref name="variance" />.</summary>
1173-
/// <param name="expected">The expected value</param>
1174-
/// <param name="actual">The value to be compared against</param>
1175-
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
1176-
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
1177-
public static void Equal(Vector64<double> expected, Vector64<double> actual, Vector64<double> variance)
1178-
{
1179-
for (int i = 0; i < Vector64<double>.Count; i++)
1180-
{
1181-
Equal(expected.GetElement(i), actual.GetElement(i), variance.GetElement(i));
1182-
}
1183-
}
1184-
1185-
/// <summary>Verifies that two <see cref="Vector128{Double}" /> values are equal, within the <paramref name="variance" />.</summary>
1186-
/// <param name="expected">The expected value</param>
1187-
/// <param name="actual">The value to be compared against</param>
1188-
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
1189-
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
1190-
public static void Equal(Vector128<double> expected, Vector128<double> actual, Vector128<double> variance)
1191-
{
1192-
Equal(expected.GetLower(), actual.GetLower(), variance.GetLower());
1193-
Equal(expected.GetUpper(), actual.GetUpper(), variance.GetUpper());
1194-
}
1195-
1196-
/// <summary>Verifies that two <see cref="Vector256{Double}" /> values are equal, within the <paramref name="variance" />.</summary>
1197-
/// <param name="expected">The expected value</param>
1198-
/// <param name="actual">The value to be compared against</param>
1199-
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
1200-
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
1201-
public static void Equal(Vector256<double> expected, Vector256<double> actual, Vector256<double> variance)
1202-
{
1203-
Equal(expected.GetLower(), actual.GetLower(), variance.GetLower());
1204-
Equal(expected.GetUpper(), actual.GetUpper(), variance.GetUpper());
1205-
}
1206-
1207-
/// <summary>Verifies that two <see cref="Vector512{Double}" /> values are equal, within the <paramref name="variance" />.</summary>
1208-
/// <param name="expected">The expected value</param>
1209-
/// <param name="actual">The value to be compared against</param>
1210-
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
1211-
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
1212-
public static void Equal(Vector512<double> expected, Vector512<double> actual, Vector512<double> variance)
1213-
{
1214-
Equal(expected.GetLower(), actual.GetLower(), variance.GetLower());
1215-
Equal(expected.GetUpper(), actual.GetUpper(), variance.GetUpper());
1216-
}
12171125
#endif
12181126
}
12191127
}

src/libraries/System.Runtime.Intrinsics/tests/Vectors/Vector128Tests.cs

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,28 @@ namespace System.Runtime.Intrinsics.Tests.Vectors
1111
{
1212
public sealed class Vector128Tests
1313
{
14+
/// <summary>Verifies that two <see cref="Vector128{Single}" /> values are equal, within the <paramref name="variance" />.</summary>
15+
/// <param name="expected">The expected value</param>
16+
/// <param name="actual">The value to be compared against</param>
17+
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
18+
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
19+
public static void AssertEqual(Vector128<float> expected, Vector128<float> actual, Vector128<float> variance)
20+
{
21+
Vector64Tests.AssertEqual(expected.GetLower(), actual.GetLower(), variance.GetLower());
22+
Vector64Tests.AssertEqual(expected.GetUpper(), actual.GetUpper(), variance.GetUpper());
23+
}
24+
25+
/// <summary>Verifies that two <see cref="Vector128{Double}" /> values are equal, within the <paramref name="variance" />.</summary>
26+
/// <param name="expected">The expected value</param>
27+
/// <param name="actual">The value to be compared against</param>
28+
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
29+
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
30+
public static void AssertEqual(Vector128<double> expected, Vector128<double> actual, Vector128<double> variance)
31+
{
32+
Vector64Tests.AssertEqual(expected.GetLower(), actual.GetLower(), variance.GetLower());
33+
Vector64Tests.AssertEqual(expected.GetUpper(), actual.GetUpper(), variance.GetUpper());
34+
}
35+
1436
[Fact]
1537
[DynamicDependency(DynamicallyAccessedMemberTypes.PublicProperties, typeof(Vector128))]
1638
[ActiveIssue("https://github.com/dotnet/runtime/issues/81785", TestPlatforms.Browser)]
@@ -4670,15 +4692,15 @@ private static void TestGetOne<T>()
46704692
public void Log2DoubleTest(double value, double expectedResult, double variance)
46714693
{
46724694
Vector128<double> actualResult = Vector128.Log2(Vector128.Create(value));
4673-
AssertExtensions.Equal(Vector128.Create(expectedResult), actualResult, Vector128.Create(variance));
4695+
AssertEqual(Vector128.Create(expectedResult), actualResult, Vector128.Create(variance));
46744696
}
46754697

46764698
[Theory]
46774699
[MemberData(nameof(VectorTestMemberData.Log2Single), MemberType = typeof(VectorTestMemberData))]
46784700
public void Log2SingleTest(float value, float expectedResult, float variance)
46794701
{
46804702
Vector128<float> actualResult = Vector128.Log2(Vector128.Create(value));
4681-
AssertExtensions.Equal(Vector128.Create(expectedResult), actualResult, Vector128.Create(variance));
4703+
AssertEqual(Vector128.Create(expectedResult), actualResult, Vector128.Create(variance));
46824704
}
46834705
}
46844706
}

src/libraries/System.Runtime.Intrinsics/tests/Vectors/Vector256Tests.cs

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,28 @@ namespace System.Runtime.Intrinsics.Tests.Vectors
1010
{
1111
public sealed class Vector256Tests
1212
{
13+
/// <summary>Verifies that two <see cref="Vector256{Single}" /> values are equal, within the <paramref name="variance" />.</summary>
14+
/// <param name="expected">The expected value</param>
15+
/// <param name="actual">The value to be compared against</param>
16+
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
17+
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
18+
public static void AssertEqual(Vector256<float> expected, Vector256<float> actual, Vector256<float> variance)
19+
{
20+
Vector128Tests.AssertEqual(expected.GetLower(), actual.GetLower(), variance.GetLower());
21+
Vector128Tests.AssertEqual(expected.GetUpper(), actual.GetUpper(), variance.GetUpper());
22+
}
23+
24+
/// <summary>Verifies that two <see cref="Vector256{Double}" /> values are equal, within the <paramref name="variance" />.</summary>
25+
/// <param name="expected">The expected value</param>
26+
/// <param name="actual">The value to be compared against</param>
27+
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
28+
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
29+
public static void AssertEqual(Vector256<double> expected, Vector256<double> actual, Vector256<double> variance)
30+
{
31+
Vector128Tests.AssertEqual(expected.GetLower(), actual.GetLower(), variance.GetLower());
32+
Vector128Tests.AssertEqual(expected.GetUpper(), actual.GetUpper(), variance.GetUpper());
33+
}
34+
1335
[Fact]
1436
public unsafe void Vector256IsHardwareAcceleratedTest()
1537
{
@@ -5685,15 +5707,15 @@ private static void TestGetOne<T>()
56855707
public void Log2DoubleTest(double value, double expectedResult, double variance)
56865708
{
56875709
Vector256<double> actualResult = Vector256.Log2(Vector256.Create(value));
5688-
AssertExtensions.Equal(Vector256.Create(expectedResult), actualResult, Vector256.Create(variance));
5710+
AssertEqual(Vector256.Create(expectedResult), actualResult, Vector256.Create(variance));
56895711
}
56905712

56915713
[Theory]
56925714
[MemberData(nameof(VectorTestMemberData.Log2Single), MemberType = typeof(VectorTestMemberData))]
56935715
public void Log2SingleTest(float value, float expectedResult, float variance)
56945716
{
56955717
Vector256<float> actualResult = Vector256.Log2(Vector256.Create(value));
5696-
AssertExtensions.Equal(Vector256.Create(expectedResult), actualResult, Vector256.Create(variance));
5718+
AssertEqual(Vector256.Create(expectedResult), actualResult, Vector256.Create(variance));
56975719
}
56985720
}
56995721
}

src/libraries/System.Runtime.Intrinsics/tests/Vectors/Vector512Tests.cs

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,28 @@ namespace System.Runtime.Intrinsics.Tests.Vectors
99
{
1010
public sealed class Vector512Tests
1111
{
12+
/// <summary>Verifies that two <see cref="Vector512{Single}" /> values are equal, within the <paramref name="variance" />.</summary>
13+
/// <param name="expected">The expected value</param>
14+
/// <param name="actual">The value to be compared against</param>
15+
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
16+
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
17+
public static void AssertEqual(Vector512<float> expected, Vector512<float> actual, Vector512<float> variance)
18+
{
19+
Vector256Tests.AssertEqual(expected.GetLower(), actual.GetLower(), variance.GetLower());
20+
Vector256Tests.AssertEqual(expected.GetUpper(), actual.GetUpper(), variance.GetUpper());
21+
}
22+
23+
/// <summary>Verifies that two <see cref="Vector512{Double}" /> values are equal, within the <paramref name="variance" />.</summary>
24+
/// <param name="expected">The expected value</param>
25+
/// <param name="actual">The value to be compared against</param>
26+
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
27+
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
28+
public static void AssertEqual(Vector512<double> expected, Vector512<double> actual, Vector512<double> variance)
29+
{
30+
Vector256Tests.AssertEqual(expected.GetLower(), actual.GetLower(), variance.GetLower());
31+
Vector256Tests.AssertEqual(expected.GetUpper(), actual.GetUpper(), variance.GetUpper());
32+
}
33+
1234
[Fact]
1335
public unsafe void Vector512IsHardwareAcceleratedTest()
1436
{
@@ -5117,15 +5139,15 @@ private static void TestIsNotSupported<T>()
51175139
public void Log2DoubleTest(double value, double expectedResult, double variance)
51185140
{
51195141
Vector512<double> actualResult = Vector512.Log2(Vector512.Create(value));
5120-
AssertExtensions.Equal(Vector512.Create(expectedResult), actualResult, Vector512.Create(variance));
5142+
AssertEqual(Vector512.Create(expectedResult), actualResult, Vector512.Create(variance));
51215143
}
51225144

51235145
[Theory]
51245146
[MemberData(nameof(VectorTestMemberData.Log2Single), MemberType = typeof(VectorTestMemberData))]
51255147
public void Log2SingleTest(float value, float expectedResult, float variance)
51265148
{
51275149
Vector512<float> actualResult = Vector512.Log2(Vector512.Create(value));
5128-
AssertExtensions.Equal(Vector512.Create(expectedResult), actualResult, Vector512.Create(variance));
5150+
AssertEqual(Vector512.Create(expectedResult), actualResult, Vector512.Create(variance));
51295151
}
51305152
}
51315153
}

src/libraries/System.Runtime.Intrinsics/tests/Vectors/Vector64Tests.cs

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,32 @@ namespace System.Runtime.Intrinsics.Tests.Vectors
1010
{
1111
public sealed class Vector64Tests
1212
{
13+
/// <summary>Verifies that two <see cref="Vector64{Single}" /> values are equal, within the <paramref name="variance" />.</summary>
14+
/// <param name="expected">The expected value</param>
15+
/// <param name="actual">The value to be compared against</param>
16+
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
17+
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
18+
public static void AssertEqual(Vector64<float> expected, Vector64<float> actual, Vector64<float> variance)
19+
{
20+
for (int i = 0; i < Vector64<float>.Count; i++)
21+
{
22+
AssertExtensions.Equal(expected.GetElement(i), actual.GetElement(i), variance.GetElement(i));
23+
}
24+
}
25+
26+
/// <summary>Verifies that two <see cref="Vector64{Double}" /> values are equal, within the <paramref name="variance" />.</summary>
27+
/// <param name="expected">The expected value</param>
28+
/// <param name="actual">The value to be compared against</param>
29+
/// <param name="variance">The total variance allowed between the expected and actual results.</param>
30+
/// <exception cref="EqualException">Thrown when the values are not equal</exception>
31+
public static void AssertEqual(Vector64<double> expected, Vector64<double> actual, Vector64<double> variance)
32+
{
33+
for (int i = 0; i < Vector64<double>.Count; i++)
34+
{
35+
AssertExtensions.Equal(expected.GetElement(i), actual.GetElement(i), variance.GetElement(i));
36+
}
37+
}
38+
1339
[Fact]
1440
public unsafe void Vector64IsHardwareAcceleratedTest()
1541
{
@@ -4083,7 +4109,7 @@ private static void TestGetOne<T>()
40834109
public void Log2DoubleTest(double value, double expectedResult, double variance)
40844110
{
40854111
Vector64<double> actualResult = Vector64.Log2(Vector64.Create(value));
4086-
AssertExtensions.Equal(Vector64.Create(expectedResult), actualResult, Vector64.Create(variance));
4112+
AssertEqual(Vector64.Create(expectedResult), actualResult, Vector64.Create(variance));
40874113
}
40884114

40894115
[Theory]
@@ -4093,7 +4119,7 @@ public void Log2SingleTest(float value, float expectedResult, float variance)
40934119
AssertExtensions.Equal(0.0f, 0.0f, 0.0f);
40944120

40954121
Vector64<float> actualResult = Vector64.Log2(Vector64.Create(value));
4096-
AssertExtensions.Equal(Vector64.Create(expectedResult), actualResult, Vector64.Create(variance));
4122+
AssertEqual(Vector64.Create(expectedResult), actualResult, Vector64.Create(variance));
40974123
}
40984124
}
40994125
}

0 commit comments

Comments
 (0)