17 #ifndef IGNITION_MATH_TEMPERATURE_HH_ 18 #define IGNITION_MATH_TEMPERATURE_HH_ 23 #include <ignition/math/config.hh> 31 inline namespace IGNITION_MATH_VERSION_NAMESPACE {
34 class TemperaturePrivate;
88 public:
static double KelvinToCelsius(
const double _temp);
93 public:
static double KelvinToFahrenheit(
const double _temp);
98 public:
static double CelsiusToFahrenheit(
const double _temp);
103 public:
static double CelsiusToKelvin(
const double _temp);
108 public:
static double FahrenheitToCelsius(
const double _temp);
113 public:
static double FahrenheitToKelvin(
const double _temp);
117 public:
void SetKelvin(
const double _temp);
121 public:
void SetCelsius(
const double _temp);
125 public:
void SetFahrenheit(
const double _temp);
129 public:
double Kelvin()
const;
133 public:
double Celsius()
const;
137 public:
double Fahrenheit()
const;
142 public:
double operator()()
const;
147 public:
Temperature &operator=(
const double _temp);
170 return _t + _temp.
Kelvin();
176 public:
const Temperature &operator+=(
const double _temp);
199 return _t - _temp.
Kelvin();
205 public:
const Temperature &operator-=(
const double _temp);
228 return _t * _temp.
Kelvin();
234 public:
const Temperature &operator*=(
const double _temp);
257 return _t / _temp.
Kelvin();
263 public:
const Temperature &operator/=(
const double _temp);
273 public:
bool operator==(
const Temperature &_temp)
const;
279 public:
bool operator==(
const double _temp)
const;
284 public:
bool operator!=(
const Temperature &_temp)
const;
290 public:
bool operator!=(
const double _temp)
const;
295 public:
bool operator<(
const Temperature &_temp)
const;
301 public:
bool operator<(
const double _temp)
const;
306 public:
bool operator<=(
const Temperature &_temp)
const;
312 public:
bool operator<=(
const double _temp)
const;
317 public:
bool operator>(
const Temperature &_temp)
const;
323 public:
bool operator>(
const double _temp)
const;
328 public:
bool operator>=(
const Temperature &_temp)
const;
334 public:
bool operator>=(
const double _temp)
const;
356 _in.
setf(std::ios_base::skipws);
368 #pragma warning(push) 369 #pragma warning(disable: 4251)
double Kelvin() const
Get the temperature in Kelvin.
A class that stores temperature information, and allows conversion between different units...
Definition: Temperature.hh:68
friend Temperature operator*(double _t, const Temperature &_temp)
Multiplication operator for double type.
Definition: Temperature.hh:226
void SetKelvin(const double _temp)
Set the temperature from a Kelvin value.
friend std::istream & operator>>(std::istream &_in, Temperature &_temp)
Stream extraction operator.
Definition: Temperature.hh:352
friend std::ostream & operator<<(std::ostream &_out, const Temperature &_temp)
Stream insertion operator.
Definition: Temperature.hh:340
friend Temperature operator/(double _t, const Temperature &_temp)
Division operator for double type.
Definition: Temperature.hh:255
friend Temperature operator+(double _t, const Temperature &_temp)
Addition operator for double type.
Definition: Temperature.hh:168
friend Temperature operator-(double _t, const Temperature &_temp)
Subtraction operator for double type.
Definition: Temperature.hh:197