scifir-units
2.0.0
scifir-units is a library of units of measurement, angles, coordinates, fields, and related data, all lightweight, that help in the development of scientific software and scientific machines
Loading...
Searching...
No Matches
units
conversion.hpp
Go to the documentation of this file.
1
#ifndef SCIFIR_UNITS_UNITS_CONVERSION_HPP_INCLUDED
2
#define SCIFIR_UNITS_UNITS_CONVERSION_HPP_INCLUDED
3
4
#include "
./dimension.hpp
"
5
6
#include <string>
7
#include <vector>
8
9
using namespace
std;
10
11
namespace
scifir
12
{
13
class
conversion
14
{
15
public
:
16
enum
type
{
NONE
,
HECTARE
,
DYNE
,
BARYE
,
BAR
,
MILLIBAR
,
CENTIBAR
,
DECIBAR
,
KILOBAR
,
MEGABAR
,
ATMOSPHERE
,
MILIMETRES_MERCURY
,
TORRICELLI
,
CUBIC_CENTIMETRES
,
FAHRENHEIT
,
WATT_HOUR
,
KILOWATT_HOUR
,
17
18
/* Imperial units */
19
IMPERIAL_TWIP
,
IMPERIAL_THOU
,
IMPERIAL_BARLEYCORN
,
IMPERIAL_INCH
,
IMPERIAL_HAND
,
IMPERIAL_FOOT
,
IMPERIAL_YARD
,
IMPERIAL_CHAIN
,
IMPERIAL_FURLONG
,
IMPERIAL_MILE
,
IMPERIAL_LEAGUE
,
IMPERIAL_FATHOM
,
IMPERIAL_CABLE
,
IMPERIAL_NAUTICAL_MILE
,
IMPERIAL_LINK
,
IMPERIAL_ROD
,
IMPERIAL_PERCH
,
IMPERIAL_ROOD
,
IMPERIAL_ACRE
,
IMPERIAL_SQUARE_MILE
,
IMPERIAL_FLUID_OUNCE
,
IMPERIAL_GILL
,
IMPERIAL_PINT
,
IMPERIAL_QUART
,
IMPERIAL_GALLON
,
IMPERIAL_MINIM
,
IMPERIAL_FLUID_SCRUPLE
,
IMPERIAL_FLUID_DRACHM
,
IMPERIAL_GRAIN
,
IMPERIAL_DRACHM
,
IMPERIAL_OUNCE
,
IMPERIAL_POUND
,
IMPERIAL_STONE
,
IMPERIAL_QUARTER
,
IMPERIAL_HUNDREDWEIGHT
,
IMPERIAL_TON
,
IMPERIAL_SLUG
,
IMPERIAL_HORSEPOWER
,
20
21
/* US customary units of measurement */
22
US_TWIP
,
US_MIL
,
US_POINT
,
US_PICA
,
US_INCH
,
US_FOOT
,
US_YARD
,
US_MILE
,
US_LEAGUE
,
US_FATHOM
,
US_CABLE
,
US_NAUTICAL_MILE
,
US_LINK
,
US_ROD
,
US_CHAIN
,
US_FURLONG
,
US_SQUARE_FOOT
,
US_SQUARE_CHAIN
,
US_ACRE
,
US_SECTION
,
US_SURVEY_TOWNSHIP
,
US_CUBIC_INCH
,
US_CUBIC_FOOT
,
US_CUBIC_YARD
,
US_ACRE_FOOT
,
US_MINIM
,
US_FLUID_DRAM
,
US_TEASPOON
,
US_TABLESPOON
,
US_FLUID_OUNCE
,
US_SHOT
,
US_GILL
,
US_CUP
,
US_PINT
,
US_QUART
,
US_POTTLE
,
US_GALLON
,
US_BARREL
,
US_OIL_BARREL
,
US_HOGSHEAD
,
US_PECK
,
US_BUSHEL
,
US_GRAIN
,
US_DRAM
,
US_OUNCE
,
US_POUND
,
US_SHORT_HUNDREDWEIGHT
,
US_LONG_HUNDREDWEIGHT
,
US_SHORT_TON
,
US_LONG_TON
,
US_PENNYWEIGHT
,
US_TROY_OUNCE
,
US_TROY_POUND
,
US_DESSERTSPOON
,
US_HAND
,
US_RACK
,
US_BOARD_FOOT
,
US_SLUG
,
US_POUNDAL
,
US_KIP
,
US_FOOT_POUND
,
US_HORSEPOWER
,
US_REFRIGERATION_TON
,
US_INCH_MERCURY
,
US_POUND_PER_SQUARE_INCH
,
US_POUND_FOOT
,
23
24
QUINTAL
,
CARAT
,
QUAD
,
BRITISH_THERMAL_UNIT
,
CUSTOM
};
25
26
conversion
();
27
explicit
conversion
(
const
conversion::type
new_conversion_type
);
28
29
long
double
get_conversion_factor
()
const
;
30
vector<dimension>
get_conversion_dimensions
()
const
;
31
32
bool
is_special_conversion
()
const
;
33
34
conversion::type
conversion_type
;
35
};
36
37
inline
float
fahrenheit_to_kelvin
(
float
x)
38
{
39
return
(x - 32.0f) * (5.0f / 9.0f) + 273.15f;
40
}
41
42
inline
float
kelvin_to_fahrenheit
(
float
x)
43
{
44
return
(x - 273.15f) * 1.8f + 32.0f;
45
}
46
}
47
48
#endif
// SCIFIR_UNITS_UNITS_CONVERSION_HPP_INCLUDED
scifir::conversion
Definition
conversion.hpp:14
scifir::conversion::get_conversion_factor
long double get_conversion_factor() const
Definition
conversion.cpp:13
scifir::conversion::get_conversion_dimensions
vector< dimension > get_conversion_dimensions() const
Definition
conversion.cpp:273
scifir::conversion::is_special_conversion
bool is_special_conversion() const
Definition
conversion.cpp:679
scifir::conversion::conversion
conversion()
Definition
conversion.cpp:7
scifir::conversion::conversion_type
conversion::type conversion_type
Definition
conversion.hpp:34
scifir::conversion::type
type
Definition
conversion.hpp:16
scifir::conversion::IMPERIAL_NAUTICAL_MILE
@ IMPERIAL_NAUTICAL_MILE
Definition
conversion.hpp:19
scifir::conversion::US_TROY_POUND
@ US_TROY_POUND
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_FLUID_DRACHM
@ IMPERIAL_FLUID_DRACHM
Definition
conversion.hpp:19
scifir::conversion::BARYE
@ BARYE
Definition
conversion.hpp:16
scifir::conversion::US_OIL_BARREL
@ US_OIL_BARREL
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_LINK
@ IMPERIAL_LINK
Definition
conversion.hpp:19
scifir::conversion::US_TEASPOON
@ US_TEASPOON
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_POUND
@ IMPERIAL_POUND
Definition
conversion.hpp:19
scifir::conversion::US_CABLE
@ US_CABLE
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_SLUG
@ IMPERIAL_SLUG
Definition
conversion.hpp:19
scifir::conversion::MILLIBAR
@ MILLIBAR
Definition
conversion.hpp:16
scifir::conversion::US_BUSHEL
@ US_BUSHEL
Definition
conversion.hpp:22
scifir::conversion::US_POUNDAL
@ US_POUNDAL
Definition
conversion.hpp:22
scifir::conversion::US_FOOT
@ US_FOOT
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_FURLONG
@ IMPERIAL_FURLONG
Definition
conversion.hpp:19
scifir::conversion::IMPERIAL_PINT
@ IMPERIAL_PINT
Definition
conversion.hpp:19
scifir::conversion::NONE
@ NONE
Definition
conversion.hpp:16
scifir::conversion::US_POUND_FOOT
@ US_POUND_FOOT
Definition
conversion.hpp:22
scifir::conversion::US_TWIP
@ US_TWIP
Definition
conversion.hpp:22
scifir::conversion::US_SQUARE_CHAIN
@ US_SQUARE_CHAIN
Definition
conversion.hpp:22
scifir::conversion::US_FOOT_POUND
@ US_FOOT_POUND
Definition
conversion.hpp:22
scifir::conversion::US_LONG_TON
@ US_LONG_TON
Definition
conversion.hpp:22
scifir::conversion::US_CUBIC_FOOT
@ US_CUBIC_FOOT
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_GILL
@ IMPERIAL_GILL
Definition
conversion.hpp:19
scifir::conversion::IMPERIAL_BARLEYCORN
@ IMPERIAL_BARLEYCORN
Definition
conversion.hpp:19
scifir::conversion::US_QUART
@ US_QUART
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_YARD
@ IMPERIAL_YARD
Definition
conversion.hpp:19
scifir::conversion::US_NAUTICAL_MILE
@ US_NAUTICAL_MILE
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_FLUID_SCRUPLE
@ IMPERIAL_FLUID_SCRUPLE
Definition
conversion.hpp:19
scifir::conversion::US_OUNCE
@ US_OUNCE
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_FOOT
@ IMPERIAL_FOOT
Definition
conversion.hpp:19
scifir::conversion::IMPERIAL_MINIM
@ IMPERIAL_MINIM
Definition
conversion.hpp:19
scifir::conversion::QUAD
@ QUAD
Definition
conversion.hpp:24
scifir::conversion::CARAT
@ CARAT
Definition
conversion.hpp:24
scifir::conversion::US_YARD
@ US_YARD
Definition
conversion.hpp:22
scifir::conversion::US_GALLON
@ US_GALLON
Definition
conversion.hpp:22
scifir::conversion::BRITISH_THERMAL_UNIT
@ BRITISH_THERMAL_UNIT
Definition
conversion.hpp:24
scifir::conversion::US_FURLONG
@ US_FURLONG
Definition
conversion.hpp:22
scifir::conversion::US_GILL
@ US_GILL
Definition
conversion.hpp:22
scifir::conversion::US_CUP
@ US_CUP
Definition
conversion.hpp:22
scifir::conversion::US_MILE
@ US_MILE
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_CABLE
@ IMPERIAL_CABLE
Definition
conversion.hpp:19
scifir::conversion::MILIMETRES_MERCURY
@ MILIMETRES_MERCURY
Definition
conversion.hpp:16
scifir::conversion::US_ROD
@ US_ROD
Definition
conversion.hpp:22
scifir::conversion::US_POINT
@ US_POINT
Definition
conversion.hpp:22
scifir::conversion::US_PINT
@ US_PINT
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_HAND
@ IMPERIAL_HAND
Definition
conversion.hpp:19
scifir::conversion::CUBIC_CENTIMETRES
@ CUBIC_CENTIMETRES
Definition
conversion.hpp:16
scifir::conversion::US_SQUARE_FOOT
@ US_SQUARE_FOOT
Definition
conversion.hpp:22
scifir::conversion::US_LINK
@ US_LINK
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_STONE
@ IMPERIAL_STONE
Definition
conversion.hpp:19
scifir::conversion::IMPERIAL_GRAIN
@ IMPERIAL_GRAIN
Definition
conversion.hpp:19
scifir::conversion::IMPERIAL_SQUARE_MILE
@ IMPERIAL_SQUARE_MILE
Definition
conversion.hpp:19
scifir::conversion::US_SLUG
@ US_SLUG
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_OUNCE
@ IMPERIAL_OUNCE
Definition
conversion.hpp:19
scifir::conversion::US_MIL
@ US_MIL
Definition
conversion.hpp:22
scifir::conversion::US_CHAIN
@ US_CHAIN
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_INCH
@ IMPERIAL_INCH
Definition
conversion.hpp:19
scifir::conversion::TORRICELLI
@ TORRICELLI
Definition
conversion.hpp:16
scifir::conversion::IMPERIAL_QUARTER
@ IMPERIAL_QUARTER
Definition
conversion.hpp:19
scifir::conversion::ATMOSPHERE
@ ATMOSPHERE
Definition
conversion.hpp:16
scifir::conversion::IMPERIAL_LEAGUE
@ IMPERIAL_LEAGUE
Definition
conversion.hpp:19
scifir::conversion::IMPERIAL_CHAIN
@ IMPERIAL_CHAIN
Definition
conversion.hpp:19
scifir::conversion::CUSTOM
@ CUSTOM
Definition
conversion.hpp:24
scifir::conversion::US_DRAM
@ US_DRAM
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_ACRE
@ IMPERIAL_ACRE
Definition
conversion.hpp:19
scifir::conversion::US_FLUID_DRAM
@ US_FLUID_DRAM
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_GALLON
@ IMPERIAL_GALLON
Definition
conversion.hpp:19
scifir::conversion::MEGABAR
@ MEGABAR
Definition
conversion.hpp:16
scifir::conversion::DECIBAR
@ DECIBAR
Definition
conversion.hpp:16
scifir::conversion::US_FLUID_OUNCE
@ US_FLUID_OUNCE
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_FATHOM
@ IMPERIAL_FATHOM
Definition
conversion.hpp:19
scifir::conversion::KILOWATT_HOUR
@ KILOWATT_HOUR
Definition
conversion.hpp:16
scifir::conversion::US_HOGSHEAD
@ US_HOGSHEAD
Definition
conversion.hpp:22
scifir::conversion::CENTIBAR
@ CENTIBAR
Definition
conversion.hpp:16
scifir::conversion::US_TROY_OUNCE
@ US_TROY_OUNCE
Definition
conversion.hpp:22
scifir::conversion::US_BARREL
@ US_BARREL
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_THOU
@ IMPERIAL_THOU
Definition
conversion.hpp:19
scifir::conversion::US_LEAGUE
@ US_LEAGUE
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_HUNDREDWEIGHT
@ IMPERIAL_HUNDREDWEIGHT
Definition
conversion.hpp:19
scifir::conversion::IMPERIAL_MILE
@ IMPERIAL_MILE
Definition
conversion.hpp:19
scifir::conversion::US_SHORT_HUNDREDWEIGHT
@ US_SHORT_HUNDREDWEIGHT
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_TON
@ IMPERIAL_TON
Definition
conversion.hpp:19
scifir::conversion::US_LONG_HUNDREDWEIGHT
@ US_LONG_HUNDREDWEIGHT
Definition
conversion.hpp:22
scifir::conversion::US_SHOT
@ US_SHOT
Definition
conversion.hpp:22
scifir::conversion::US_REFRIGERATION_TON
@ US_REFRIGERATION_TON
Definition
conversion.hpp:22
scifir::conversion::WATT_HOUR
@ WATT_HOUR
Definition
conversion.hpp:16
scifir::conversion::US_PENNYWEIGHT
@ US_PENNYWEIGHT
Definition
conversion.hpp:22
scifir::conversion::BAR
@ BAR
Definition
conversion.hpp:16
scifir::conversion::US_POUND_PER_SQUARE_INCH
@ US_POUND_PER_SQUARE_INCH
Definition
conversion.hpp:22
scifir::conversion::US_MINIM
@ US_MINIM
Definition
conversion.hpp:22
scifir::conversion::US_SURVEY_TOWNSHIP
@ US_SURVEY_TOWNSHIP
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_DRACHM
@ IMPERIAL_DRACHM
Definition
conversion.hpp:19
scifir::conversion::FAHRENHEIT
@ FAHRENHEIT
Definition
conversion.hpp:16
scifir::conversion::HECTARE
@ HECTARE
Definition
conversion.hpp:16
scifir::conversion::US_HORSEPOWER
@ US_HORSEPOWER
Definition
conversion.hpp:22
scifir::conversion::DYNE
@ DYNE
Definition
conversion.hpp:16
scifir::conversion::US_FATHOM
@ US_FATHOM
Definition
conversion.hpp:22
scifir::conversion::KILOBAR
@ KILOBAR
Definition
conversion.hpp:16
scifir::conversion::US_INCH_MERCURY
@ US_INCH_MERCURY
Definition
conversion.hpp:22
scifir::conversion::US_CUBIC_YARD
@ US_CUBIC_YARD
Definition
conversion.hpp:22
scifir::conversion::US_ACRE_FOOT
@ US_ACRE_FOOT
Definition
conversion.hpp:22
scifir::conversion::US_ACRE
@ US_ACRE
Definition
conversion.hpp:22
scifir::conversion::US_CUBIC_INCH
@ US_CUBIC_INCH
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_ROOD
@ IMPERIAL_ROOD
Definition
conversion.hpp:19
scifir::conversion::US_PECK
@ US_PECK
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_QUART
@ IMPERIAL_QUART
Definition
conversion.hpp:19
scifir::conversion::IMPERIAL_PERCH
@ IMPERIAL_PERCH
Definition
conversion.hpp:19
scifir::conversion::US_GRAIN
@ US_GRAIN
Definition
conversion.hpp:22
scifir::conversion::US_POUND
@ US_POUND
Definition
conversion.hpp:22
scifir::conversion::US_HAND
@ US_HAND
Definition
conversion.hpp:22
scifir::conversion::US_POTTLE
@ US_POTTLE
Definition
conversion.hpp:22
scifir::conversion::US_KIP
@ US_KIP
Definition
conversion.hpp:22
scifir::conversion::US_SECTION
@ US_SECTION
Definition
conversion.hpp:22
scifir::conversion::US_SHORT_TON
@ US_SHORT_TON
Definition
conversion.hpp:22
scifir::conversion::US_TABLESPOON
@ US_TABLESPOON
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_ROD
@ IMPERIAL_ROD
Definition
conversion.hpp:19
scifir::conversion::US_DESSERTSPOON
@ US_DESSERTSPOON
Definition
conversion.hpp:22
scifir::conversion::US_INCH
@ US_INCH
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_FLUID_OUNCE
@ IMPERIAL_FLUID_OUNCE
Definition
conversion.hpp:19
scifir::conversion::IMPERIAL_HORSEPOWER
@ IMPERIAL_HORSEPOWER
Definition
conversion.hpp:19
scifir::conversion::QUINTAL
@ QUINTAL
Definition
conversion.hpp:24
scifir::conversion::US_PICA
@ US_PICA
Definition
conversion.hpp:22
scifir::conversion::US_RACK
@ US_RACK
Definition
conversion.hpp:22
scifir::conversion::US_BOARD_FOOT
@ US_BOARD_FOOT
Definition
conversion.hpp:22
scifir::conversion::IMPERIAL_TWIP
@ IMPERIAL_TWIP
Definition
conversion.hpp:19
scifir::coordinates_1d
Definition
coordinates_1d.hpp:18
dimension.hpp
scifir
The namespace scifir contains all scifir-units, excepting the string literals, which are outside.
Definition
address.cpp:6
scifir::kelvin_to_fahrenheit
float kelvin_to_fahrenheit(float x)
Definition
conversion.hpp:42
scifir::fahrenheit_to_kelvin
float fahrenheit_to_kelvin(float x)
Definition
conversion.hpp:37
Generated by
1.9.8