text: //
  // Copyright © 2017 Arm Ltd. All rights reserved.
  // SPDX-License-Identifier: MIT
  //
  
  #pragma once
  
  #include <armnnTestUtils/LayerTestResult.hpp>
  
  #include <Half.hpp>
  
  #include <armnn/backends/IBackendInternal.hpp>
  #include <armnn/backends/WorkloadFactory.hpp>
  LayerTestResult<float, 4> DivisionByZeroTest(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<float, 4> DivisionTest(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<float, 4> DivisionBroadcast1ElementTest(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<float, 4> DivisionBroadcast1DVectorTest(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<armnn::Half, 4> DivisionFloat16Test(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<armnn::Half, 4> DivisionBroadcast1ElementFloat16Test(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<armnn::Half, 4> DivisionBroadcast1DVectorFloat16Test(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<uint8_t, 4> DivisionUint8Test(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<uint8_t, 4> DivisionBroadcast1ElementUint8Test(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<uint8_t, 4> DivisionBroadcast1DVectorUint8Test(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<int16_t,4> DivisionInt16Test(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<int16_t, 4> DivisionBroadcast1ElementInt16Test(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<int16_t, 4> DivisionBroadcast1DVectorInt16Test(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<int32_t,4> DivisionInt32Test(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<int32_t, 4> DivisionBroadcast1ElementInt32Test(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);
  
  LayerTestResult<int32_t, 4> DivisionBroadcast1DVectorInt32Test(
      armnn::IWorkloadFactory& workloadFactory,
      const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
      const armnn::ITensorHandleFactory& tensorHandleFactory);