1 // 2 // Copyright © 2019 Arm Ltd. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include <armnnTestUtils/LayerTestResult.hpp> 9 10 #include <armnn/backends/IBackendInternal.hpp> 11 #include <armnn/backends/WorkloadFactory.hpp> 12 13 // Equal 14 LayerTestResult<uint8_t, 4> EqualSimpleTest( 15 armnn::IWorkloadFactory& workloadFactory, 16 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 17 const armnn::ITensorHandleFactory& tensorHandleFactory); 18 19 LayerTestResult<uint8_t, 4> EqualBroadcast1ElementTest( 20 armnn::IWorkloadFactory& workloadFactory, 21 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 22 const armnn::ITensorHandleFactory& tensorHandleFactory); 23 24 LayerTestResult<uint8_t, 4> EqualBroadcast1dVectorTest( 25 armnn::IWorkloadFactory& workloadFactory, 26 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 27 const armnn::ITensorHandleFactory& tensorHandleFactory); 28 29 LayerTestResult<uint8_t, 4> EqualSimpleFloat16Test( 30 armnn::IWorkloadFactory& workloadFactory, 31 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 32 const armnn::ITensorHandleFactory& tensorHandleFactory); 33 34 LayerTestResult<uint8_t, 4> EqualBroadcast1ElementFloat16Test( 35 armnn::IWorkloadFactory& workloadFactory, 36 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 37 const armnn::ITensorHandleFactory& tensorHandleFactory); 38 39 LayerTestResult<uint8_t, 4> EqualBroadcast1dVectorFloat16Test( 40 armnn::IWorkloadFactory& workloadFactory, 41 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 42 const armnn::ITensorHandleFactory& tensorHandleFactory); 43 44 LayerTestResult<uint8_t, 4> EqualSimpleUint8Test( 45 armnn::IWorkloadFactory& workloadFactory, 46 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 47 const armnn::ITensorHandleFactory& tensorHandleFactory); 48 49 LayerTestResult<uint8_t, 4> EqualBroadcast1ElementUint8Test( 50 armnn::IWorkloadFactory& workloadFactory, 51 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 52 const armnn::ITensorHandleFactory& tensorHandleFactory); 53 54 LayerTestResult<uint8_t, 4> EqualBroadcast1dVectorUint8Test( 55 armnn::IWorkloadFactory& workloadFactory, 56 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 57 const armnn::ITensorHandleFactory& tensorHandleFactory); 58 59 // Greater 60 LayerTestResult<uint8_t, 4> GreaterSimpleTest( 61 armnn::IWorkloadFactory& workloadFactory, 62 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 63 const armnn::ITensorHandleFactory& tensorHandleFactory); 64 65 LayerTestResult<uint8_t, 4> GreaterBroadcast1ElementTest( 66 armnn::IWorkloadFactory& workloadFactory, 67 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 68 const armnn::ITensorHandleFactory& tensorHandleFactory); 69 70 LayerTestResult<uint8_t, 4> GreaterBroadcast1dVectorTest( 71 armnn::IWorkloadFactory& workloadFactory, 72 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 73 const armnn::ITensorHandleFactory& tensorHandleFactory); 74 75 LayerTestResult<uint8_t, 4> GreaterSimpleFloat16Test( 76 armnn::IWorkloadFactory& workloadFactory, 77 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 78 const armnn::ITensorHandleFactory& tensorHandleFactory); 79 80 LayerTestResult<uint8_t, 4> GreaterBroadcast1ElementFloat16Test( 81 armnn::IWorkloadFactory& workloadFactory, 82 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 83 const armnn::ITensorHandleFactory& tensorHandleFactory); 84 85 LayerTestResult<uint8_t, 4> GreaterBroadcast1dVectorFloat16Test( 86 armnn::IWorkloadFactory& workloadFactory, 87 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 88 const armnn::ITensorHandleFactory& tensorHandleFactory); 89 90 LayerTestResult<uint8_t, 4> GreaterSimpleUint8Test( 91 armnn::IWorkloadFactory& workloadFactory, 92 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 93 const armnn::ITensorHandleFactory& tensorHandleFactory); 94 95 LayerTestResult<uint8_t, 4> GreaterBroadcast1ElementUint8Test( 96 armnn::IWorkloadFactory& workloadFactory, 97 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 98 const armnn::ITensorHandleFactory& tensorHandleFactory); 99 100 LayerTestResult<uint8_t, 4> GreaterBroadcast1dVectorUint8Test( 101 armnn::IWorkloadFactory& workloadFactory, 102 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 103 const armnn::ITensorHandleFactory& tensorHandleFactory); 104 105 // GreaterOrEqual 106 LayerTestResult<uint8_t, 4> GreaterOrEqualSimpleTest( 107 armnn::IWorkloadFactory& workloadFactory, 108 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 109 const armnn::ITensorHandleFactory& tensorHandleFactory); 110 111 LayerTestResult<uint8_t, 4> GreaterOrEqualBroadcast1ElementTest( 112 armnn::IWorkloadFactory& workloadFactory, 113 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 114 const armnn::ITensorHandleFactory& tensorHandleFactory); 115 116 LayerTestResult<uint8_t, 4> GreaterOrEqualBroadcast1dVectorTest( 117 armnn::IWorkloadFactory& workloadFactory, 118 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 119 const armnn::ITensorHandleFactory& tensorHandleFactory); 120 121 LayerTestResult<uint8_t, 4> GreaterOrEqualSimpleFloat16Test( 122 armnn::IWorkloadFactory& workloadFactory, 123 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 124 const armnn::ITensorHandleFactory& tensorHandleFactory); 125 126 LayerTestResult<uint8_t, 4> GreaterOrEqualBroadcast1ElementFloat16Test( 127 armnn::IWorkloadFactory& workloadFactory, 128 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 129 const armnn::ITensorHandleFactory& tensorHandleFactory); 130 131 LayerTestResult<uint8_t, 4> GreaterOrEqualBroadcast1dVectorFloat16Test( 132 armnn::IWorkloadFactory& workloadFactory, 133 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 134 const armnn::ITensorHandleFactory& tensorHandleFactory); 135 136 LayerTestResult<uint8_t, 4> GreaterOrEqualSimpleUint8Test( 137 armnn::IWorkloadFactory& workloadFactory, 138 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 139 const armnn::ITensorHandleFactory& tensorHandleFactory); 140 141 LayerTestResult<uint8_t, 4> GreaterOrEqualBroadcast1ElementUint8Test( 142 armnn::IWorkloadFactory& workloadFactory, 143 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 144 const armnn::ITensorHandleFactory& tensorHandleFactory); 145 146 LayerTestResult<uint8_t, 4> GreaterOrEqualBroadcast1dVectorUint8Test( 147 armnn::IWorkloadFactory& workloadFactory, 148 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 149 const armnn::ITensorHandleFactory& tensorHandleFactory); 150 151 // Less 152 LayerTestResult<uint8_t, 4> LessSimpleTest( 153 armnn::IWorkloadFactory& workloadFactory, 154 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 155 const armnn::ITensorHandleFactory& tensorHandleFactory); 156 157 LayerTestResult<uint8_t, 4> LessBroadcast1ElementTest( 158 armnn::IWorkloadFactory& workloadFactory, 159 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 160 const armnn::ITensorHandleFactory& tensorHandleFactory); 161 162 LayerTestResult<uint8_t, 4> LessBroadcast1dVectorTest( 163 armnn::IWorkloadFactory& workloadFactory, 164 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 165 const armnn::ITensorHandleFactory& tensorHandleFactory); 166 167 LayerTestResult<uint8_t, 4> LessSimpleFloat16Test( 168 armnn::IWorkloadFactory& workloadFactory, 169 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 170 const armnn::ITensorHandleFactory& tensorHandleFactory); 171 172 LayerTestResult<uint8_t, 4> LessBroadcast1ElementFloat16Test( 173 armnn::IWorkloadFactory& workloadFactory, 174 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 175 const armnn::ITensorHandleFactory& tensorHandleFactory); 176 177 LayerTestResult<uint8_t, 4> LessBroadcast1dVectorFloat16Test( 178 armnn::IWorkloadFactory& workloadFactory, 179 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 180 const armnn::ITensorHandleFactory& tensorHandleFactory); 181 182 LayerTestResult<uint8_t, 4> LessSimpleUint8Test( 183 armnn::IWorkloadFactory& workloadFactory, 184 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 185 const armnn::ITensorHandleFactory& tensorHandleFactory); 186 187 LayerTestResult<uint8_t, 4> LessBroadcast1ElementUint8Test( 188 armnn::IWorkloadFactory& workloadFactory, 189 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 190 const armnn::ITensorHandleFactory& tensorHandleFactory); 191 192 LayerTestResult<uint8_t, 4> LessBroadcast1dVectorUint8Test( 193 armnn::IWorkloadFactory& workloadFactory, 194 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 195 const armnn::ITensorHandleFactory& tensorHandleFactory); 196 197 // LessOrEqual 198 LayerTestResult<uint8_t, 4> LessOrEqualSimpleTest( 199 armnn::IWorkloadFactory& workloadFactory, 200 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 201 const armnn::ITensorHandleFactory& tensorHandleFactory); 202 203 LayerTestResult<uint8_t, 4> LessOrEqualBroadcast1ElementTest( 204 armnn::IWorkloadFactory& workloadFactory, 205 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 206 const armnn::ITensorHandleFactory& tensorHandleFactory); 207 208 LayerTestResult<uint8_t, 4> LessOrEqualBroadcast1dVectorTest( 209 armnn::IWorkloadFactory& workloadFactory, 210 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 211 const armnn::ITensorHandleFactory& tensorHandleFactory); 212 213 LayerTestResult<uint8_t, 4> LessOrEqualSimpleFloat16Test( 214 armnn::IWorkloadFactory& workloadFactory, 215 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 216 const armnn::ITensorHandleFactory& tensorHandleFactory); 217 218 LayerTestResult<uint8_t, 4> LessOrEqualBroadcast1ElementFloat16Test( 219 armnn::IWorkloadFactory& workloadFactory, 220 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 221 const armnn::ITensorHandleFactory& tensorHandleFactory); 222 223 LayerTestResult<uint8_t, 4> LessOrEqualBroadcast1dVectorFloat16Test( 224 armnn::IWorkloadFactory& workloadFactory, 225 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 226 const armnn::ITensorHandleFactory& tensorHandleFactory); 227 228 LayerTestResult<uint8_t, 4> LessOrEqualSimpleUint8Test( 229 armnn::IWorkloadFactory& workloadFactory, 230 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 231 const armnn::ITensorHandleFactory& tensorHandleFactory); 232 233 LayerTestResult<uint8_t, 4> LessOrEqualBroadcast1ElementUint8Test( 234 armnn::IWorkloadFactory& workloadFactory, 235 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 236 const armnn::ITensorHandleFactory& tensorHandleFactory); 237 238 LayerTestResult<uint8_t, 4> LessOrEqualBroadcast1dVectorUint8Test( 239 armnn::IWorkloadFactory& workloadFactory, 240 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 241 const armnn::ITensorHandleFactory& tensorHandleFactory); 242 243 // NotEqual 244 LayerTestResult<uint8_t, 4> NotEqualSimpleTest( 245 armnn::IWorkloadFactory& workloadFactory, 246 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 247 const armnn::ITensorHandleFactory& tensorHandleFactory); 248 249 LayerTestResult<uint8_t, 4> NotEqualBroadcast1ElementTest( 250 armnn::IWorkloadFactory& workloadFactory, 251 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 252 const armnn::ITensorHandleFactory& tensorHandleFactory); 253 254 LayerTestResult<uint8_t, 4> NotEqualBroadcast1dVectorTest( 255 armnn::IWorkloadFactory& workloadFactory, 256 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 257 const armnn::ITensorHandleFactory& tensorHandleFactory); 258 259 LayerTestResult<uint8_t, 4> NotEqualSimpleFloat16Test( 260 armnn::IWorkloadFactory& workloadFactory, 261 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 262 const armnn::ITensorHandleFactory& tensorHandleFactory); 263 264 LayerTestResult<uint8_t, 4> NotEqualBroadcast1ElementFloat16Test( 265 armnn::IWorkloadFactory& workloadFactory, 266 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 267 const armnn::ITensorHandleFactory& tensorHandleFactory); 268 269 LayerTestResult<uint8_t, 4> NotEqualBroadcast1dVectorFloat16Test( 270 armnn::IWorkloadFactory& workloadFactory, 271 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 272 const armnn::ITensorHandleFactory& tensorHandleFactory); 273 274 LayerTestResult<uint8_t, 4> NotEqualSimpleUint8Test( 275 armnn::IWorkloadFactory& workloadFactory, 276 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 277 const armnn::ITensorHandleFactory& tensorHandleFactory); 278 279 LayerTestResult<uint8_t, 4> NotEqualBroadcast1ElementUint8Test( 280 armnn::IWorkloadFactory& workloadFactory, 281 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 282 const armnn::ITensorHandleFactory& tensorHandleFactory); 283 284 LayerTestResult<uint8_t, 4> NotEqualBroadcast1dVectorUint8Test( 285 armnn::IWorkloadFactory& workloadFactory, 286 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 287 const armnn::ITensorHandleFactory& tensorHandleFactory); 288