From 4cdfb37e96d0ab29fd0535380c28b318943bb394 Mon Sep 17 00:00:00 2001 From: ig Date: Tue, 20 Jun 2023 10:13:28 +0200 Subject: [PATCH] Add +- operators to AcPower --- csharp/Lib/Units/Composite/AcPhase.cs | 3 +++ csharp/Lib/Units/Composite/AcPower.cs | 10 ++++++++++ csharp/Lib/Units/Power/ActivePower.cs | 3 +++ 3 files changed, 16 insertions(+) diff --git a/csharp/Lib/Units/Composite/AcPhase.cs b/csharp/Lib/Units/Composite/AcPhase.cs index a950ed246..165b9a0fa 100644 --- a/csharp/Lib/Units/Composite/AcPhase.cs +++ b/csharp/Lib/Units/Composite/AcPhase.cs @@ -42,4 +42,7 @@ public sealed class AcPhase }; public static AcPhase Null { get; } = FromVoltageCurrentPhi(0, 0, 0); + + + } \ No newline at end of file diff --git a/csharp/Lib/Units/Composite/AcPower.cs b/csharp/Lib/Units/Composite/AcPower.cs index aacea2ced..b3a518e52 100644 --- a/csharp/Lib/Units/Composite/AcPower.cs +++ b/csharp/Lib/Units/Composite/AcPower.cs @@ -86,5 +86,15 @@ public sealed class AcPower public static AcPower Null { get; } = FromVoltageCurrentPhi(0, 0, 0); + public static AcPower operator +(AcPower left, AcPower right) => FromActiveReactive + ( + left.Active + right.Active, + left.Reactive + right.Reactive + ); + + public static AcPower operator -(AcPower p) => FromActiveReactive(-p.Active, p.Reactive); + + + public override String ToString() => Active.ToString(); // TODO: show all } \ No newline at end of file diff --git a/csharp/Lib/Units/Power/ActivePower.cs b/csharp/Lib/Units/Power/ActivePower.cs index ab9d638c4..92a82b431 100644 --- a/csharp/Lib/Units/Power/ActivePower.cs +++ b/csharp/Lib/Units/Power/ActivePower.cs @@ -11,5 +11,8 @@ public sealed class ActivePower : AcPower public static implicit operator ActivePower(Double d) => new ActivePower(d); public static implicit operator Double(ActivePower d) => d.Value; + + + public static ActivePower operator -(ActivePower d) => -d.Value; }