oslo.utils/oslo_utils/units.py
Brian Rosmaita 4cc5693190 Update units for current SI prefixes
Following Resolution 3 of the 27th General Conference on Weights
and Measures (CGPM) in 2022 [0], update oslo units to include
'ronna' and 'quetta' for decimal prefixes.  Although ISO/IEC
80000-13 has not yet been updated for the binary equivalents,
it's safe to assume ISO will follow current practice [1], so
those are added as well.

[0] https://www.bipm.org/en/cgpm-2022/resolution-3
[1] https://iopscience.iop.org/article/10.1088/1681-7575/ac6afd

Change-Id: I6e6b3fe9fe24533553f655a687a3c4e6714fde6f
2023-04-07 11:34:06 -04:00

63 lines
1.3 KiB
Python

# Copyright 2013 IBM Corp
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
"""
Unit constants
"""
# Binary unit constants.
Ki = 1024
"Binary kilo unit"
Mi = 1024 ** 2
"Binary mega unit"
Gi = 1024 ** 3
"Binary giga unit"
Ti = 1024 ** 4
"Binary tera unit"
Pi = 1024 ** 5
"Binary peta unit"
Ei = 1024 ** 6
"Binary exa unit"
Zi = 1024 ** 7
"Binary zetta unit"
Yi = 1024 ** 8
"Binary yotta unit"
Ri = 1024 ** 9
"Binary ronna unit"
Qi = 1024 ** 10
"Binary quetta unit"
# Decimal unit constants.
k = 1000
"Decimal kilo unit"
M = 1000 ** 2
"Decimal mega unit"
G = 1000 ** 3
"Decimal giga unit"
T = 1000 ** 4
"Decimal tera unit"
P = 1000 ** 5
"Decimal peta unit"
E = 1000 ** 6
"Decimal exa unit"
Z = 1000 ** 7
"Decimal zetta unit"
Y = 1000 ** 8
"Decimal yotta unit"
R = 1000 ** 9
"Decimal ronna unit"
Q = 1000 ** 10
"Decimal quetta unit"