From e07f7f148246864ee78507186893ae72cb0afc93 Mon Sep 17 00:00:00 2001 From: Alexander Stoll Date: Fri, 7 Feb 2020 15:07:29 +0100 Subject: [PATCH] Add first draft unit determination tools --- lib/core/tools/Get-UnitPrefixIEC.psm1 | 21 +++++++++++++++++++++ lib/core/tools/Get-UnitPrefixSI.psm1 | 20 ++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 lib/core/tools/Get-UnitPrefixIEC.psm1 create mode 100644 lib/core/tools/Get-UnitPrefixSI.psm1 diff --git a/lib/core/tools/Get-UnitPrefixIEC.psm1 b/lib/core/tools/Get-UnitPrefixIEC.psm1 new file mode 100644 index 0000000..a637e5f --- /dev/null +++ b/lib/core/tools/Get-UnitPrefixIEC.psm1 @@ -0,0 +1,21 @@ +function Get-UnitPrefixIEC() +{ + param( + [single]$Value + ); + + If ( $Value / [math]::Pow(2, 50) -ge 1 ) { + return 'PiB' + } elseif ( $Value / [math]::Pow(2, 40) -ge 1 ) { + return 'TiB' + } elseif ( $Value / [math]::Pow(2, 30) -ge 1 ) { + return 'GiB' + } elseif ( $Value / [math]::Pow(2, 20) -ge 1 ) { + return 'MiB' + } elseif ( $Value / [math]::Pow(2, 10) -ge 1 ) { + return 'KiB' + } else { + return 'B' + } +} + diff --git a/lib/core/tools/Get-UnitPrefixSI.psm1 b/lib/core/tools/Get-UnitPrefixSI.psm1 new file mode 100644 index 0000000..a10609c --- /dev/null +++ b/lib/core/tools/Get-UnitPrefixSI.psm1 @@ -0,0 +1,20 @@ +function Get-UnitPrefixSI() +{ + param( + [single]$Value + ); + + If ( $Value / [math]::Pow(10, 15) -ge 1 ) { + return 'PB' + } elseif ( $Value / [math]::Pow(10, 12) -ge 1 ) { + return 'TB' + } elseif ( $Value / [math]::Pow(10, 9) -ge 1 ) { + return 'GB' + } elseif ( $Value / [math]::Pow(10, 6) -ge 1 ) { + return 'MB' + } elseif ( $Value / [math]::Pow(10, 3) -ge 1 ) { + return 'KB' + } else { + return 'B' + } +}