def clamp(value: float, lower: float, upper: float) -> float:
	"""
	Basic clamp function: if below the floor, return floor; if above the ceiling, return ceiling; else return unchanged.
	
	:param value: float input
	:param lower: float floor
	:param upper: float ceiling
	:return: float within range [lower-upper]
	"""
	return lower if value < lower else upper if value > upper else value