Files
glitchy-engine-beef/ScriptCore/Math/Vectors/IntVectors.cs
T

57 lines
1.2 KiB
C#

using System;
using GlitchyEngine.Math;
using GlitchyEngine.Math.Attributes;
namespace GlitchyEngine.Math;
/// <summary>
/// Represents a vector with two 32-bit signed integer values.
/// </summary>
[Vector(typeof(int), 2, "int")]
[VectorMath]
[VectorLogic]
[ComparableVector]
[VectorCast(typeof(float2), true)]
[VectorCast(typeof(uint2), true)]
public partial struct int2
{
public static int2 operator ~(int2 value)
{
return new int2(~value.X, ~value.Y);
}
}
/// <summary>
/// Represents a vector with three 32-bit signed integer values.
/// </summary>
[Vector(typeof(int), 3, "int")]
[VectorMath]
[VectorLogic]
[ComparableVector]
[VectorCast(typeof(float3), true)]
[VectorCast(typeof(uint3), true)]
public partial struct int3
{
public static int3 operator ~(int3 value)
{
return new int3(~value.X, ~value.Y, ~value.Z);
}
}
/// <summary>
/// Represents a vector with four 32-bit signed integer values.
/// </summary>
[Vector(typeof(int), 4, "int")]
[VectorMath]
[VectorLogic]
[ComparableVector]
[VectorCast(typeof(float4), true)]
[VectorCast(typeof(uint4), true)]
public partial struct int4
{
public static int4 operator ~(int4 value)
{
return new int4(~value.X, ~value.Y, ~value.Z, ~value.W);
}
}