Innovenergy_trunk/csharp/Lib/Units/Angle.cs

21 lines
499 B
C#
Raw Normal View History

2023-05-24 10:04:01 +00:00
using InnovEnergy.Lib.SrcGen;
using InnovEnergy.Lib.SrcGen.Attributes;
using static System.Math;
namespace InnovEnergy.Lib.Units;
2023-05-24 10:04:01 +00:00
[Generate<Operators>("HAS_CONSTRUCTOR")][Generate<Sum>]
2023-02-26 14:39:55 +00:00
public readonly partial struct Angle
{
public static String Unit => "rad";
public static String Symbol => "∠";
public Angle(Double value)
{
var modulo = value % Tau; // tau is 2pi
Value = modulo > PI
? modulo - Tau
: modulo;
}
}