Source code for qblox_scheduler.math

# Repository: https://gitlab.com/qblox/packages/software/qblox-scheduler
# Licensed according to the LICENSE file on the main branch
#
# Copyright 2020-2025, Quantify Consortium
# Copyright 2025, Qblox B.V.
"""Math utility functions module."""

from __future__ import annotations


[docs] def closest_number_ceil(number: int | float, multiple: int | float) -> int: """ Returns the closest next value that is a multiple of M. Parameters ---------- number: The number. multiple: The modulo or granularity level. Returns ------- : The closest next number. """ if not number > 0: raise ValueError(f"number must be positive. Got {number}.") if not multiple > 0: raise ValueError(f"multiple must be positive. Got {multiple}.") # Find the quotient quotient = int(number / multiple) # Find next possible closest number closest_number = multiple * (quotient + 1) return int(closest_number)