Support for Frequency in quantity parser
This commit is contained in:
@@ -726,6 +726,7 @@ App.Units.AngleOfFriction = App.Units.Unit(0,0,0,0,0,0,0,1)
|
||||
App.Units.Density = App.Units.Unit(-3,1)
|
||||
|
||||
App.Units.TimeSpan = App.Units.Unit(0,0,1)
|
||||
App.Units.Frequency = App.Units.Unit(0,0,-1)
|
||||
App.Units.Velocity = App.Units.Unit(1,0,-1)
|
||||
App.Units.Acceleration = App.Units.Unit(1,0,-2)
|
||||
App.Units.Temperature = App.Units.Unit(0,0,0,0,1)
|
||||
|
||||
@@ -248,6 +248,11 @@ Quantity Quantity::KiloMetre (1.0e6 ,Unit(1));
|
||||
|
||||
Quantity Quantity::Liter (1000000.0 ,Unit(3));
|
||||
|
||||
Quantity Quantity::Hertz (1.0 ,Unit(0,0,-1));
|
||||
Quantity Quantity::KiloHertz (1.0e3 ,Unit(0,0,-1));
|
||||
Quantity Quantity::MegaHertz (1.0e6 ,Unit(0,0,-1));
|
||||
Quantity Quantity::GigaHertz (1.0e9 ,Unit(0,0,-1));
|
||||
|
||||
Quantity Quantity::MicroGram (1.0e-9 ,Unit(0,1));
|
||||
Quantity Quantity::MilliGram (1.0e-6 ,Unit(0,1));
|
||||
Quantity Quantity::Gram (1.0e-3 ,Unit(0,1));
|
||||
|
||||
@@ -188,6 +188,11 @@ public:
|
||||
|
||||
static Quantity Liter;
|
||||
|
||||
static Quantity Hertz;
|
||||
static Quantity KiloHertz;
|
||||
static Quantity MegaHertz;
|
||||
static Quantity GigaHertz;
|
||||
|
||||
static Quantity MicroGram;
|
||||
static Quantity MilliGram;
|
||||
static Quantity Gram;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -55,6 +55,11 @@ CGRP '\,'[0-9][0-9][0-9]
|
||||
|
||||
"l" yylval = Quantity::Liter; return UNIT; // Liter dm^3
|
||||
|
||||
"Hz" yylval = Quantity::Hertz; return UNIT; // Hertz
|
||||
"kHz" yylval = Quantity::KiloHertz; return UNIT; // Kilo Hertz
|
||||
"MHz" yylval = Quantity::MegaHertz; return UNIT; // Mega Hertz
|
||||
"GHz" yylval = Quantity::GigaHertz; return UNIT; // Giga Hertz
|
||||
|
||||
"ug" yylval = Quantity::MicroGram; return UNIT; // micro gram
|
||||
"\xC2\xB5g" yylval = Quantity::MicroGram; return UNIT; // micro gram
|
||||
"mg" yylval = Quantity::MilliGram; return UNIT; // milli gram
|
||||
|
||||
@@ -179,6 +179,24 @@ QString UnitsSchemaInternal::schemaTranslate(const Quantity &quant, double &fact
|
||||
unitString = QString::fromLatin1("W/m^2");
|
||||
factor = 1.0;
|
||||
}
|
||||
else if (unit == Unit::Frequency) {
|
||||
if (UnitValue < 1000.0) {
|
||||
unitString = QString::fromLatin1("Hz");
|
||||
factor = 1.0;
|
||||
}
|
||||
else if (UnitValue < 1000000.0) {
|
||||
unitString = QString::fromLatin1("kHz");
|
||||
factor = 1000.0;
|
||||
}
|
||||
else if (UnitValue < 1000000000.0) {
|
||||
unitString = QString::fromLatin1("MHz");
|
||||
factor = 1000000.0;
|
||||
}
|
||||
else {
|
||||
unitString = QString::fromLatin1("GHz");
|
||||
factor = 1000000000.0;
|
||||
}
|
||||
}
|
||||
else if (unit == Unit::Velocity) {
|
||||
unitString = QString::fromLatin1("mm/s");
|
||||
factor = 1.0;
|
||||
|
||||
@@ -186,6 +186,24 @@ QString UnitsSchemaMKS::schemaTranslate(const Quantity &quant, double &factor, Q
|
||||
unitString = QString::fromLatin1("W/m^2");
|
||||
factor = 1.0;
|
||||
}
|
||||
else if (unit == Unit::Frequency) {
|
||||
if (UnitValue < 1000.0) {
|
||||
unitString = QString::fromLatin1("Hz");
|
||||
factor = 1.0;
|
||||
}
|
||||
else if (UnitValue < 1000000.0) {
|
||||
unitString = QString::fromLatin1("kHz");
|
||||
factor = 1000.0;
|
||||
}
|
||||
else if (UnitValue < 1000000000.0) {
|
||||
unitString = QString::fromLatin1("MHz");
|
||||
factor = 1000000.0;
|
||||
}
|
||||
else {
|
||||
unitString = QString::fromLatin1("GHz");
|
||||
factor = 1000000000.0;
|
||||
}
|
||||
}
|
||||
else if (unit == Unit::Velocity) {
|
||||
unitString = QString::fromLatin1("m/s");
|
||||
factor = 1000.0;
|
||||
|
||||
Reference in New Issue
Block a user