Innovenergy_trunk/csharp/Lib/Units/Energy.cs

15 lines
558 B
C#
Raw Normal View History

2023-05-24 10:04:01 +00:00
using InnovEnergy.Lib.SrcGen;
using InnovEnergy.Lib.SrcGen.Attributes;
2023-03-08 13:17:39 +00:00
using InnovEnergy.Lib.Time.Unix;
2023-03-08 13:06:39 +00:00
namespace InnovEnergy.Lib.Units;
2023-05-24 10:04:01 +00:00
[Generate<Operators>][Generate<Sum>]
2023-03-08 13:06:39 +00:00
public readonly partial struct Energy
{
public static String Unit => "kWh";
public static String Symbol => "E";
2023-05-04 07:36:30 +00:00
public static ActivePower operator /(Energy energy, TimeSpan timeSpan) => energy.Value * 1000 / timeSpan.TotalHours ;
public static ActivePower operator /(Energy energy, UnixTimeSpan timeSpan) => energy.Value * 3_600_000 / timeSpan.Ticks;
2023-03-08 13:06:39 +00:00
}