__float_25
struct __float_25
using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace Windows.Win32
{
internal struct __float_25
{
private const int SpanLength = 25;
internal unsafe fixed float Value[25];
internal int Length {
[IsReadOnly]
get {
return 25;
}
}
[UnscopedRef]
internal unsafe ref float this[int index] {
get {
return ref *(float*)(ref *Value + (long)(IntPtr)(void*)((long)index * 4));
}
}
[UnscopedRef]
internal unsafe Span<float> AsSpan()
{
return MemoryMarshal.CreateSpan(ref *Value, 25);
}
[IsReadOnly]
[UnscopedRef]
internal unsafe ReadOnlySpan<float> AsReadOnlySpan()
{
return MemoryMarshal.CreateReadOnlySpan(ref Unsafe.AsRef(ref *Value), 25);
}
[IsReadOnly]
internal bool Equals(ReadOnlySpan<float> value)
{
return AsReadOnlySpan().SequenceEqual(value);
}
public static implicit operator __float_25(ReadOnlySpan<float> value)
{
Unsafe.SkipInit(out __float_25 value2);
value.CopyTo(value2.AsSpan());
int length = value.Length;
value2.AsSpan().Slice(length, 25 - length).Clear();
return value2;
}
}
}