[poincare/unit] Added imperial units

The new units are :
  distance    mile, yard, foot, inch
  mass        pound, ounce
  volume      gallon, quart, pint, cup, fluid ounce
              table spoon, tea spoon

Change-Id: I6864067a1822a077764ed3b61fc46004732e9447
This commit is contained in:
Gabriel Ozouf
2020-07-06 16:25:02 +02:00
committed by Émilie Feral
parent ea127cdfa9
commit 4d6682e211
10 changed files with 219 additions and 12 deletions

View File

@@ -117,14 +117,22 @@ const ToolboxMessageTree unitDistanceMeterChildren[] = {
ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceMeterPicoSymbol, I18n::Message::UnitDistanceMeterPico),
};
const ToolboxMessageTree unitDistanceImperialChildren[] = {
ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceMileSymbol, I18n::Message::UnitDistanceMile),
ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceYardSymbol, I18n::Message::UnitDistanceYard),
ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceFootSymbol, I18n::Message::UnitDistanceFoot),
ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceInchSymbol, I18n::Message::UnitDistanceInch),
};
const ToolboxMessageTree unitDistanceChildren[] = {
ToolboxMessageTree::Node(I18n::Message::UnitDistanceMeterMenu, unitDistanceMeterChildren),
ToolboxMessageTree::Node(I18n::Message::UnitImperialMenu, unitDistanceImperialChildren),
ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceAstronomicalUnitSymbol, I18n::Message::UnitDistanceAstronomicalUnit),
ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceLightYearSymbol, I18n::Message::UnitDistanceLightYear),
ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceParsecSymbol, I18n::Message::UnitDistanceParsec)};
ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceParsecSymbol, I18n::Message::UnitDistanceParsec),
};
const ToolboxMessageTree unitMassChildren[] = {
ToolboxMessageTree::Leaf(I18n::Message::UnitMassTonneSymbol, I18n::Message::UnitMassTonne),
const ToolboxMessageTree unitMassGramChildren[] = {
ToolboxMessageTree::Leaf(I18n::Message::UnitMassGramKiloSymbol, I18n::Message::UnitMassGramKilo),
ToolboxMessageTree::Leaf(I18n::Message::UnitMassGramSymbol, I18n::Message::UnitMassGram),
ToolboxMessageTree::Leaf(I18n::Message::UnitMassGramMilliSymbol, I18n::Message::UnitMassGramMilli),
@@ -132,6 +140,17 @@ const ToolboxMessageTree unitMassChildren[] = {
ToolboxMessageTree::Leaf(I18n::Message::UnitMassGramNanoSymbol, I18n::Message::UnitMassGramNano),
};
const ToolboxMessageTree unitMassImperialChildren[] = {
ToolboxMessageTree::Leaf(I18n::Message::UnitMassPoundSymbol, I18n::Message::UnitMassPound),
ToolboxMessageTree::Leaf(I18n::Message::UnitMassOunceSymbol, I18n::Message::UnitMassOunce),
};
const ToolboxMessageTree unitMassChildren[] = {
ToolboxMessageTree::Node(I18n::Message::UnitMassGram, unitMassGramChildren),
ToolboxMessageTree::Node(I18n::Message::UnitImperialMenu, unitMassImperialChildren),
ToolboxMessageTree::Leaf(I18n::Message::UnitMassTonneSymbol, I18n::Message::UnitMassTonne),
};
const ToolboxMessageTree unitCurrentAmpereChildren[] = {
ToolboxMessageTree::Leaf(I18n::Message::UnitCurrentAmpereSymbol, I18n::Message::UnitCurrentAmpere),
ToolboxMessageTree::Leaf(I18n::Message::UnitCurrentAmpereMilliSymbol, I18n::Message::UnitCurrentAmpereMilli),
@@ -228,6 +247,7 @@ const ToolboxMessageTree unitInductanceChildren[] = {
ToolboxMessageTree::Leaf(I18n::Message::UnitInductanceHenrySymbol, I18n::Message::UnitInductanceHenry)};
const ToolboxMessageTree unitSurfaceChildren[] = {
ToolboxMessageTree::Leaf(I18n::Message::UnitSurfaceAcreSymbol, I18n::Message::UnitSurfaceAcre),
ToolboxMessageTree::Leaf(I18n::Message::UnitSurfaceHectarSymbol, I18n::Message::UnitSurfaceHectar)};
const ToolboxMessageTree unitVolumeLiterChildren[] = {
@@ -237,11 +257,26 @@ const ToolboxMessageTree unitVolumeLiterChildren[] = {
ToolboxMessageTree::Leaf(I18n::Message::UnitVolumeLiterMilliSymbol, I18n::Message::UnitVolumeLiterMilli),
};
const ToolboxMessageTree unitVolumeImperialChildren[] = {
ToolboxMessageTree::Leaf(I18n::Message::UnitVolumeGallonSymbol, I18n::Message::UnitVolumeGallon),
ToolboxMessageTree::Leaf(I18n::Message::UnitVolumeQuartSymbol, I18n::Message::UnitVolumeQuart),
ToolboxMessageTree::Leaf(I18n::Message::UnitVolumePintSymbol, I18n::Message::UnitVolumePint),
ToolboxMessageTree::Leaf(I18n::Message::UnitVolumeCupSymbol, I18n::Message::UnitVolumeCup),
ToolboxMessageTree::Leaf(I18n::Message::UnitVolumeFluidOunceSymbol, I18n::Message::UnitVolumeFluidOunce),
ToolboxMessageTree::Leaf(I18n::Message::UnitVolumeTablespoonSymbol, I18n::Message::UnitVolumeTablespoon),
ToolboxMessageTree::Leaf(I18n::Message::UnitVolumeTeaspoonSymbol, I18n::Message::UnitVolumeTeaspoon),
};
const ToolboxMessageTree unitVolumeChildren[] = {
ToolboxMessageTree::Node(I18n::Message::UnitVolumeLiter, unitVolumeLiterChildren),
ToolboxMessageTree::Node(I18n::Message::UnitImperialMenu, unitVolumeImperialChildren),
};
const ToolboxMessageTree unitChildren[] = {
ToolboxMessageTree::Node(I18n::Message::UnitTimeMenu, unitTimeChildren),
ToolboxMessageTree::Node(I18n::Message::UnitDistanceMenu, unitDistanceChildren),
ToolboxMessageTree::Node(I18n::Message::UnitSurfaceMenu, unitSurfaceChildren),
ToolboxMessageTree::Node(I18n::Message::UnitVolumeMenu, unitVolumeLiterChildren),
ToolboxMessageTree::Node(I18n::Message::UnitVolumeMenu, unitVolumeChildren),
ToolboxMessageTree::Node(I18n::Message::UnitMassMenu, unitMassChildren),
ToolboxMessageTree::Node(I18n::Message::UnitCurrentMenu, unitCurrentAmpereChildren),
ToolboxMessageTree::Node(I18n::Message::UnitTemperatureMenu, unitTemperatureChildren),

View File

@@ -14,6 +14,10 @@ UnitDistanceMeterMilliSymbol = "_mm"
UnitDistanceMeterMicroSymbol = "_μm"
UnitDistanceMeterNanoSymbol = "_nm"
UnitDistanceMeterPicoSymbol = "_pm"
UnitDistanceMileSymbol = "_mi"
UnitDistanceYardSymbol = "_yd"
UnitDistanceFootSymbol = "_ft"
UnitDistanceInchSymbol = "_in"
UnitDistanceAstronomicalUnitSymbol = "_au"
UnitDistanceLightYearSymbol = "_ly"
UnitDistanceParsecSymbol = "_pc"
@@ -23,6 +27,9 @@ UnitMassGramMilliSymbol = "_mg"
UnitMassGramMicroSymbol = "_μg"
UnitMassGramNanoSymbol = "_ng"
UnitMassTonneSymbol = "_t"
UnitMassOunceSymbol = "_oz"
UnitMassPoundSymbol = "_lb"
UnitMassShortTonSymbol = "_ton"
UnitCurrentAmpereSymbol = "_A"
UnitCurrentAmpereMilliSymbol = "_mA"
UnitCurrentAmpereMicroSymbol = "_μA"
@@ -69,11 +76,19 @@ UnitConductanceSiemensSymbol = "_S"
UnitConductanceSiemensMilliSymbol = "_mS"
UnitMagneticFieldTeslaSymbol = "_T"
UnitInductanceHenrySymbol = "_H"
UnitSurfaceAcreSymbol = "_acre"
UnitSurfaceHectarSymbol = "_ha"
UnitVolumeLiterSymbol = "_L"
UnitVolumeLiterDeciSymbol = "_dL"
UnitVolumeLiterCentiSymbol = "_cL"
UnitVolumeLiterMilliSymbol = "_mL"
UnitVolumeTeaspoonSymbol = "_tsp"
UnitVolumeTablespoonSymbol = "_Tbsp"
UnitVolumeFluidOunceSymbol = "_floz"
UnitVolumeCupSymbol = "_cp"
UnitVolumePintSymbol = "_pt"
UnitVolumeQuartSymbol = "_qt"
UnitVolumeGallonSymbol = "_gal"
A = "a"
AbsCommandWithArg = "abs(x)"
AcoshCommandWithArg = "acosh(x)"

View File

@@ -22,6 +22,10 @@ UnitDistanceMeterPico = "Pikometer"
UnitDistanceAstronomicalUnit = "Astronomische Einheit"
UnitDistanceLightYear = "Lichtjahr"
UnitDistanceParsec = "Parsec"
UnitDistanceMile = "Mile"
UnitDistanceYard = "Yard"
UnitDistanceFoot = "Foot"
UnitDistanceInch = "Inch"
UnitMassMenu = "Masse"
UnitMassGramKilo = "Kilogramm"
UnitMassGram = "Gramm"
@@ -29,6 +33,9 @@ UnitMassGramMilli = "Milligramm"
UnitMassGramMicro = "Mikrogramm"
UnitMassGramNano = "Nanogramm"
UnitMassTonne = "Tonne"
UnitMassOunce = "Ounce"
UnitMassPound = "Pound"
UnitMassShortTon = "Short Ton"
UnitCurrentMenu = "Elektrischer Strom"
UnitCurrentAmpere = "Ampere"
UnitCurrentAmpereMilli = "Milliampere"
@@ -94,12 +101,21 @@ UnitMagneticFieldTesla = "Tesla"
InductanceMenu = "Elektrische Induktivität"
UnitInductanceHenry = "Henry"
UnitSurfaceMenu = "Fläche"
UnitSurfaceAcre = "Acre"
UnitSurfaceHectar = "Hektar"
UnitVolumeMenu = "Volumen"
UnitVolumeLiter = "Liter"
UnitVolumeLiterDeci = "Deziliter"
UnitVolumeLiterCenti = "Centiliter"
UnitVolumeLiterMilli = "Milliliter"
UnitVolumeTeaspoon = "Teaspoon"
UnitVolumeTablespoon= "Tablespoon"
UnitVolumeFluidOunce = "Fluid Ounce"
UnitVolumeCup = "Cup"
UnitVolumePint = "Pint"
UnitVolumeQuart = "Quart"
UnitVolumeGallon = "Gallon"
UnitImperialMenu = "Imperial"
Toolbox = "Werkzeugkasten"
AbsoluteValue = "Betragsfunktion"
NthRoot = "n-te Wurzel"

View File

@@ -22,6 +22,10 @@ UnitDistanceMeterPico = "Picometer"
UnitDistanceAstronomicalUnit = "Astronomical unit"
UnitDistanceLightYear = "Light year"
UnitDistanceParsec = "Parsec"
UnitDistanceMile = "Mile"
UnitDistanceYard = "Yard"
UnitDistanceFoot = "Foot"
UnitDistanceInch = "Inch"
UnitMassMenu = "Mass"
UnitMassGramKilo = "Kilogram"
UnitMassGram = "Gram"
@@ -29,6 +33,9 @@ UnitMassGramMilli = "Milligram"
UnitMassGramMicro = "Microgram"
UnitMassGramNano = "Nanogram"
UnitMassTonne = "Tonne"
UnitMassOunce = "Ounce"
UnitMassPound = "Pound"
UnitMassShortTon = "Short Ton"
UnitCurrentMenu = "Electric current"
UnitCurrentAmpere = "Ampere"
UnitCurrentAmpereMilli = "Milliampere"
@@ -94,12 +101,21 @@ UnitMagneticFieldTesla = "Tesla"
InductanceMenu = "Electrical inductance"
UnitInductanceHenry = "Henry"
UnitSurfaceMenu = "Area"
UnitSurfaceAcre = "Acre"
UnitSurfaceHectar = "Hectare"
UnitVolumeMenu = "Volume"
UnitVolumeLiter = "Liter"
UnitVolumeLiterDeci = "Deciliter"
UnitVolumeLiterCenti = "Centiliter"
UnitVolumeLiterMilli = "Milliliter"
UnitVolumeTeaspoon = "Teaspoon"
UnitVolumeTablespoon= "Tablespoon"
UnitVolumeFluidOunce = "Fluid Ounce"
UnitVolumeCup = "Cup"
UnitVolumePint = "Pint"
UnitVolumeQuart = "Quart"
UnitVolumeGallon = "Gallon"
UnitImperialMenu = "Imperial"
Toolbox = "Toolbox"
AbsoluteValue = "Absolute value"
NthRoot = "nth-root"

View File

@@ -22,6 +22,10 @@ UnitDistanceMeterPico = "Picometer"
UnitDistanceAstronomicalUnit = "Astronomical unit"
UnitDistanceLightYear = "Light year"
UnitDistanceParsec = "Parsec"
UnitDistanceMile = "Mile"
UnitDistanceYard = "Yard"
UnitDistanceFoot = "Foot"
UnitDistanceInch = "Inch"
UnitMassMenu = "Mass"
UnitMassGramKilo = "Kilogram"
UnitMassGram = "Gram"
@@ -29,6 +33,9 @@ UnitMassGramMilli = "Milligram"
UnitMassGramMicro = "Microgram"
UnitMassGramNano = "Nanogram"
UnitMassTonne = "Tonne"
UnitMassOunce = "Ounce"
UnitMassPound = "Pound"
UnitMassShortTon = "Short Ton"
UnitCurrentMenu = "Electric current"
UnitCurrentAmpere = "Ampere"
UnitCurrentAmpereMilli = "Milliampere"
@@ -94,12 +101,21 @@ UnitMagneticFieldTesla = "Tesla"
InductanceMenu = "Electrical inductance"
UnitInductanceHenry = "Henry"
UnitSurfaceMenu = "Area"
UnitSurfaceAcre = "Acre"
UnitSurfaceHectar = "Hectare"
UnitVolumeMenu = "Volume"
UnitVolumeLiter = "Liter"
UnitVolumeLiterDeci = "Deciliter"
UnitVolumeLiterCenti = "Centiliter"
UnitVolumeLiterMilli = "Milliliter"
UnitVolumeTeaspoon = "Teaspoon"
UnitVolumeTablespoon= "Tablespoon"
UnitVolumeFluidOunce = "Fluid Ounce"
UnitVolumeCup = "Cup"
UnitVolumePint = "Pint"
UnitVolumeQuart = "Quart"
UnitVolumeGallon = "Gallon"
UnitImperialMenu = "Imperial"
Toolbox = "Caja de herramientas"
AbsoluteValue = "Valor absoluto"
NthRoot = "Raíz enesima"

View File

@@ -22,6 +22,10 @@ UnitDistanceMeterPico = "Picomètre"
UnitDistanceAstronomicalUnit = "Unité astronomique"
UnitDistanceLightYear = "Année-lumière"
UnitDistanceParsec = "Parsec"
UnitDistanceMile = "Mile"
UnitDistanceYard = "Yard"
UnitDistanceFoot = "Foot"
UnitDistanceInch = "Inch"
UnitMassMenu = "Masse"
UnitMassGramKilo = "Kilogramme"
UnitMassGram = "Gramme"
@@ -29,6 +33,9 @@ UnitMassGramMilli = "Milligramme"
UnitMassGramMicro = "Microgramme"
UnitMassGramNano = "Nanogramme"
UnitMassTonne = "Tonne"
UnitMassOunce = "Ounce"
UnitMassPound = "Pound"
UnitMassShortTon = "Short Ton"
UnitCurrentMenu = "Intensité du courant électrique"
UnitCurrentAmpere = "Ampère"
UnitCurrentAmpereMilli = "Milliampère"
@@ -94,12 +101,21 @@ UnitMagneticFieldTesla = "Tesla"
InductanceMenu = "Inductance"
UnitInductanceHenry = "Henry"
UnitSurfaceMenu = "Superficie"
UnitSurfaceAcre = "Acre"
UnitSurfaceHectar = "Hectare"
UnitVolumeMenu = "Volume"
UnitVolumeLiter = "Litre"
UnitVolumeLiterDeci = "Décilitre"
UnitVolumeLiterCenti = "Centilitre"
UnitVolumeLiterMilli = "Millilitre"
UnitVolumeTeaspoon = "Teaspoon"
UnitVolumeTablespoon= "Tablespoon"
UnitVolumeFluidOunce = "Fluid Ounce"
UnitVolumeCup = "Cup"
UnitVolumePint = "Pint"
UnitVolumeQuart = "Quart"
UnitVolumeGallon = "Gallon"
UnitImperialMenu = "Imperial"
Toolbox = "Boîte à outils"
AbsoluteValue = "Valeur absolue"
NthRoot = "Racine n-ième"

View File

@@ -22,6 +22,10 @@ UnitDistanceMeterPico = "Picometro"
UnitDistanceAstronomicalUnit = "Unità astronomica"
UnitDistanceLightYear = "Anno luce"
UnitDistanceParsec = "Parsec"
UnitDistanceMile = "Mile"
UnitDistanceYard = "Yard"
UnitDistanceFoot = "Foot"
UnitDistanceInch = "Inch"
UnitMassMenu = "Massa"
UnitMassGramKilo = "Kilogrammo"
UnitMassGram = "Grammo"
@@ -29,6 +33,9 @@ UnitMassGramMilli = "Milligrammo"
UnitMassGramMicro = "Microgrammo"
UnitMassGramNano = "Nanogrammo"
UnitMassTonne = "Tonnellata"
UnitMassOunce = "Ounce"
UnitMassPound = "Pound"
UnitMassShortTon = "Short Ton"
UnitCurrentMenu = "Intensità di corrente elettrica"
UnitCurrentAmpere = "Ampere"
UnitCurrentAmpereMilli = "Milliampere"
@@ -94,12 +101,21 @@ UnitMagneticFieldTesla = "Tesla"
InductanceMenu = "Induttanza"
UnitInductanceHenry = "Henry"
UnitSurfaceMenu = "Superficie"
UnitSurfaceAcre = "Acre"
UnitSurfaceHectar = "Ettaro"
UnitVolumeMenu = "Volume"
UnitVolumeLiter = "Litro"
UnitVolumeLiterDeci = "Decilitro"
UnitVolumeLiterCenti = "Centilitro"
UnitVolumeLiterMilli = "Millilitro"
UnitVolumeTeaspoon = "Teaspoon"
UnitVolumeTablespoon= "Tablespoon"
UnitVolumeFluidOunce = "Fluid Ounce"
UnitVolumeCup = "Cup"
UnitVolumePint = "Pint"
UnitVolumeQuart = "Quart"
UnitVolumeGallon = "Gallon"
UnitImperialMenu = "Imperial"
Toolbox = "Toolbox"
AbsoluteValue = "Valore assoluto"
NthRoot = "Radice n-esima"

View File

@@ -22,6 +22,10 @@ UnitDistanceMeterPico = "Picometer"
UnitDistanceAstronomicalUnit = "Astronomische eenheid"
UnitDistanceLightYear = "Lichtjaar"
UnitDistanceParsec = "Parsec"
UnitDistanceMile = "Mile"
UnitDistanceYard = "Yard"
UnitDistanceFoot = "Foot"
UnitDistanceInch = "Inch"
UnitMassMenu = "Massa"
UnitMassGramKilo = "Kilogram"
UnitMassGram = "Gram"
@@ -29,6 +33,9 @@ UnitMassGramMilli = "Milligram"
UnitMassGramMicro = "Microgram"
UnitMassGramNano = "Nanogram"
UnitMassTonne = "Ton"
UnitMassOunce = "Ounce"
UnitMassPound = "Pound"
UnitMassShortTon = "Short Ton"
UnitCurrentMenu = "Elektrische stroom"
UnitCurrentAmpere = "Ampère"
UnitCurrentAmpereMilli = "Milliampère"
@@ -94,12 +101,21 @@ UnitMagneticFieldTesla = "Tesla"
InductanceMenu = "Zelfinductie"
UnitInductanceHenry = "Henry"
UnitSurfaceMenu = "Oppervlakte"
UnitSurfaceAcre = "Acre"
UnitSurfaceHectar = "Hectare"
UnitVolumeMenu = "Volume"
UnitVolumeLiter = "Liter"
UnitVolumeLiterDeci = "Deciliter"
UnitVolumeLiterCenti = "Centiliter"
UnitVolumeLiterMilli = "Milliliter"
UnitVolumeTeaspoon = "Teaspoon"
UnitVolumeTablespoon= "Tablespoon"
UnitVolumeFluidOunce = "Fluid Ounce"
UnitVolumeCup = "Cup"
UnitVolumePint = "Pint"
UnitVolumeQuart = "Quart"
UnitVolumeGallon = "Gallon"
UnitImperialMenu = "Imperial"
Toolbox = "Toolbox"
AbsoluteValue = "Absolute waarde"
NthRoot = "n-de-machtswortel"

View File

@@ -22,6 +22,10 @@ UnitDistanceMeterPico = "Picómetro"
UnitDistanceAstronomicalUnit = "Unidade astronómica"
UnitDistanceLightYear = "Ano-luz"
UnitDistanceParsec = "Parsec"
UnitDistanceMile = "Mile"
UnitDistanceYard = "Yard"
UnitDistanceFoot = "Foot"
UnitDistanceInch = "Inch"
UnitMassMenu = "Massa"
UnitMassGramKilo = "Quilograma"
UnitMassGram = "Grama"
@@ -29,6 +33,9 @@ UnitMassGramMilli = "Miligrama"
UnitMassGramMicro = "Micrograma"
UnitMassGramNano = "Nanograma"
UnitMassTonne = "Tonelada"
UnitMassOunce = "Ounce"
UnitMassPound = "Pound"
UnitMassShortTon = "Short Ton"
UnitCurrentMenu = "Intensidade da corrente elétrica"
UnitCurrentAmpere = "Ampere"
UnitCurrentAmpereMilli = "Miliampere"
@@ -94,12 +101,21 @@ UnitMagneticFieldTesla = "Tesla"
InductanceMenu = "Indutância"
UnitInductanceHenry = "Henry"
UnitSurfaceMenu = "Área"
UnitSurfaceAcre = "Acre"
UnitSurfaceHectar = "Hectare"
UnitVolumeMenu = "Volume"
UnitVolumeLiter = "Litro"
UnitVolumeLiterDeci = "Decilitro"
UnitVolumeLiterCenti = "Centilitro"
UnitVolumeLiterMilli = "Mililitro"
UnitVolumeTeaspoon = "Teaspoon"
UnitVolumeTablespoon= "Tablespoon"
UnitVolumeFluidOunce = "Fluid Ounce"
UnitVolumeCup = "Cup"
UnitVolumePint = "Pint"
UnitVolumeQuart = "Quart"
UnitVolumeGallon = "Gallon"
UnitImperialMenu = "Imperial"
Toolbox = "Caixa de ferramentas"
AbsoluteValue = "Valor absoluto"
NthRoot = "Raiz de índice n"

View File

@@ -285,32 +285,53 @@ public:
NoPrefix),
},
DistanceRepresentatives[] = {
Representative("m", nullptr,
Representative("m", nullptr,
Representative::Prefixable::Yes,
LongScalePrefixes),
Representative("au", "149597870700*_m",
Representative::Prefixable::No,
NoPrefix),
Representative("ly", "299792458*_m/_s*_year",
Representative("ly", "299792458*_m/_s*_year",
Representative::Prefixable::No,
NoPrefix),
Representative("pc", "180*60*60/π*_au",
Representative("pc", "180*60*60/π*_au",
Representative::Prefixable::No,
NoPrefix),
Representative("in", "0.0254*_m",
Representative::Prefixable::No,
NoPrefix),
Representative("ft", "12*_in",
Representative::Prefixable::No,
NoPrefix),
Representative("yd", "3*_ft",
Representative::Prefixable::No,
NoPrefix),
Representative("mi", "1760*_yd",
Representative::Prefixable::No,
NoPrefix),
},
MassRepresentatives[] = {
Representative("kg", nullptr,
Representative("kg", nullptr,
Representative::Prefixable::No,
NoPrefix),
Representative("g", "0.001_kg",
Representative("g", "0.001_kg",
Representative::Prefixable::Yes,
NegativeLongScalePrefixes),
Representative("t", "1000_kg",
Representative("t", "1000_kg",
Representative::Prefixable::Yes,
NoPrefix),
Representative("Da", "(6.02214076*10^23*1000)^-1*_kg",
Representative("Da", "(6.02214076*10^23*1000)^-1*_kg",
Representative::Prefixable::Yes,
NoPrefix),
Representative("oz", "0.028349523125*_kg",
Representative::Prefixable::No,
NoPrefix),
Representative("lb", "16*_oz",
Representative::Prefixable::No,
NoPrefix),
Representative("ton", "2000*_lb",
Representative::Prefixable::No,
NoPrefix),
},
CurrentRepresentatives[] = {
Representative("A", nullptr,
@@ -415,11 +436,35 @@ public:
Representative("ha", "10^4*_m^2",
Representative::Prefixable::No,
NoPrefix),
Representative("acre", "43560*_ft^2",
Representative::Prefixable::No,
NoPrefix),
},
VolumeRepresentatives[] = {
Representative("L", "10^-3*_m^3",
Representative("L", "10^-3*_m^3",
Representative::Prefixable::Yes,
NegativePrefixes),
Representative("tsp", "4.92892159375*_mL",
Representative::Prefixable::No,
NoPrefix),
Representative("Tbsp", "3*_tsp",
Representative::Prefixable::No,
NoPrefix),
Representative("floz", "0.0295735295625*_L",
Representative::Prefixable::No,
NoPrefix),
Representative("cp", "8*_floz",
Representative::Prefixable::No,
NoPrefix),
Representative("pt", "2*_cp",
Representative::Prefixable::No,
NoPrefix),
Representative("qt", "4*_cp",
Representative::Prefixable::No,
NoPrefix),
Representative("gal", "4*_qt",
Representative::Prefixable::No,
NoPrefix),
};
// TODO: find a better way to define these pointers
static_assert(sizeof(TimeRepresentatives)/sizeof(Representative) == 7, "The Unit::SecondRepresentative, Unit::HourRepresentative and so on might require to be fixed if the TimeRepresentatives table was changed.");