You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.5 KiB
95 lines
2.5 KiB
using Burst.Compiler.IL.Tests.Helpers; |
|
using NUnit.Framework; |
|
using Unity.Mathematics; |
|
|
|
namespace Burst.Compiler.IL.Tests |
|
{ |
|
[TestFixture] |
|
internal partial class VectorsIndexers |
|
{ |
|
[TestCompiler(0)] |
|
[TestCompiler(1)] |
|
[TestCompiler(2)] |
|
[TestCompiler(3)] |
|
public static float Float4_get_IndexerLocal(int i) |
|
{ |
|
var vector = new float4(5.0f, 6.0f, 7.0f, 8.0f); |
|
return vector[i]; |
|
} |
|
|
|
[TestCompiler(DataRange.Standard)] |
|
public static float Float4_get_IndexerByRef(ref float4 vector) |
|
{ |
|
return vector[0] + vector[2]; |
|
} |
|
|
|
[TestCompiler(0)] |
|
[TestCompiler(1)] |
|
[TestCompiler(2)] |
|
[TestCompiler(3)] |
|
public static float Float4_set_IndexerLocal(int i) |
|
{ |
|
var vector = new float4(0.0f); |
|
vector[i] = 2.0f * i; |
|
return vector[0] + vector[2]; |
|
} |
|
|
|
[TestCompiler(DataRange.Standard)] |
|
public static float Float4_set_IndexerByRef(ref float4 vector) |
|
{ |
|
vector[0] = 10.0f; |
|
vector[2] = 15.0f; |
|
return vector[0] + vector[2]; |
|
} |
|
|
|
[TestCompiler(0)] |
|
[TestCompiler(1)] |
|
[TestCompiler(2)] |
|
public static float Float3_get_IndexerLocal(int i) |
|
{ |
|
var vector = new float3(5.0f, 6.0f, 7.0f); |
|
return vector[i]; |
|
} |
|
|
|
[TestCompiler(DataRange.Standard)] |
|
public static float Float3_get_IndexerByRef(ref float3 vector) |
|
{ |
|
return vector[0] + vector[2]; |
|
} |
|
|
|
[TestCompiler(0)] |
|
[TestCompiler(1)] |
|
[TestCompiler(2)] |
|
public static float Float3_set_IndexerLocal(int i) |
|
{ |
|
var vector = new float3(0.0f); |
|
vector[i] = 2.0f * i; |
|
return vector[0] + vector[2]; |
|
} |
|
|
|
[TestCompiler(DataRange.Standard)] |
|
public static float Float3_set_IndexerByRef(ref float3 vector) |
|
{ |
|
vector[0] = 10.0f; |
|
vector[2] = 15.0f; |
|
return vector[0] + vector[2]; |
|
} |
|
|
|
[TestCompiler(DataRange.Standard)] |
|
public static int Bool_set_Indexer_Indirect(ref float4 vec) |
|
{ |
|
bool4 result = false; |
|
for (int i = 0; i < 4; i++) |
|
{ |
|
result[i] = CheckVector(vec[i]); |
|
} |
|
|
|
return Vectors.ConvertToInt(result); |
|
} |
|
|
|
public static bool CheckVector(float value) |
|
{ |
|
return value < 10.0f; |
|
} |
|
} |
|
} |