more unit fallout
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
8b8b86bb66
commit
e8c7a6541b
|
|
@ -42,7 +42,7 @@ public:
|
|||
void operator=(const Unit &unit);
|
||||
float scale() const { return scale_; }
|
||||
void setScale(float scale);
|
||||
const char *scaleAbbreviation() const;
|
||||
std::string scaleAbbreviation() const;
|
||||
const char *suffix() const { return suffix_.c_str(); }
|
||||
// scale abbreviation + suffix
|
||||
const char *scaledSuffix() const { return scaled_suffix_.c_str(); }
|
||||
|
|
|
|||
|
|
@ -87,27 +87,27 @@ Unit::setScale(float scale)
|
|||
setScaledSuffix();
|
||||
}
|
||||
|
||||
const char *
|
||||
std::string
|
||||
Unit::scaleAbbreviation() const
|
||||
{
|
||||
if (fuzzyEqual(scale_, 1E+6))
|
||||
return "M";
|
||||
return "1M";
|
||||
else if (fuzzyEqual(scale_, 1E+3))
|
||||
return "k";
|
||||
return "1k";
|
||||
if (fuzzyEqual(scale_, 1.0))
|
||||
return "";
|
||||
return "1";
|
||||
else if (fuzzyEqual(scale_, 1E-3))
|
||||
return "m";
|
||||
return "1m";
|
||||
else if (fuzzyEqual(scale_, 1E-6))
|
||||
return "u";
|
||||
return "1u";
|
||||
else if (fuzzyEqual(scale_, 1E-9))
|
||||
return "n";
|
||||
return "1n";
|
||||
else if (fuzzyEqual(scale_, 1E-12))
|
||||
return "p";
|
||||
return "1p";
|
||||
else if (fuzzyEqual(scale_, 1E-15))
|
||||
return "f";
|
||||
return "1f";
|
||||
else
|
||||
return "?";
|
||||
return stdstrPrint("%.1e", scale_);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ define_cmd_args "report_units" {}
|
|||
proc report_units { args } {
|
||||
check_argc_eq0 "report_units" $args
|
||||
foreach unit {"time" "capacitance" "resistance" "voltage" "current" "power" "distance"} {
|
||||
report_line " $unit 1[unit_scaled_suffix $unit]"
|
||||
report_line " $unit [unit_scaled_suffix $unit]"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -167,7 +167,7 @@ proc set_unit_values { unit key suffix key_var } {
|
|||
set arg_suffix [string range $value end-[expr $suffix_length - 1] end]
|
||||
if { [string match -nocase $arg_suffix $suffix] } {
|
||||
set arg_prefix [string range $value 0 end-$suffix_length]
|
||||
if { [regexp "^(10*\.?0*)?(\[Mkmunpf\])?$" $arg_prefix ignore mult prefix] } {
|
||||
if { [regexp "^(10*\\\.?0*)?(\[Mkmunpf\])?$" $arg_prefix ignore mult prefix] } {
|
||||
#puts "$arg_prefix '$mult' '$prefix'"
|
||||
if { $mult == "" } {
|
||||
set mult 1
|
||||
|
|
|
|||
|
|
@ -415,7 +415,7 @@ set_cmd_unit_suffix(const char *unit_name,
|
|||
}
|
||||
}
|
||||
|
||||
const char *
|
||||
std::string
|
||||
unit_scale_abbreviation (const char *unit_name)
|
||||
{
|
||||
Unit *unit = Sta::sta()->units()->find(unit_name);
|
||||
|
|
|
|||
Loading…
Reference in New Issue