diff --git a/Src/UnitsNet/GeneratedCode/Area.g.cs b/Src/UnitsNet/GeneratedCode/Area.g.cs
index 462bd32578..3f5a7df7e6 100644
--- a/Src/UnitsNet/GeneratedCode/Area.g.cs
+++ b/Src/UnitsNet/GeneratedCode/Area.g.cs
@@ -80,6 +80,15 @@ public double SquareInches
get { return SquareMeters / 0.00064516; }
}
+ ///
+ /// Get Area in SquareInternationalNauticalMiles.
+ ///
+ /// Example: x = (y - b) / a where x is value in SquareInternationalNauticalMiles and y is value in base unit SquareMeters.
+ public double SquareInternationalNauticalMiles
+ {
+ get { return SquareMeters / 3429904; }
+ }
+
///
/// Get Area in SquareKilometers.
///
@@ -161,6 +170,15 @@ public static Area FromSquareInches(double squareinches)
return new Area(0.00064516 * squareinches);
}
+ ///
+ /// Get Area from SquareInternationalNauticalMiles.
+ ///
+ /// Example: y = ax + b where x is value in SquareInternationalNauticalMiles and y is value in base unit SquareMeters.
+ public static Area FromSquareInternationalNauticalMiles(double squareinternationalnauticalmiles)
+ {
+ return new Area(3429904 * squareinternationalnauticalmiles);
+ }
+
///
/// Get Area from SquareKilometers.
///
@@ -224,6 +242,8 @@ public static Area From(double value, AreaUnit fromUnit)
return FromSquareFeet(value);
case AreaUnit.SquareInch:
return FromSquareInches(value);
+ case AreaUnit.SquareInternationalNauticalMile:
+ return FromSquareInternationalNauticalMiles(value);
case AreaUnit.SquareKilometer:
return FromSquareKilometers(value);
case AreaUnit.SquareMeter:
@@ -373,6 +393,8 @@ public double As(AreaUnit unit)
return SquareFeet;
case AreaUnit.SquareInch:
return SquareInches;
+ case AreaUnit.SquareInternationalNauticalMile:
+ return SquareInternationalNauticalMiles;
case AreaUnit.SquareKilometer:
return SquareKilometers;
case AreaUnit.SquareMeter:
diff --git a/Src/UnitsNet/GeneratedCode/Length.g.cs b/Src/UnitsNet/GeneratedCode/Length.g.cs
index 792b51c78d..2f44e0f600 100644
--- a/Src/UnitsNet/GeneratedCode/Length.g.cs
+++ b/Src/UnitsNet/GeneratedCode/Length.g.cs
@@ -80,6 +80,15 @@ public double Inches
get { return Meters / 0.0254; }
}
+ ///
+ /// Get Length in InternationalNauticalMiles.
+ ///
+ /// Example: x = (y - b) / a where x is value in InternationalNauticalMiles and y is value in base unit Meters.
+ public double InternationalNauticalMiles
+ {
+ get { return Meters / 1852; }
+ }
+
///
/// Get Length in Kilometers.
///
@@ -197,6 +206,15 @@ public static Length FromInches(double inches)
return new Length(0.0254 * inches);
}
+ ///
+ /// Get Length from InternationalNauticalMiles.
+ ///
+ /// Example: y = ax + b where x is value in InternationalNauticalMiles and y is value in base unit Meters.
+ public static Length FromInternationalNauticalMiles(double internationalnauticalmiles)
+ {
+ return new Length(1852 * internationalnauticalmiles);
+ }
+
///
/// Get Length from Kilometers.
///
@@ -296,6 +314,8 @@ public static Length From(double value, LengthUnit fromUnit)
return FromFeet(value);
case LengthUnit.Inch:
return FromInches(value);
+ case LengthUnit.InternationalNauticalMile:
+ return FromInternationalNauticalMiles(value);
case LengthUnit.Kilometer:
return FromKilometers(value);
case LengthUnit.Meter:
@@ -453,6 +473,8 @@ public double As(LengthUnit unit)
return Feet;
case LengthUnit.Inch:
return Inches;
+ case LengthUnit.InternationalNauticalMile:
+ return InternationalNauticalMiles;
case LengthUnit.Kilometer:
return Kilometers;
case LengthUnit.Meter:
diff --git a/Src/UnitsNet/Units/AreaUnit.cs b/Src/UnitsNet/Units/AreaUnit.cs
index 7288b54b2e..48ab55304d 100644
--- a/Src/UnitsNet/Units/AreaUnit.cs
+++ b/Src/UnitsNet/Units/AreaUnit.cs
@@ -10,6 +10,18 @@ public enum AreaUnit
Undefined = 0,
// Metric
+ /*
+ * International Nautical Mile
+ * "Beginning on July 1, 1954, the National Bureau of Standards will use
+ * the international Nautical Mile in lieu of the U.S. Nautical Mil. This deciision, replacint the U.S. Nautical
+ * Mile of 1,853.248 meters (6,080.20 feet) by the International Nautical Mile of 1,852 meters (6,076.10333... feet),
+ * confirms an official agreement between the Secretart of Commerce and the Secretary of Defense to use the
+ * Inernational Nautical Mile within their respective departments." http://physics.nist.gov/Pubs/SP447/app4.pdf
+ */
+ [I18n("en-US", "nmi²")]
+ [I18n("ru-RU", "нмиля²")]
+ [Length(3429904)]
+ SquareInternationalNauticalMile,
[I18n("en-US", "km²")]
[I18n("ru-RU", "км²")]
diff --git a/Src/UnitsNet/Units/LengthUnit.cs b/Src/UnitsNet/Units/LengthUnit.cs
index f3a60cc1e9..b05f835eaa 100644
--- a/Src/UnitsNet/Units/LengthUnit.cs
+++ b/Src/UnitsNet/Units/LengthUnit.cs
@@ -9,6 +9,19 @@ public enum LengthUnit
[I18n("nb-NO", "(ingen)")]
Undefined = 0,
+ /*
+ * International Nautical Mile
+ * "Beginning on July 1, 1954, the National Bureau of Standards will use
+ * the international Nautical Mile in lieu of the U.S. Nautical Mil. This deciision, replacint the U.S. Nautical
+ * Mile of 1,853.248 meters (6,080.20 feet) by the International Nautical Mile of 1,852 meters (6,076.10333... feet),
+ * confirms an official agreement between the Secretart of Commerce and the Secretary of Defense to use the
+ * Inernational Nautical Mile within their respective departments." http://physics.nist.gov/Pubs/SP447/app4.pdf
+ */
+ [I18n("en-US", "nmi")]
+ [I18n("ru-RU", "нмиля")]
+ [Length(1852)]
+ InternationalNauticalMile,
+
[I18n("en-US", "km")]
[I18n("ru-RU", "км")]
[Length(1e3)]
diff --git a/Src/UpgradeLog.htm b/Src/UpgradeLog.htm
new file mode 100644
index 0000000000..98daffed8e
Binary files /dev/null and b/Src/UpgradeLog.htm differ
diff --git a/Tests/GeneratedCode/AreaTestsBase.g.cs b/Tests/GeneratedCode/AreaTestsBase.g.cs
index bd02cdce50..9f1491105f 100644
--- a/Tests/GeneratedCode/AreaTestsBase.g.cs
+++ b/Tests/GeneratedCode/AreaTestsBase.g.cs
@@ -41,6 +41,7 @@ public abstract partial class AreaTestsBase
public abstract double SquareDecimetersInOneSquareMeter { get; }
public abstract double SquareFeetInOneSquareMeter { get; }
public abstract double SquareInchesInOneSquareMeter { get; }
+ public abstract double SquareInternationalNauticalMilesInOneSquareMeter { get; }
public abstract double SquareKilometersInOneSquareMeter { get; }
public abstract double SquareMetersInOneSquareMeter { get; }
public abstract double SquareMilesInOneSquareMeter { get; }
@@ -55,6 +56,7 @@ public void SquareMeterToAreaUnits()
Assert.AreEqual(SquareDecimetersInOneSquareMeter, squaremeter.SquareDecimeters, Delta);
Assert.AreEqual(SquareFeetInOneSquareMeter, squaremeter.SquareFeet, Delta);
Assert.AreEqual(SquareInchesInOneSquareMeter, squaremeter.SquareInches, Delta);
+ Assert.AreEqual(SquareInternationalNauticalMilesInOneSquareMeter, squaremeter.SquareInternationalNauticalMiles, Delta);
Assert.AreEqual(SquareKilometersInOneSquareMeter, squaremeter.SquareKilometers, Delta);
Assert.AreEqual(SquareMetersInOneSquareMeter, squaremeter.SquareMeters, Delta);
Assert.AreEqual(SquareMilesInOneSquareMeter, squaremeter.SquareMiles, Delta);
@@ -69,6 +71,7 @@ public void FromValueAndUnit()
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareDecimeter).SquareDecimeters, Delta);
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareFoot).SquareFeet, Delta);
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareInch).SquareInches, Delta);
+ Assert.AreEqual(1, Area.From(1, AreaUnit.SquareInternationalNauticalMile).SquareInternationalNauticalMiles, Delta);
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareKilometer).SquareKilometers, Delta);
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareMeter).SquareMeters, Delta);
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareMile).SquareMiles, Delta);
@@ -85,6 +88,7 @@ public void As()
Assert.AreEqual(SquareDecimetersInOneSquareMeter, squaremeter.As(AreaUnit.SquareDecimeter), Delta);
Assert.AreEqual(SquareFeetInOneSquareMeter, squaremeter.As(AreaUnit.SquareFoot), Delta);
Assert.AreEqual(SquareInchesInOneSquareMeter, squaremeter.As(AreaUnit.SquareInch), Delta);
+ Assert.AreEqual(SquareInternationalNauticalMilesInOneSquareMeter, squaremeter.As(AreaUnit.SquareInternationalNauticalMile), Delta);
Assert.AreEqual(SquareKilometersInOneSquareMeter, squaremeter.As(AreaUnit.SquareKilometer), Delta);
Assert.AreEqual(SquareMetersInOneSquareMeter, squaremeter.As(AreaUnit.SquareMeter), Delta);
Assert.AreEqual(SquareMilesInOneSquareMeter, squaremeter.As(AreaUnit.SquareMile), Delta);
@@ -100,6 +104,7 @@ public void ConversionRoundTrip()
Assert.AreEqual(1, Area.FromSquareDecimeters(squaremeter.SquareDecimeters).SquareMeters, Delta);
Assert.AreEqual(1, Area.FromSquareFeet(squaremeter.SquareFeet).SquareMeters, Delta);
Assert.AreEqual(1, Area.FromSquareInches(squaremeter.SquareInches).SquareMeters, Delta);
+ Assert.AreEqual(1, Area.FromSquareInternationalNauticalMiles(squaremeter.SquareInternationalNauticalMiles).SquareMeters, Delta);
Assert.AreEqual(1, Area.FromSquareKilometers(squaremeter.SquareKilometers).SquareMeters, Delta);
Assert.AreEqual(1, Area.FromSquareMeters(squaremeter.SquareMeters).SquareMeters, Delta);
Assert.AreEqual(1, Area.FromSquareMiles(squaremeter.SquareMiles).SquareMeters, Delta);
diff --git a/Tests/GeneratedCode/LengthTestsBase.g.cs b/Tests/GeneratedCode/LengthTestsBase.g.cs
index 671789fc1b..3dde56b15f 100644
--- a/Tests/GeneratedCode/LengthTestsBase.g.cs
+++ b/Tests/GeneratedCode/LengthTestsBase.g.cs
@@ -41,6 +41,7 @@ public abstract partial class LengthTestsBase
public abstract double DecimetersInOneMeter { get; }
public abstract double FeetInOneMeter { get; }
public abstract double InchesInOneMeter { get; }
+ public abstract double InternationalNauticalMilesInOneMeter { get; }
public abstract double KilometersInOneMeter { get; }
public abstract double MetersInOneMeter { get; }
public abstract double MicroinchesInOneMeter { get; }
@@ -59,6 +60,7 @@ public void MeterToLengthUnits()
Assert.AreEqual(DecimetersInOneMeter, meter.Decimeters, Delta);
Assert.AreEqual(FeetInOneMeter, meter.Feet, Delta);
Assert.AreEqual(InchesInOneMeter, meter.Inches, Delta);
+ Assert.AreEqual(InternationalNauticalMilesInOneMeter, meter.InternationalNauticalMiles, Delta);
Assert.AreEqual(KilometersInOneMeter, meter.Kilometers, Delta);
Assert.AreEqual(MetersInOneMeter, meter.Meters, Delta);
Assert.AreEqual(MicroinchesInOneMeter, meter.Microinches, Delta);
@@ -77,6 +79,7 @@ public void FromValueAndUnit()
Assert.AreEqual(1, Length.From(1, LengthUnit.Decimeter).Decimeters, Delta);
Assert.AreEqual(1, Length.From(1, LengthUnit.Foot).Feet, Delta);
Assert.AreEqual(1, Length.From(1, LengthUnit.Inch).Inches, Delta);
+ Assert.AreEqual(1, Length.From(1, LengthUnit.InternationalNauticalMile).InternationalNauticalMiles, Delta);
Assert.AreEqual(1, Length.From(1, LengthUnit.Kilometer).Kilometers, Delta);
Assert.AreEqual(1, Length.From(1, LengthUnit.Meter).Meters, Delta);
Assert.AreEqual(1, Length.From(1, LengthUnit.Microinch).Microinches, Delta);
@@ -97,6 +100,7 @@ public void As()
Assert.AreEqual(DecimetersInOneMeter, meter.As(LengthUnit.Decimeter), Delta);
Assert.AreEqual(FeetInOneMeter, meter.As(LengthUnit.Foot), Delta);
Assert.AreEqual(InchesInOneMeter, meter.As(LengthUnit.Inch), Delta);
+ Assert.AreEqual(InternationalNauticalMilesInOneMeter, meter.As(LengthUnit.InternationalNauticalMile), Delta);
Assert.AreEqual(KilometersInOneMeter, meter.As(LengthUnit.Kilometer), Delta);
Assert.AreEqual(MetersInOneMeter, meter.As(LengthUnit.Meter), Delta);
Assert.AreEqual(MicroinchesInOneMeter, meter.As(LengthUnit.Microinch), Delta);
@@ -116,6 +120,7 @@ public void ConversionRoundTrip()
Assert.AreEqual(1, Length.FromDecimeters(meter.Decimeters).Meters, Delta);
Assert.AreEqual(1, Length.FromFeet(meter.Feet).Meters, Delta);
Assert.AreEqual(1, Length.FromInches(meter.Inches).Meters, Delta);
+ Assert.AreEqual(1, Length.FromInternationalNauticalMiles(meter.InternationalNauticalMiles).Meters, Delta);
Assert.AreEqual(1, Length.FromKilometers(meter.Kilometers).Meters, Delta);
Assert.AreEqual(1, Length.FromMeters(meter.Meters).Meters, Delta);
Assert.AreEqual(1, Length.FromMicroinches(meter.Microinches).Meters, Delta);