Skip to content

Commit a9a20ff

Browse files
zykovaa-eplanangularsen
authored andcommitted
Extend quantities by some SI prefix (#570)
* Extend magnetic field by nano, micro and milli tesla * Extend electrical inductance by nano, micro, milli henry * Exten capacitance by pico, nano, micro and milli farad * Extend eletric resistance by gigaohm * Extend Pressure by Giga pascal * Extend amoutof substance by megamol
1 parent f5c256d commit a9a20ff

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+768
-6
lines changed

Common/GeneratedCode/Quantities/AmountOfSubstance.Common.g.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,11 @@ public static BaseDimensions BaseDimensions
191191
/// </summary>
192192
public double KilopoundMoles => As(AmountOfSubstanceUnit.KilopoundMole);
193193

194+
/// <summary>
195+
/// Get AmountOfSubstance in Megamoles.
196+
/// </summary>
197+
public double Megamoles => As(AmountOfSubstanceUnit.Megamole);
198+
194199
/// <summary>
195200
/// Get AmountOfSubstance in Micromoles.
196201
/// </summary>
@@ -324,6 +329,20 @@ public static AmountOfSubstance FromKilopoundMoles(QuantityValue kilopoundmoles)
324329
return new AmountOfSubstance(value, AmountOfSubstanceUnit.KilopoundMole);
325330
}
326331

332+
/// <summary>
333+
/// Get AmountOfSubstance from Megamoles.
334+
/// </summary>
335+
#if WINDOWS_UWP
336+
[Windows.Foundation.Metadata.DefaultOverload]
337+
public static AmountOfSubstance FromMegamoles(double megamoles)
338+
#else
339+
public static AmountOfSubstance FromMegamoles(QuantityValue megamoles)
340+
#endif
341+
{
342+
double value = (double) megamoles;
343+
return new AmountOfSubstance(value, AmountOfSubstanceUnit.Megamole);
344+
}
345+
327346
/// <summary>
328347
/// Get AmountOfSubstance from Micromoles.
329348
/// </summary>
@@ -614,6 +633,7 @@ private double AsBaseUnit()
614633
case AmountOfSubstanceUnit.DecipoundMole: return (_value*453.59237) * 1e-1d;
615634
case AmountOfSubstanceUnit.Kilomole: return (_value) * 1e3d;
616635
case AmountOfSubstanceUnit.KilopoundMole: return (_value*453.59237) * 1e3d;
636+
case AmountOfSubstanceUnit.Megamole: return (_value) * 1e6d;
617637
case AmountOfSubstanceUnit.Micromole: return (_value) * 1e-6d;
618638
case AmountOfSubstanceUnit.MicropoundMole: return (_value*453.59237) * 1e-6d;
619639
case AmountOfSubstanceUnit.Millimole: return (_value) * 1e-3d;
@@ -642,6 +662,7 @@ private double AsBaseNumericType(AmountOfSubstanceUnit unit)
642662
case AmountOfSubstanceUnit.DecipoundMole: return (baseUnitValue/453.59237) / 1e-1d;
643663
case AmountOfSubstanceUnit.Kilomole: return (baseUnitValue) / 1e3d;
644664
case AmountOfSubstanceUnit.KilopoundMole: return (baseUnitValue/453.59237) / 1e3d;
665+
case AmountOfSubstanceUnit.Megamole: return (baseUnitValue) / 1e6d;
645666
case AmountOfSubstanceUnit.Micromole: return (baseUnitValue) / 1e-6d;
646667
case AmountOfSubstanceUnit.MicropoundMole: return (baseUnitValue/453.59237) / 1e-6d;
647668
case AmountOfSubstanceUnit.Millimole: return (baseUnitValue) / 1e-3d;

Common/GeneratedCode/Quantities/Capacitance.Common.g.cs

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,26 @@ public static BaseDimensions BaseDimensions
166166
/// </summary>
167167
public double Farads => As(CapacitanceUnit.Farad);
168168

169+
/// <summary>
170+
/// Get Capacitance in Microfarads.
171+
/// </summary>
172+
public double Microfarads => As(CapacitanceUnit.Microfarad);
173+
174+
/// <summary>
175+
/// Get Capacitance in Millifarads.
176+
/// </summary>
177+
public double Millifarads => As(CapacitanceUnit.Millifarad);
178+
179+
/// <summary>
180+
/// Get Capacitance in Nanofarads.
181+
/// </summary>
182+
public double Nanofarads => As(CapacitanceUnit.Nanofarad);
183+
184+
/// <summary>
185+
/// Get Capacitance in Picofarads.
186+
/// </summary>
187+
public double Picofarads => As(CapacitanceUnit.Picofarad);
188+
169189
#endregion
170190

171191
#region Static
@@ -189,6 +209,62 @@ public static Capacitance FromFarads(QuantityValue farads)
189209
return new Capacitance(value, CapacitanceUnit.Farad);
190210
}
191211

212+
/// <summary>
213+
/// Get Capacitance from Microfarads.
214+
/// </summary>
215+
#if WINDOWS_UWP
216+
[Windows.Foundation.Metadata.DefaultOverload]
217+
public static Capacitance FromMicrofarads(double microfarads)
218+
#else
219+
public static Capacitance FromMicrofarads(QuantityValue microfarads)
220+
#endif
221+
{
222+
double value = (double) microfarads;
223+
return new Capacitance(value, CapacitanceUnit.Microfarad);
224+
}
225+
226+
/// <summary>
227+
/// Get Capacitance from Millifarads.
228+
/// </summary>
229+
#if WINDOWS_UWP
230+
[Windows.Foundation.Metadata.DefaultOverload]
231+
public static Capacitance FromMillifarads(double millifarads)
232+
#else
233+
public static Capacitance FromMillifarads(QuantityValue millifarads)
234+
#endif
235+
{
236+
double value = (double) millifarads;
237+
return new Capacitance(value, CapacitanceUnit.Millifarad);
238+
}
239+
240+
/// <summary>
241+
/// Get Capacitance from Nanofarads.
242+
/// </summary>
243+
#if WINDOWS_UWP
244+
[Windows.Foundation.Metadata.DefaultOverload]
245+
public static Capacitance FromNanofarads(double nanofarads)
246+
#else
247+
public static Capacitance FromNanofarads(QuantityValue nanofarads)
248+
#endif
249+
{
250+
double value = (double) nanofarads;
251+
return new Capacitance(value, CapacitanceUnit.Nanofarad);
252+
}
253+
254+
/// <summary>
255+
/// Get Capacitance from Picofarads.
256+
/// </summary>
257+
#if WINDOWS_UWP
258+
[Windows.Foundation.Metadata.DefaultOverload]
259+
public static Capacitance FromPicofarads(double picofarads)
260+
#else
261+
public static Capacitance FromPicofarads(QuantityValue picofarads)
262+
#endif
263+
{
264+
double value = (double) picofarads;
265+
return new Capacitance(value, CapacitanceUnit.Picofarad);
266+
}
267+
192268

193269
/// <summary>
194270
/// Dynamically convert from value and unit enum <see cref="CapacitanceUnit" /> to <see cref="Capacitance" />.
@@ -362,6 +438,10 @@ private double AsBaseUnit()
362438
switch(Unit)
363439
{
364440
case CapacitanceUnit.Farad: return _value;
441+
case CapacitanceUnit.Microfarad: return (_value) * 1e-6d;
442+
case CapacitanceUnit.Millifarad: return (_value) * 1e-3d;
443+
case CapacitanceUnit.Nanofarad: return (_value) * 1e-9d;
444+
case CapacitanceUnit.Picofarad: return (_value) * 1e-12d;
365445
default:
366446
throw new NotImplementedException($"Can not convert {Unit} to base units.");
367447
}
@@ -377,6 +457,10 @@ private double AsBaseNumericType(CapacitanceUnit unit)
377457
switch(unit)
378458
{
379459
case CapacitanceUnit.Farad: return baseUnitValue;
460+
case CapacitanceUnit.Microfarad: return (baseUnitValue) / 1e-6d;
461+
case CapacitanceUnit.Millifarad: return (baseUnitValue) / 1e-3d;
462+
case CapacitanceUnit.Nanofarad: return (baseUnitValue) / 1e-9d;
463+
case CapacitanceUnit.Picofarad: return (baseUnitValue) / 1e-12d;
380464
default:
381465
throw new NotImplementedException($"Can not convert {Unit} to {unit}.");
382466
}

Common/GeneratedCode/Quantities/ElectricInductance.Common.g.cs

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,21 @@ public static BaseDimensions BaseDimensions
166166
/// </summary>
167167
public double Henries => As(ElectricInductanceUnit.Henry);
168168

169+
/// <summary>
170+
/// Get ElectricInductance in Microhenries.
171+
/// </summary>
172+
public double Microhenries => As(ElectricInductanceUnit.Microhenry);
173+
174+
/// <summary>
175+
/// Get ElectricInductance in Millihenries.
176+
/// </summary>
177+
public double Millihenries => As(ElectricInductanceUnit.Millihenry);
178+
179+
/// <summary>
180+
/// Get ElectricInductance in Nanohenries.
181+
/// </summary>
182+
public double Nanohenries => As(ElectricInductanceUnit.Nanohenry);
183+
169184
#endregion
170185

171186
#region Static
@@ -189,6 +204,48 @@ public static ElectricInductance FromHenries(QuantityValue henries)
189204
return new ElectricInductance(value, ElectricInductanceUnit.Henry);
190205
}
191206

207+
/// <summary>
208+
/// Get ElectricInductance from Microhenries.
209+
/// </summary>
210+
#if WINDOWS_UWP
211+
[Windows.Foundation.Metadata.DefaultOverload]
212+
public static ElectricInductance FromMicrohenries(double microhenries)
213+
#else
214+
public static ElectricInductance FromMicrohenries(QuantityValue microhenries)
215+
#endif
216+
{
217+
double value = (double) microhenries;
218+
return new ElectricInductance(value, ElectricInductanceUnit.Microhenry);
219+
}
220+
221+
/// <summary>
222+
/// Get ElectricInductance from Millihenries.
223+
/// </summary>
224+
#if WINDOWS_UWP
225+
[Windows.Foundation.Metadata.DefaultOverload]
226+
public static ElectricInductance FromMillihenries(double millihenries)
227+
#else
228+
public static ElectricInductance FromMillihenries(QuantityValue millihenries)
229+
#endif
230+
{
231+
double value = (double) millihenries;
232+
return new ElectricInductance(value, ElectricInductanceUnit.Millihenry);
233+
}
234+
235+
/// <summary>
236+
/// Get ElectricInductance from Nanohenries.
237+
/// </summary>
238+
#if WINDOWS_UWP
239+
[Windows.Foundation.Metadata.DefaultOverload]
240+
public static ElectricInductance FromNanohenries(double nanohenries)
241+
#else
242+
public static ElectricInductance FromNanohenries(QuantityValue nanohenries)
243+
#endif
244+
{
245+
double value = (double) nanohenries;
246+
return new ElectricInductance(value, ElectricInductanceUnit.Nanohenry);
247+
}
248+
192249

193250
/// <summary>
194251
/// Dynamically convert from value and unit enum <see cref="ElectricInductanceUnit" /> to <see cref="ElectricInductance" />.
@@ -362,6 +419,9 @@ private double AsBaseUnit()
362419
switch(Unit)
363420
{
364421
case ElectricInductanceUnit.Henry: return _value;
422+
case ElectricInductanceUnit.Microhenry: return (_value) * 1e-6d;
423+
case ElectricInductanceUnit.Millihenry: return (_value) * 1e-3d;
424+
case ElectricInductanceUnit.Nanohenry: return (_value) * 1e-9d;
365425
default:
366426
throw new NotImplementedException($"Can not convert {Unit} to base units.");
367427
}
@@ -377,6 +437,9 @@ private double AsBaseNumericType(ElectricInductanceUnit unit)
377437
switch(unit)
378438
{
379439
case ElectricInductanceUnit.Henry: return baseUnitValue;
440+
case ElectricInductanceUnit.Microhenry: return (baseUnitValue) / 1e-6d;
441+
case ElectricInductanceUnit.Millihenry: return (baseUnitValue) / 1e-3d;
442+
case ElectricInductanceUnit.Nanohenry: return (baseUnitValue) / 1e-9d;
380443
default:
381444
throw new NotImplementedException($"Can not convert {Unit} to {unit}.");
382445
}

Common/GeneratedCode/Quantities/ElectricResistance.Common.g.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,11 @@ public static BaseDimensions BaseDimensions
161161
/// </summary>
162162
public static ElectricResistanceUnit[] Units { get; } = Enum.GetValues(typeof(ElectricResistanceUnit)).Cast<ElectricResistanceUnit>().Except(new ElectricResistanceUnit[]{ ElectricResistanceUnit.Undefined }).ToArray();
163163

164+
/// <summary>
165+
/// Get ElectricResistance in Gigaohms.
166+
/// </summary>
167+
public double Gigaohms => As(ElectricResistanceUnit.Gigaohm);
168+
164169
/// <summary>
165170
/// Get ElectricResistance in Kiloohms.
166171
/// </summary>
@@ -190,6 +195,20 @@ public static BaseDimensions BaseDimensions
190195
/// </summary>
191196
public static ElectricResistance Zero => new ElectricResistance(0, BaseUnit);
192197

198+
/// <summary>
199+
/// Get ElectricResistance from Gigaohms.
200+
/// </summary>
201+
#if WINDOWS_UWP
202+
[Windows.Foundation.Metadata.DefaultOverload]
203+
public static ElectricResistance FromGigaohms(double gigaohms)
204+
#else
205+
public static ElectricResistance FromGigaohms(QuantityValue gigaohms)
206+
#endif
207+
{
208+
double value = (double) gigaohms;
209+
return new ElectricResistance(value, ElectricResistanceUnit.Gigaohm);
210+
}
211+
193212
/// <summary>
194213
/// Get ElectricResistance from Kiloohms.
195214
/// </summary>
@@ -418,6 +437,7 @@ private double AsBaseUnit()
418437
{
419438
switch(Unit)
420439
{
440+
case ElectricResistanceUnit.Gigaohm: return (_value) * 1e9d;
421441
case ElectricResistanceUnit.Kiloohm: return (_value) * 1e3d;
422442
case ElectricResistanceUnit.Megaohm: return (_value) * 1e6d;
423443
case ElectricResistanceUnit.Milliohm: return (_value) * 1e-3d;
@@ -436,6 +456,7 @@ private double AsBaseNumericType(ElectricResistanceUnit unit)
436456

437457
switch(unit)
438458
{
459+
case ElectricResistanceUnit.Gigaohm: return (baseUnitValue) / 1e9d;
439460
case ElectricResistanceUnit.Kiloohm: return (baseUnitValue) / 1e3d;
440461
case ElectricResistanceUnit.Megaohm: return (baseUnitValue) / 1e6d;
441462
case ElectricResistanceUnit.Milliohm: return (baseUnitValue) / 1e-3d;

Common/GeneratedCode/Quantities/MagneticField.Common.g.cs

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,21 @@ public static BaseDimensions BaseDimensions
161161
/// </summary>
162162
public static MagneticFieldUnit[] Units { get; } = Enum.GetValues(typeof(MagneticFieldUnit)).Cast<MagneticFieldUnit>().Except(new MagneticFieldUnit[]{ MagneticFieldUnit.Undefined }).ToArray();
163163

164+
/// <summary>
165+
/// Get MagneticField in Microteslas.
166+
/// </summary>
167+
public double Microteslas => As(MagneticFieldUnit.Microtesla);
168+
169+
/// <summary>
170+
/// Get MagneticField in Milliteslas.
171+
/// </summary>
172+
public double Milliteslas => As(MagneticFieldUnit.Millitesla);
173+
174+
/// <summary>
175+
/// Get MagneticField in Nanoteslas.
176+
/// </summary>
177+
public double Nanoteslas => As(MagneticFieldUnit.Nanotesla);
178+
164179
/// <summary>
165180
/// Get MagneticField in Teslas.
166181
/// </summary>
@@ -175,6 +190,48 @@ public static BaseDimensions BaseDimensions
175190
/// </summary>
176191
public static MagneticField Zero => new MagneticField(0, BaseUnit);
177192

193+
/// <summary>
194+
/// Get MagneticField from Microteslas.
195+
/// </summary>
196+
#if WINDOWS_UWP
197+
[Windows.Foundation.Metadata.DefaultOverload]
198+
public static MagneticField FromMicroteslas(double microteslas)
199+
#else
200+
public static MagneticField FromMicroteslas(QuantityValue microteslas)
201+
#endif
202+
{
203+
double value = (double) microteslas;
204+
return new MagneticField(value, MagneticFieldUnit.Microtesla);
205+
}
206+
207+
/// <summary>
208+
/// Get MagneticField from Milliteslas.
209+
/// </summary>
210+
#if WINDOWS_UWP
211+
[Windows.Foundation.Metadata.DefaultOverload]
212+
public static MagneticField FromMilliteslas(double milliteslas)
213+
#else
214+
public static MagneticField FromMilliteslas(QuantityValue milliteslas)
215+
#endif
216+
{
217+
double value = (double) milliteslas;
218+
return new MagneticField(value, MagneticFieldUnit.Millitesla);
219+
}
220+
221+
/// <summary>
222+
/// Get MagneticField from Nanoteslas.
223+
/// </summary>
224+
#if WINDOWS_UWP
225+
[Windows.Foundation.Metadata.DefaultOverload]
226+
public static MagneticField FromNanoteslas(double nanoteslas)
227+
#else
228+
public static MagneticField FromNanoteslas(QuantityValue nanoteslas)
229+
#endif
230+
{
231+
double value = (double) nanoteslas;
232+
return new MagneticField(value, MagneticFieldUnit.Nanotesla);
233+
}
234+
178235
/// <summary>
179236
/// Get MagneticField from Teslas.
180237
/// </summary>
@@ -361,6 +418,9 @@ private double AsBaseUnit()
361418
{
362419
switch(Unit)
363420
{
421+
case MagneticFieldUnit.Microtesla: return (_value) * 1e-6d;
422+
case MagneticFieldUnit.Millitesla: return (_value) * 1e-3d;
423+
case MagneticFieldUnit.Nanotesla: return (_value) * 1e-9d;
364424
case MagneticFieldUnit.Tesla: return _value;
365425
default:
366426
throw new NotImplementedException($"Can not convert {Unit} to base units.");
@@ -376,6 +436,9 @@ private double AsBaseNumericType(MagneticFieldUnit unit)
376436

377437
switch(unit)
378438
{
439+
case MagneticFieldUnit.Microtesla: return (baseUnitValue) / 1e-6d;
440+
case MagneticFieldUnit.Millitesla: return (baseUnitValue) / 1e-3d;
441+
case MagneticFieldUnit.Nanotesla: return (baseUnitValue) / 1e-9d;
379442
case MagneticFieldUnit.Tesla: return baseUnitValue;
380443
default:
381444
throw new NotImplementedException($"Can not convert {Unit} to {unit}.");

0 commit comments

Comments
 (0)