using DecimalMath; using InnovEnergy.Lib.Units.Generator; using InnovEnergy.Lib.Utils; namespace InnovEnergy.Lib.Units; [Generate] public readonly partial struct Angle { public static String Unit => "rad"; public static String Symbol => "∠"; public static readonly Angle Pi = new Angle(DecimalEx.Pi); public Angle(Decimal value) { var modulo = value.Modulo(DecimalEx.TwoPi); Value = modulo > DecimalEx.Pi ? modulo - DecimalEx.TwoPi : modulo; } }