using System;
using System.IO;
using JetBrains.Annotations;
using NetSerializer;
namespace Robust.Shared.Serialization;
///
/// "Safer" read primitives as an alternative to .
///
internal static class SafePrimitives
{
///
/// Read a float value from the stream, flushing NaNs to zero.
///
[UsedImplicitly]
public static void ReadPrimitive(Stream stream, out float value)
{
Primitives.ReadPrimitive(stream, out float readFloat);
value = float.IsNaN(readFloat) ? 0 : readFloat;
}
///
/// Read a double value from the stream, flushing NaNs to zero.
///
[UsedImplicitly]
public static void ReadPrimitive(Stream stream, out double value)
{
Primitives.ReadPrimitive(stream, out double readDouble);
value = double.IsNaN(readDouble) ? 0 : readDouble;
}
///
/// Read a double value from the stream, flushing NaNs to zero.
///
[UsedImplicitly]
public static void ReadPrimitive(Stream stream, out Half value)
{
Primitives.ReadPrimitive(stream, out Half readDouble);
value = Half.IsNaN(readDouble) ? Half.Zero : readDouble;
}
}