43#if defined(__APPLE__) || defined(__FreeBSD__)
49#define UNIT_OVERLOAD_LABEL "Overload"
113 Unit(Unit::UnitType
t = UNIT_COUNTS)
133 bool operator==(
const Unit&
rhs)
134 {
return m_type ==
rhs.m_type; }
136 bool operator!=(
const Unit&
rhs)
137 {
return m_type !=
rhs.m_type; }
139 bool operator!=(UnitType
rhs)
140 {
return m_type !=
rhs; }
145 bool IsLogarithmic();
Definition AcceleratorBuffer.h:204
A unit of measurement, plus conversion to pretty-printed output.
Definition Unit.h:59
static void SetPrintingLocale()
Sets the current locale to the user's selected LC_NUMERIC for printing numbers for display.
Definition Unit.cpp:1495
void GetSIScalingFactor(double num, double &scaleFactor, std::string &prefix) const
Gets the appropriate SI scaling factor for a number.
Definition Unit.cpp:265
Unit operator*(const Unit &rhs)
Multiplies two units and calculates the resulting unit.
Definition Unit.cpp:1420
std::string ToStringLong() const
Converts this unit to a string in long format.
Definition Unit.cpp:142
static char m_decimalSeparator
The decimal separator for pretty-printing in the user's selected locale.
Definition Unit.h:174
static locale_t m_locale
The user's requested locale for display.
Definition Unit.h:165
static void InitializeLocales()
Initialize the locales for pretty-printing and file interchange.
Definition Unit.cpp:1466
std::string ToString() const
Converts this unit to a string.
Definition Unit.cpp:157
Unit operator/(const Unit &rhs)
Divides two units and calculates the resulting unit.
Definition Unit.cpp:1438
void GetUnitSuffix(UnitType type, double num, double &scaleFactor, std::string &prefix, std::string &numprefix, std::string &suffix) const
Gets the suffix for a unit.
Definition Unit.cpp:344
std::string PrettyPrintTabular(double value, int leftdigits=4, int rightdigits=3) const
Prints a value with SI scaling factors in a format suitable for tabular display.
Definition Unit.cpp:762
static locale_t m_defaultLocale
Handle to the "C" locale, used for interchange.
Definition Unit.h:170
std::string PrettyPrintInt64(int64_t value, int sigfigs=-1, bool useDisplayLocale=true) const
Prints a value with SI scaling factors.
Definition Unit.cpp:835
std::string PrettyPrintRange(double pixelMin, double pixelMax, double rangeMin, double rangeMax) const
Prints a value with SI scaling factors and unnecessarily significant sub-pixel digits removed.
Definition Unit.cpp:1009
static void SetDefaultLocale()
Sets the current locale to "C" for interchange.
Definition Unit.cpp:1507
std::string PrettyPrint(double value, int sigfigs=-1, bool useDisplayLocale=true) const
Prints a value with SI scaling factors.
Definition Unit.cpp:660
double ParseString(const std::string &str, bool useDisplayLocale=true)
Parses a string based on the supplied unit.
Definition Unit.cpp:1186
int64_t ParseStringInt64(const std::string &str, bool useDisplayLocale=true)
Parses a string based on the supplied unit.
Definition Unit.cpp:1293