-
Notifications
You must be signed in to change notification settings - Fork 1
si::normative_unit
kwikius edited this page Jul 13, 2021
·
13 revisions
A normative si unit is an official si_unit. The exponent of the conversion factor of a normative si unit is always an integer. The multiplier of the conversion_factor is always 1. 1
An important advantage of quantities with normative si units is that it is possible to raise them to arbitrary rationals powers and roots. This is often not possible with units with conversion factors where the multiplier of the exponent is not 1.
si::normative_unit<
dimension,
exponent10>
#include <pqs/systems/si/unit.hpp>
typename | model of | notes |
---|---|---|
D | dimension | |
E | exponent10 |
typename | type | notes |
---|---|---|
Un | si::normative_unit< D, E > |
concept | result |
---|---|
unit< Un > | true |
inline constant | result |
---|---|
si::is_normative_unit< Un > | true |
si::is_prefixable< D , E > | true if {D,E} supports the standard si prefixes |
get_measurement_system< Un > | si_measurement_system |
#include <pqs/systems/si/force.hpp>
using namespace pqs;
#include <iostream>
int main()
{
si::force::kgf<> q1{1};
si::force::mN<> q2 = q1;
std::cout << q1 << " is a normative S.I. quantity = "
<< std::boolalpha << si::is_normative_quantity(q1) << '\n';
std::cout << q2 << " is a normative S.I. quantity = "
<< std::boolalpha << si::is_normative_quantity(q2) << '\n';
}
example output:
1 kgf is a normative S.I. quantity = false
9806.65 mN is a normative S.I quantity = true
[1] The fact that the multiplier is 1 does not of itself guarantee that a unit is a normative si unit though.