MCPcopy Create free account
hub / github.com/ARM-software/ComputeLibrary / validate_arguments_complex

Function validate_arguments_complex

src/cpu/kernels/CpuMulKernel.cpp:1828–1853  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1826namespace
1827{
1828Status 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
1856void CpuComplexMulKernel::configure(ITensorInfo *src1, ITensorInfo *src2, ITensorInfo *dst)

Callers 2

configureMethod · 0.70
validateMethod · 0.70

Calls 4

TensorInfoClass · 0.50
total_sizeMethod · 0.45
data_typeMethod · 0.45

Tested by

no test coverage detected