Scaled Unit Constants

Built-in unit constants, for use with conversions

Context

_images/ditaa-5422ce3d37000a795c6aeed82ba629b0af9d1709.png

Introduction

Built-in units. Application code may use these to trigger conversion

#include <xo/unit/quantity.hpp>

using namespace xo::qty;

constexpr quantity<u::meter / u::second> q1 = q::miles(60) / q::hour;

Note that it’s often easiest to use unit quantity constants, like q::hour in the example above

Dimensionless Constant

group scaled-unit dimensionless constant

Variables

auto dimensionless = detail::su_promote(natural_unit<std::int64_t>())

dimensionless unit; equivalent to 1

Mass Units

group scaled-unit mass units

Variables

auto picogram = su_from_bu(detail::bu::picogram)

unit of 10^-12 grams

auto nanogram = su_from_bu(detail::bu::nanogram)

unit of 10^-9 grams

auto microgram = su_from_bu(detail::bu::microgram)

unit of 10^-6 grams

auto milligram = su_from_bu(detail::bu::milligram)

unit of 10^-3 grams

auto gram = su_from_bu(detail::bu::gram)

unit of 1 gram

auto kilogram = su_from_bu(detail::bu::kilogram)

unit of 10^3 grams

auto tonne = su_from_bu(detail::bu::tonne)

unit of 1 metric tonne = 10^3 kg

auto kilotonne = su_from_bu(detail::bu::kilotonne)

unit of 10^3 tonnes = 10^6 kg

auto megatonne = su_from_bu(detail::bu::megatonne)

unit of 10^6 tonnes = 10^9 kg

auto gigatonne = su_from_bu(detail::bu::gigatonne)

unit of 10^9 tonnes = 10^12 kg

Distance Units

group scaled-unit distance units

Variables

auto picometer = su_from_bu(detail::bu::picometer)

unit of 10^-12 meters

auto nanometer = su_from_bu(detail::bu::nanometer)

unit of 10^-9 meters

auto micrometer = su_from_bu(detail::bu::micrometer)

unit of 10^-6 meters

auto millimeter = su_from_bu(detail::bu::millimeter)

unit of 10^-3 meters

auto meter = su_from_bu(detail::bu::meter)

unit of 1 meter

auto kilometer = su_from_bu(detail::bu::kilometer)

unit of 10^3 meters

auto megameter = su_from_bu(detail::bu::megameter)

unit of 10^6 meters (not commonly used)

auto gigameter = su_from_bu(detail::bu::gigameter)

unit of 10^9 meters (not commonly used)

auto lightsecond = su_from_bu(detail::bu::lightsecond)

unit of 1 light-second = distance light travels in a vacuum in 1 second

auto astronomicalunit = su_from_bu(detail::bu::astronomicalunit)

unit of 1 astronomical unit, for approximate radius of earth orbit

auto inch = su_from_bu(detail::bu::inch)

unit of 1 inch = 1/12 feet

auto foot = su_from_bu(detail::bu::foot)

unit of 1 foot = 0.3048 meters

auto yard = su_from_bu(detail::bu::yard)

unit of 1 yard = 3 feet

auto mile = su_from_bu(detail::bu::mile)

unit of 1 mile = 1760 yards

Time Units

group scaled-unit time units

Variables

auto picosecond = su_from_bu(detail::bu::picosecond)

unit of 1 picosecond = 10^-12 seconds

auto nanosecond = su_from_bu(detail::bu::nanosecond)

unit of 1 nanosecond = 10^-9 seconds

auto microsecond = su_from_bu(detail::bu::microsecond)

unit of 1 microseccond = 10^-6 seconds

auto millisecond = su_from_bu(detail::bu::millisecond)

unit of 1 millisecond = 10^-3 seconds

auto second = su_from_bu(detail::bu::second)

unit of 1 second

auto minute = su_from_bu(detail::bu::minute)

unit of 1 minute

auto hour = su_from_bu(detail::bu::hour)

unit of 1 hour

auto day = su_from_bu(detail::bu::day)

unit for a 24-hour day

auto week = su_from_bu(detail::bu::week)

unit for a week comprising exactly 7 24-hour days

auto month = su_from_bu(detail::bu::month)

unit for a 30-day month

auto year = su_from_bu(detail::bu::year)

unit for a year containing exactly 365.25 24-hour days

auto year250 = su_from_bu(detail::bu::year250)

unit for a ‘year’ containing exactly 250 24-hour days. (approximates the number of business days in a year)

auto year360 = su_from_bu(detail::bu::year360)

unit for a ‘year’ containing exactly 360 24-hour days

auto year365 = su_from_bu(detail::bu::year365)

unit for a ‘year’ containing exactly 365 24-hour days

Volatility Units

group scaled-unit volatility units

Variables

auto volatility_30d = su_from_bu(detail::bu::month, power_ratio_type(-1, 2))

volatility, in 30-day units

auto volatility_250d = su_from_bu(detail::bu::year250, power_ratio_type(-1, 2))

volatility, in 250-day ‘annual’ units

auto volatility_360d = su_from_bu(detail::bu::year360, power_ratio_type(-1, 2))

volatility, in 360-day ‘annual’ units

auto volatility_365d = su_from_bu(detail::bu::year365, power_ratio_type(-1, 2))

volatility, in 365-day ‘annual’ units

Miscellaneous Units

group scaled-unit miscellaneous units

Variables

auto currency = su_from_bu(detail::bu::currency)

generic currency unit

auto price = su_from_bu(detail::bu::price)

generic price unit