| 1826 | namespace |
| 1827 | { |
| 1828 | Status validate_arguments_complex(const ITensorInfo *src1, const ITensorInfo *src2, const ITensorInfo *dst) |
| 1829 | { |
| 1830 | ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(src1, 2, DataType::F32); |
| 1831 | ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(src2, 2, DataType::F32); |
| 1832 | ARM_COMPUTE_RETURN_ERROR_ON_SIZE_UNSUPPORTED(src1, src2); |
| 1833 | |
| 1834 | const TensorShape &out_shape = TensorShape::broadcast_shape(src1->tensor_shape(), src2->tensor_shape()); |
| 1835 | |
| 1836 | ARM_COMPUTE_RETURN_ERROR_ON_MSG(out_shape.total_size() == 0, "Inputs are not broadcast compatible"); |
| 1837 | |
| 1838 | // Validate in case of configured dst |
| 1839 | if (dst->total_size() > 0) |
| 1840 | { |
| 1841 | ARM_COMPUTE_RETURN_ERROR_ON_SIZE_UNSUPPORTED(dst); |
| 1842 | ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(dst, 2, DataType::F32); |
| 1843 | ARM_COMPUTE_RETURN_ERROR_ON_MSG(detail::have_different_dimensions(out_shape, dst->tensor_shape(), 0), |
| 1844 | "Wrong shape for dst"); |
| 1845 | } |
| 1846 | else |
| 1847 | { |
| 1848 | const auto dst_info = TensorInfo(out_shape, 2, src1->data_type()); |
| 1849 | ARM_COMPUTE_RETURN_ERROR_ON_SIZE_UNSUPPORTED(&dst_info); |
| 1850 | } |
| 1851 | |
| 1852 | return Status{}; |
| 1853 | } |
| 1854 | } // namespace |
| 1855 | |
| 1856 | void CpuComplexMulKernel::configure(ITensorInfo *src1, ITensorInfo *src2, ITensorInfo *dst) |
no test coverage detected