From 60e583ed0af4fdac09d86bc231279e407ce91ef1 Mon Sep 17 00:00:00 2001
From: Brian Warner <warner@lothar.com>
Date: Sat, 21 Oct 2006 20:39:12 -0700
Subject: [PATCH] emit tables up to 1TiB

---
 sizes.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/sizes.py b/sizes.py
index cf19b076..39d83928 100644
--- a/sizes.py
+++ b/sizes.py
@@ -33,6 +33,7 @@ KiB=1024
 MiB=1024*KiB
 GiB=1024*MiB
 TiB=1024*GiB
+PiB=1024*TiB
 
 class Sizes:
     def __init__(self, mode, file_size, arity=2):
@@ -138,14 +139,16 @@ def fmt(num, trim=False):
         s = "%.2fM" % (num / MiB)
     elif num < TiB:
         s = "%.2fG" % (num / GiB)
+    elif num < PiB:
+        s = "%.2fT" % (num / TiB)
     else:
         s = "big"
     if trim:
-        s = re.sub(r'(\.0+)([kMG#])',
+        s = re.sub(r'(\.0+)([kMGT#])',
                    lambda m: m.group(2),
                    s)
     else:
-        s = re.sub(r'(\.0+)([kMG#])',
+        s = re.sub(r'(\.0+)([kMGT#])',
                    lambda m: (" "*len(m.group(1))+m.group(2)),
                    s)
     if s.endswith("#"):
@@ -163,7 +166,7 @@ def text():
     print "Size     blocksize  overhead   overhead     k  d  alacrity"
     print "                    (bytes)      (%)"
     print "-------  -------    --------   --------  ---- --  --------"
-    sizes = [2 ** i for i in range(7, 32)]
+    sizes = [2 ** i for i in range(7, 41)]
     for file_size in sizes:
         s = Sizes(mode, file_size, arity)
         out = ""
-- 
2.45.2