1# 2# Copyright 2020, Data61, CSIRO (ABN 41 687 119 230) 3# 4# SPDX-License-Identifier: GPL-2.0-only 5# 6 7 8def align_up(num, bits): 9 ''' align a number up to a bit-boundary ''' 10 boundary = 1 << bits 11 return (num + (boundary - 1)) & ~(boundary - 1) 12 13 14def align_down(num, bits): 15 ''' align a number down to a bit-boundary ''' 16 boundary = 1 << bits 17 return num & ~(boundary - 1) 18