From 925e083662da21fbf75daec0227fd1c654ffe023 Mon Sep 17 00:00:00 2001
From: Martin Dippold <Dippold@ivt.tugraz.at>
Date: Mon, 8 Jan 2018 14:05:38 +0100
Subject: [PATCH] * New version number * Rounding of values equalised

---
 CHANGES.md                               |  2 +-
 CSE/Calculation/Signal_identification.vb |  4 +--
 CSE/Calculation/main_calculation_call.vb |  8 +++---
 CSE/GUI/F_Main.vb                        |  2 +-
 CSE/GUI/F_VECTOInput.vb                  | 12 +++------
 CSE/IO/cJob.vb                           | 34 ++++++++++++------------
 CSE/IO/output.vb                         |  2 +-
 CSE/My Project/AssemblyInfo.vb           |  4 +--
 CSE/utils.vb                             |  4 +--
 9 files changed, 34 insertions(+), 38 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 7f16c2c..7b53378 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,6 +1,6 @@
 VECTO-AirDrag: Changes
 ===================
-#### 2017-11-03: v3.1.3 ####
+#### 2017-11-07: v3.1.3 ####
 TUG improvements:
 
   * New version number
diff --git a/CSE/Calculation/Signal_identification.vb b/CSE/Calculation/Signal_identification.vb
index 8a153a1..09671f9 100644
--- a/CSE/Calculation/Signal_identification.vb
+++ b/CSE/Calculation/Signal_identification.vb
@@ -110,12 +110,12 @@ Module Signal_identification
         For i = 1 To MSCOrg.meID.Count - 1
             If Math.Abs(len(i) - MSCOrg.len(i)) > Crt.leng_crit Then
                 If Not headDiff Then logme(9, False, "Length difference between given coordinates and spezified section length in *.csms file!")
-                logme(9, False, "SecID(" & MSCOrg.meID(i) & "), DirID(" & MSCOrg.dID(i) & "), spez. Len(" & MSCOrg.len(i) & "), coord. Len(" & Math.Round(len(i), 2) & ")")
+                logme(9, False, "SecID(" & MSCOrg.meID(i) & "), DirID(" & MSCOrg.dID(i) & "), spez. Len(" & MSCOrg.len(i) & "), coord. Len(" & Math.Round(len(i), 2, MidpointRounding.AwayFromZero) & ")")
                 LenDiff = True
             End If
             If Math.Abs(Head(i) - MSCOrg.head(i)) > Crt.delta_head_max Then
                 If Not HeadDiff Then logme(9, False, "Heading difference between given coordinates and spezified section heading in *.csms file!")
-                logme(9, False, "SecID(" & MSCOrg.meID(i) & "), DirID(" & MSCOrg.dID(i) & "), spez. heading(" & MSCOrg.head(i) & "), coord. Heading(" & Math.Round(Head(i), 2) & ")")
+                logme(9, False, "SecID(" & MSCOrg.meID(i) & "), DirID(" & MSCOrg.dID(i) & "), spez. heading(" & MSCOrg.head(i) & "), coord. Heading(" & Math.Round(Head(i), 2, MidpointRounding.AwayFromZero) & ")")
                 HeadDiff = True
             End If
         Next i
diff --git a/CSE/Calculation/main_calculation_call.vb b/CSE/Calculation/main_calculation_call.vb
index 5716431..b63ed02 100644
--- a/CSE/Calculation/main_calculation_call.vb
+++ b/CSE/Calculation/main_calculation_call.vb
@@ -180,9 +180,9 @@ Public Module main_calculation_call
 
             ' Write the results on the GUI
             logme(7, False, "Results from the calculation")
-            logme(6, False, "average absolute beta HS test: " & Math.Round(Job.beta, 4))
-            logme(6, False, "delta CdxA correction: " & Math.Round(Job.delta_CdxA_beta, 4))
-            logme(6, False, "CdxA(0): " & Math.Round(Job.CdxA0, 4))
+            logme(6, False, "average absolute beta HS test: " & Math.Round(Job.beta, 4, MidpointRounding.AwayFromZero))
+            logme(6, False, "delta CdxA correction: " & Math.Round(Job.delta_CdxA_beta, 4, MidpointRounding.AwayFromZero))
+            logme(6, False, "CdxA(0): " & Math.Round(Job.CdxA0, 4, MidpointRounding.AwayFromZero))
 
             ' Clear the dictionaries
             ErgValuesComp = Nothing
@@ -562,7 +562,7 @@ Public Module main_calculation_call
                         SecCount.ValidSec(j) = True
                     Else
                         If Math.Abs(SecCount.vVeh(i) - SecCount.vVeh(j)) > Crt.v_veh_ave_delta_CAL Then
-                            logme(8, False, format("Deviation of average speeds per heading is to high ({0} km/h) in SecID: {1}! Section is set to invalid", Math.Round(Math.Abs(SecCount.vVeh(i) - SecCount.vVeh(j)), 3), ErgValues(tCompErg.SecID)(i)))
+                            logme(8, False, format("Deviation of average speeds per heading is to high ({0} km/h) in SecID: {1}! Section is set to invalid", Math.Round(Math.Abs(SecCount.vVeh(i) - SecCount.vVeh(j)), 3, MidpointRounding.AwayFromZero), ErgValues(tCompErg.SecID)(i)))
                         End If
 
                         SecCount.ValidSec(i) = False
diff --git a/CSE/GUI/F_Main.vb b/CSE/GUI/F_Main.vb
index 6684440..f545522 100644
--- a/CSE/GUI/F_Main.vb
+++ b/CSE/GUI/F_Main.vb
@@ -237,7 +237,7 @@ Public Class F_Main
         CalibrationState = False
         EvaluationState = False
 
-        Me.TextBoxRBetaMis.Text = Math.Round(Job.beta_ame, 2).ToString
+        Me.TextBoxRBetaMis.Text = Math.Round(Job.beta_ame, 2, MidpointRounding.AwayFromZero)
     End Sub
 
 
diff --git a/CSE/GUI/F_VECTOInput.vb b/CSE/GUI/F_VECTOInput.vb
index 201de1a..a29fb18 100644
--- a/CSE/GUI/F_VECTOInput.vb
+++ b/CSE/GUI/F_VECTOInput.vb
@@ -14,7 +14,7 @@ Public Class F_VECTOInput
         Dim configL As Boolean = True
 
         ' Disable the CdxA box
-        TBCdxA.Text = Math.Round(Job.CdxA0, 4)
+        TBCdxA.Text = Math.Round(Job.CdxA0, 4, MidpointRounding.AwayFromZero)
         TBCdxA.Enabled = False
 
         ' Load the config file
@@ -106,8 +106,6 @@ Public Class F_VECTOInput
         If TBTransR.Text = "" Then
             TBTransR.Text = "0"
         End If
-
-        'TBCdxA.Text = Math.Round(Job.CdxA0, 4) + Convert.ToDouble(TBWorstCase.Text) + Convert.ToDouble(TBTransR.Text)
     End Sub
 
     ' Check the input in TBWorstCase
@@ -135,8 +133,6 @@ Public Class F_VECTOInput
             TBWorstCase.Clear()
             MessageBox.Show("only values between 0 and 0.2 are allowed. Please correct your input.")
             TBWorstCase.Focus()
-            'Else
-            '    TBCdxA.Text = Math.Round(Job.CdxA0, 4) + Convert.ToDouble(TBWorstCase.Text) + Convert.ToDouble(TBTransR.Text)
         End If
     End Sub
 #End Region
@@ -183,9 +179,9 @@ Public Class F_VECTOInput
                     New XElement(tns + "CertificationNumber", VECTOconf.CertNum),
                     New XElement(tns + "Date", XmlConvert.ToString(DateTime.Now, XmlDateTimeSerializationMode.Utc)),
                     New XElement(tns + "AppVersion", "VECTOAirDrag_" + AppVers),
-                    New XElement(tns + "CdxA_0", VECTOconf.CdxA.ToString("F2")),
-                    New XElement(tns + "TransferredCdxA", (VECTOconf.CdxA + VECTOconf.TransfR).ToString("F2")),
-                    New XElement(tns + "DeclaredCdxA", (VECTOconf.CdxA + VECTOconf.TransfR + VECTOconf.WorstCase).ToString("F2"))))
+                    New XElement(tns + "CdxA_0", Math.Round(VECTOconf.CdxA, 2, MidpointRounding.AwayFromZero)),
+                    New XElement(tns + "TransferredCdxA", Math.Round(VECTOconf.CdxA + VECTOconf.TransfR, 2, MidpointRounding.AwayFromZero)),
+                    New XElement(tns + "DeclaredCdxA", Math.Round((VECTOconf.CdxA + VECTOconf.TransfR + VECTOconf.WorstCase), 2, MidpointRounding.AwayFromZero))))
     End Function
 #End Region
 End Class
\ No newline at end of file
diff --git a/CSE/IO/cJob.vb b/CSE/IO/cJob.vb
index 2e4ca7e..23e2232 100644
--- a/CSE/IO/cJob.vb
+++ b/CSE/IO/cJob.vb
@@ -318,23 +318,23 @@ Public Class cJob
     Protected Overrides Sub OnBeforeContentStored()
         Dim b As Object = Me.Body
 
-        b.fv_veh = Math.Round(fv_veh, 3)
-        b.fa_pe = Math.Round(fa_pe, 3)
-        b.fv_pe = Math.Round(fv_pe, 3)
-        b.beta_ame = Math.Round(beta_ame, 2)
-        b.t_amb_LS1 = Math.Round(t_amb_LS1, 3)
-        b.v_avg_LS = Math.Round(v_avg_LS, 3)
-        b.v_avg_HS = Math.Round(v_avg_HS, 3)
-        b.CdxAß_H1 = Math.Round(CdxAß_H1, 5)
-        b.beta_H1 = Math.Round(beta_H1, 5)
-        b.CdxAß_H2 = Math.Round(CdxAß_H2, 5)
-        b.beta_H2 = Math.Round(beta_H2, 5)
-        b.CdxAß = Math.Round(CdxAß, 5)
-        b.beta = Math.Round(beta, 5)
-        b.delta_CdxA_beta = Math.Round(delta_CdxA_beta, 5)
-        b.CdxA0meas = Math.Round(CdxA0meas, 5)
-        b.delta_CdxA_height = Math.Round(delta_CdxA_height, 5)
-        b.CdxA0 = Math.Round(CdxA0, 2)
+        b.fv_veh = Math.Round(fv_veh, 3, MidpointRounding.AwayFromZero)
+        b.fa_pe = Math.Round(fa_pe, 3, MidpointRounding.AwayFromZero)
+        b.fv_pe = Math.Round(fv_pe, 3, MidpointRounding.AwayFromZero)
+        b.beta_ame = Math.Round(beta_ame, 2, MidpointRounding.AwayFromZero)
+        b.t_amb_LS1 = Math.Round(t_amb_LS1, 3, MidpointRounding.AwayFromZero)
+        b.v_avg_LS = Math.Round(v_avg_LS, 3, MidpointRounding.AwayFromZero)
+        b.v_avg_HS = Math.Round(v_avg_HS, 3, MidpointRounding.AwayFromZero)
+        b.CdxAß_H1 = Math.Round(CdxAß_H1, 5, MidpointRounding.AwayFromZero)
+        b.beta_H1 = Math.Round(beta_H1, 5, MidpointRounding.AwayFromZero)
+        b.CdxAß_H2 = Math.Round(CdxAß_H2, 5, MidpointRounding.AwayFromZero)
+        b.beta_H2 = Math.Round(beta_H2, 5, MidpointRounding.AwayFromZero)
+        b.CdxAß = Math.Round(CdxAß, 5, MidpointRounding.AwayFromZero)
+        b.beta = Math.Round(beta, 5, MidpointRounding.AwayFromZero)
+        b.delta_CdxA_beta = Math.Round(delta_CdxA_beta, 5, MidpointRounding.AwayFromZero)
+        b.CdxA0meas = Math.Round(CdxA0meas, 5, MidpointRounding.AwayFromZero)
+        b.delta_CdxA_height = Math.Round(delta_CdxA_height, 5, MidpointRounding.AwayFromZero)
+        b.CdxA0 = Math.Round(CdxA0, 2, MidpointRounding.AwayFromZero)
         b.valid_RRC = valid_RRC
 
         Crt.OnBeforeContentStored_hack()
diff --git a/CSE/IO/output.vb b/CSE/IO/output.vb
index 663b223..1a78692 100644
--- a/CSE/IO/output.vb
+++ b/CSE/IO/output.vb
@@ -248,7 +248,7 @@ Module output
             FileOut.WriteLine("# CdxA(0)meas:" & Prefs.listSep & Job.CdxA0meas & Prefs.listSep & "[m²] average measured CdxA for zero yaw angle")
             FileOut.WriteLine("# delta_CdxA_height:" & Prefs.listSep & Job.delta_CdxA_height & Prefs.listSep & "[m²] correction of CdxA to reference vehicle height")
             FileOut.WriteLine("# delta_CdxA_anemo:" & Prefs.listSep & Crt.delta_CdxA_anemo & Prefs.listSep & "[m²] CdxA influence from anemometer")
-            FileOut.WriteLine("# CdxA(0):" & Prefs.listSep & Math.Round(Job.CdxA0, 2) & Prefs.listSep & "[m²] average CdxA for zero yaw angle")
+            FileOut.WriteLine("# CdxA(0):" & Prefs.listSep & Math.Round(Job.CdxA0, 2, MidpointRounding.AwayFromZero) & Prefs.listSep & "[m²] average CdxA for zero yaw angle")
             FileOut.WriteLine("#")
             FileOut.WriteLine("# Validity criteria:")
             If Job.valid_RRC Then
diff --git a/CSE/My Project/AssemblyInfo.vb b/CSE/My Project/AssemblyInfo.vb
index 5135ab2..0b3b85c 100644
--- a/CSE/My Project/AssemblyInfo.vb	
+++ b/CSE/My Project/AssemblyInfo.vb	
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
 ' übernehmen, indem Sie "*" eingeben:
 ' <Assembly: AssemblyVersion("1.0.*")> 
 
-<Assembly: AssemblyVersion("3.1.3.0")>
-<Assembly: AssemblyFileVersion("3.1.3.0")>
+<Assembly: AssemblyVersion("3.1.4.0")>
+<Assembly: AssemblyFileVersion("3.1.4.0")>
diff --git a/CSE/utils.vb b/CSE/utils.vb
index bc5145f..ae11ec6 100644
--- a/CSE/utils.vb
+++ b/CSE/utils.vb
@@ -310,8 +310,8 @@ Module utils
 
     ' Update the Resultboxes on the GUI
     Public Sub updateResultBoxes()
-        F_Main.TextBoxRVeh.Text = Math.Round(Job.fv_veh, 3).ToString
-        F_Main.TextBoxRAirPos.Text = Math.Round(Job.fv_pe, 3).ToString
+        F_Main.TextBoxRVeh.Text = Math.Round(Job.fv_veh, 3, MidpointRounding.AwayFromZero)
+        F_Main.TextBoxRAirPos.Text = Math.Round(Job.fv_pe, 3, MidpointRounding.AwayFromZero)
     End Sub
 
     ' Definition for the Backgroundworker
-- 
GitLab