| 19 | |
| 20 | |
| 21 | class LinearBucket: |
| 22 | def __init__(self, granularity): |
| 23 | self.granularity = granularity |
| 24 | |
| 25 | def value_to_bucket(self, value): |
| 26 | return int(value / self.granularity) |
| 27 | |
| 28 | def bucket_to_range(self, bucket): |
| 29 | return (bucket * self.granularity, (bucket + 1) * self.granularity) |
| 30 | |
| 31 | |
| 32 | class Log2Bucket: |