| 174 | } |
| 175 | |
| 176 | af_err af_maxfilt(af_array *out, const af_array in, const dim_t wind_length, |
| 177 | const dim_t wind_width, const af_border_type edge_pad) { |
| 178 | try { |
| 179 | ARG_ASSERT(2, (wind_length == wind_width)); |
| 180 | ARG_ASSERT(2, (wind_length > 0)); |
| 181 | ARG_ASSERT(3, (wind_width > 0)); |
| 182 | ARG_ASSERT(4, (edge_pad == AF_PAD_ZERO)); |
| 183 | |
| 184 | const ArrayInfo &info = getInfo(in); |
| 185 | af::dim4 dims = info.dims(); |
| 186 | |
| 187 | dim_t input_ndims = dims.ndims(); |
| 188 | DIM_ASSERT(1, (input_ndims >= 2)); |
| 189 | |
| 190 | af_array mask; |
| 191 | dim_t wdims[] = {wind_length, wind_width}; |
| 192 | AF_CHECK(af_constant(&mask, 1, 2, wdims, info.getType())); |
| 193 | |
| 194 | AF_CHECK(af_dilate(out, in, mask)); |
| 195 | |
| 196 | AF_CHECK(af_release_array(mask)); |
| 197 | } |
| 198 | CATCHALL; |
| 199 | |
| 200 | return AF_SUCCESS; |
| 201 | } |
no test coverage detected