code: def test_compute_budgets():
      """Verify proper computation of budgets on a logarithmic scale"""
      # Check typical values
      assert compute_budgets(81, 3) == [
          [(81, 1), (27, 3), (9, 9), (3, 27), (1, 81)],
          [(27, 3), (9, 9), (3, 27), (1, 81)],
          [(9, 9), (3, 27), (1, 81)],
          [(6, 27), (2, 81)],
          [(5, 81)],
      ]
      assert compute_budgets(16, 4) == [
          [(16, 1), (4, 4), (1, 16)],
          [(4, 4), (1, 16)],
          [(3, 16)],
      ]
      assert compute_budgets(16, 5) == [[(5, 3), (1, 16)], [(2, 16)]]
  
imports: from __future__ import annotations
  import copy
  import logging
  import typing
  from typing import Any, ClassVar, Sequence
  import numpy
  import pytest
  from orion.algo.hyperband import BudgetTuple, Hyperband, HyperbandBracket, RungDict, compute_budgets
  from orion.algo.space import Fidelity, Integer, Real, Space
  from orion.core.utils.flatten import flatten
  from orion.core.worker.primary_algo import SpaceTransform
  from orion.core.worker.trial import Trial
  from orion.testing.algo import BaseAlgoTests, TestPhase
  from orion.testing.trial import compare_trials, create_trial
label_desc: Use image node_id 11 for calling a global function with example usage: test_compute_budgets() without return types