using InnovEnergy.Lib.SrcGen; using InnovEnergy.Lib.SrcGen.Attributes; using static System.Math; namespace InnovEnergy.Lib.Units; [Generate("HAS_CONSTRUCTOR")][Generate] 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; } }