code: def test_numerical_error(ray_start_4_cpus):
      """Make sure we don't run into numerical errors when using fractional resources.
  
      Legacy test: test_trial_runner::TrialRunnerTest::testResourceNumericalError
      """
      manager = FixedResourceManager(
          total_resources={"CPU": 0.99, "GPU": 0.99, "a": 0.99}
      )
      resource_request = ResourceRequest(
          [{"CPU": 0.33, "GPU": 0.33, "a": 0.33}]
      )
  
      for i in range(3):
          manager.request_resources(resource_request)
          assert manager.acquire_resources(
              resource_request=resource_request
          ), manager._available_resources
  
      assert manager._available_resources["CPU"] == 0
      assert manager._available_resources["GPU"] == 0
      assert manager._available_resources["a"] == 0
  
file_path: ray/python/ray/air/tests/execution/test_resource_manager_fixed.py
imports: import pytest
  import ray
  from ray.air.execution.resources.fixed import FixedResourceManager
  from ray.air.execution.resources.request import ResourceRequest
  from ray.util.scheduling_strategies import PlacementGroupSchedulingStrategy
label_desc: Use image node_id 3 for calling a global function with example usage: test_numerical_error(ray_start_4_cpus) without return types