예제 #1
0
        private void CalculateDewPoint()
        {
            var relativeHumidity = Humidity;
            var temperatureInF   = Temperature;

            var temperatureInC = (temperatureInF - 32.0m) * 5.0m / 9.0m;

            var vaporPressure = relativeHumidity * 0.01m * 6.112m * DecimalEx.Exp(17.62m * temperatureInC / (temperatureInC + 243.12m));
            var numerator     = 243.12m * DecimalEx.Log(vaporPressure) - 440.1m;
            var denominator   = 19.43m - DecimalEx.Log(vaporPressure);
            var dewPointInC   = numerator / denominator;

            DewPoint = dewPointInC * 9.0m / 5.0m + 32.0m;
        }
예제 #2
0
 public void Test(decimal d, decimal expected, decimal tolerance)
 {
     tolerance = Helper.GetScaledTolerance(expected, (int)tolerance, true);
     Assert.That(DecimalEx.Exp(d), Is.EqualTo(expected).Within(tolerance));
 }