(target, a, b)
| 452 | |
| 453 | def resize_to_nearest_multiple(width, height, a): |
| 454 | def nearest_common_multiple(target, a, b): |
| 455 | multiple = 1 |
| 456 | nearest_multiple = 0 |
| 457 | min_diff = float('inf') |
| 458 | |
| 459 | while True: |
| 460 | current_multiple = a * multiple |
| 461 | if current_multiple % b == 0: |
| 462 | diff = abs(target - current_multiple) |
| 463 | if diff < min_diff: |
| 464 | min_diff = diff |
| 465 | nearest_multiple = current_multiple |
| 466 | else: |
| 467 | break |
| 468 | multiple += 1 |
| 469 | |
| 470 | return nearest_multiple |
| 471 | |
| 472 | new_width = nearest_common_multiple(width, a, 8) |
| 473 | new_height = nearest_common_multiple(height, a, 8) |
no outgoing calls
no test coverage detected