Source code for twiss.util

"""
Math
----

Math utils

"""

from typing import Any

[docs]def mod(x:Any, y:Any, z:Any=0) -> Any: """ Return the remainder on division of `x` by `y` with offset `z` Parameters ---------- x: Any numerator y: Any denomenator z: Any, default=0 offset Returns ------- Any Note ---- ``int`` is returned only if all input arguments have ``int`` type Examples -------- >>> mod(5, 2, -1) -1 >>> mod(5, 2, +1) 1 >>> from math import pi >>> mod(1.5*pi, 2.0*pi, -pi) -1.5707963267948966 >>> mod(1.5*pi, 2.0*pi, +pi) 4.71238898038469 """ return x - ((x - z) - (x - z) % y)