using System;
using System.Runtime.Intrinsics;
namespace Robust.Shared.Maths
{
public static partial class NumericsHelpers
{
#region Constructor & Environment Variables
// Misnomer due to historical reasons.
public const string AvxEnvironmentVariable = "ROBUST_NUMERICS_AVX";
///
/// Whether AVX is enabled.
///
public static readonly bool Vector256Enabled;
static NumericsHelpers()
{
var avxEnabled = Environment.GetEnvironmentVariable(AvxEnvironmentVariable);
Vector256Enabled = Vector256.IsHardwareAccelerated && avxEnabled != null && bool.Parse(avxEnabled);
}
#endregion
#region Utils
///
/// Returns whether the specified array length is valid for loading into 256-bit registers.
///
private static bool LengthValid256Single(int arrayLength)
{
return arrayLength >= 8;
}
#endregion
}
}