FUNCTION string_for_si_unit
(unit : si_unit) : STRING;
LOCAL prefix_string, unit_string: STRING; END_LOCAL;
IF EXISTS(unit.prefix) THEN CASE unit.prefix OF exa : prefix_string := 'E'; peta : prefix_string := 'P'; tera : prefix_string := 'T'; giga : prefix_string := 'G'; mega : prefix_string := 'M'; kilo : prefix_string := 'k'; hecto : prefix_string := 'h'; deca : prefix_string := 'da'; deci : prefix_string := 'd'; centi : prefix_string := 'c'; milli : prefix_string := 'm'; micro : prefix_string := 'u'; nano : prefix_string := 'n'; pico : prefix_string := 'p'; femto : prefix_string := 'f'; atto : prefix_string := 'a'; END_CASE; ELSE prefix_string := ''; END_IF;
CASE unit.name OF metre : unit_string:= 'm'; gram : unit_string := 'g'; second : unit_string := 's'; ampere : unit_string := 'A'; kelvin : unit_string := 'K'; mole : unit_string := 'mol'; candela : unit_string := 'cd'; radian : unit_string := 'rad'; steradian : unit_string := 'sr'; hertz : unit_string := 'Hz'; newton : unit_string := 'N'; pascal : unit_string := 'Pa'; joule : unit_string := 'J'; watt : unit_string := 'W'; coulomb : unit_string := 'C'; volt : unit_string := 'V'; farad : unit_string := 'F'; ohm : unit_string := 'Ohm'; siemens : unit_string := 'S'; weber : unit_string := 'Wb'; tesla : unit_string := 'T'; henry : unit_string := 'H'; degree_Celsius : unit_string := 'Cel'; lumen : unit_string := 'lm'; lux : unit_string := 'lx'; becquerel : unit_string := 'Bq'; gray : unit_string := 'Gy'; sievert : unit_string := 'Sv'; END_CASE;
RETURN(prefix_string + unit_string); END_FUNCTION; -- string_for_si_unit
|