Unit System
LouLib provides unit classes and methods for doing unit conversions and dimensional analysis
Using Units
Creating a new quantity
A quantity can be created by multiplying the desired amount by the desired unit:
//create a length of 5 meters
LouLib::Units::Length length = 5.0 * LouLib::Units::METER;
When declaring a new quantity, string literals can also be used to declare the desired unit. However, string literals can only be used when the desired amount is not a variable. The following code does the same thing as the above code:
//create a length of 5 meters
LouLib::Units::Length length = 5.0_m;
A full list of units and their corresponding string literals can be found near the bottom of this page.
Performing unit conversions
Unit conversions can be performed using the to
method:
//create a length of one foot
LouLib::Units::Length length = 1_ft;
//convert to inches and centimeters
double lengthInInches = length.to(LouLib::Units::INCH);
double lengthInCentimeters = length.to(LouLib::Units::CENTIMETER);
After running the example above, the value of lengthInInches
should be 12, and the
value of lengthInCentimeters
should be 0.3048.
Dimensional analysis
List of Units
Quantity Type |
Unit Name |
String Literal |
---|---|---|
Length |
METER |
_m |
DECIMETER |
_dm |
|
CENTIMETER |
_cm |
|
MILLIMETER |
_mm |
|
INCH |
_in |
|
FOOT |
_ft |
|
YARD |
_yd |
|
TILE |
_tl |
|
Mass |
KILOGRAM |
_kg |
HECTOGRAM |
_hg |
|
DECAGRAM |
_dag |
|
GRAM |
_g |
|
OUNCE |
_oz |
|
POUND |
_lb |
|
Time |
SECOND |
_s |
DECISECOND |
_ds |
|
CENTISECOND |
_cs |
|
MILLISECOND |
_ms |
|
MINUTE |
_min |
|
HOUR |
_hr |
|
Current |
AMPERE |
_A |
KILOAMPERE |
_kA |
|
HECTOAMPERE |
_hA |
|
DECAAMPERE |
_daA |
|
DECIAMPERE |
_dA |
|
CENTIAMPERE |
_cA |
|
MILLIAMPERE |
_mA |
|
Temperature |
KELVIN |
_K |
Substance |
MOLE |
_mol |
Luminosity |
CANDELA |
_cd |
Angle |
RADIAN |
_rad |
DEGREE |
_deg |
|
DECIDEGREE |
_ddeg |
|
CENTIDEGREE |
_cdeg |
|
Area |
SQUARE_METER |
_m2 |
SQUARE_DECIMETER |
_dm2 |
|
SQUARE_CENTIMETER |
_cm2 |
|
SQUARE_MILLIMETER |
_mm2 |
|
SQUARE_INCH |
_in2 |
|
SQUARE_FOOT |
_ft2 |
|
SQUARE_YARD |
_yd2 |
|
SQUARE_TILE |
_tl2 |
|
Volume |
CUBIC_METER |
_m3 |
CUBIC_DECIMETER |
_dm3 |
|
CUBIC_CENTIMETER |
_cm3 |
|
CUBIC_MILLIMETER |
_mm3 |
|
CUBIC_INCH |
_in3 |
|
CUBIC_FOOT |
_ft3 |
|
CUBIC_YARD |
_yd3 |
|
CUBIC_TILE |
_tl3 |
|
Velocity |
METER_PER_SECOND |
_mps |
FOOT_PER_SECOND |
_fps |
|
Acceleration |
METER_PER_SECOND_SQUARED |
_mps2 |
Jerk |
METER_PER_SECOND_CUBED |
_mps3 |
Angular Velocity |
RADIAN_PER_SECOND |
_radps |
DEGREE_PER_SECOND |
_degps |
|
Angular Acceleration |
RADIAN_PER_SECOND_SQUARED |
_radps2 |
DEGREE_PER_SECOND_SQUARED |
_degps2 |
|
Angular Jerk |
RADIAN_PER_SECOND_CUBED |
_radps3 |
DEGREE_PER_SECOND_CUBED |
_degps3 |
|
Force |
NEWTON |
_newton |
Torque |
NEWTON_METER |
_Nm |