Source code for cblearn.utils._validate_size

from typing import Union


[docs] def check_size(size: Union[None, int, float], max_objects: int) -> int: """ Convert size argument to the number of objects. Args: size: The ommited, relative, or absolute number of objects. max_objects: The maximum number of objects for relative size. Returns: The absolute size, corresponding to max_objects, if size is None size, if size is int size * max_objects, if size is float Raises ValueError: If size is int and < 0 or > max_objects If size is float and < 0 or > 1. """ if size is None: return max_objects elif size < 0: raise ValueError(f'Expects size above 0, got {size}.') elif isinstance(size, int) or size > 1: return int(size) elif isinstance(size, float): return int(size * max_objects)