Function arm_concatenation_f16

Function Documentation

arm_cmsis_nn_status arm_concatenation_f16(const float16_t *const *input_data, int32_t num_inputs, const int32_t *axis_sizes, int32_t output_dims, const int32_t *output_shape, int32_t axis, float16_t *output_data)

Concatenate float32 tensors of any rank along one axis.

Rank-agnostic sibling of the 4-D per-axis arm_concatenation_f32_{x,y,z,w} entry points: all inputs at once, any rank, any axis. Bit copy, NaN/Inf/-0/subnormal payloads preserved. Input s has the output shape with output_shape[axis] replaced by axis_sizes[s]; the inputs are laid down in order along the axis. Inputs must not overlap the output. A dimension of 0 is accepted and copies nothing.

Parameters:
  • input_data[in] Array of num_inputs pointers to the flattened (row-major) inputs.

  • num_inputs[in] Number of inputs (>= 1).

  • axis_sizes[in] Array of length num_inputs: each input’s extent along axis.

  • output_dims[in] Number of dimensions in output_shape (>= 1).

  • output_shape[in] Output shape; output_shape[axis] must equal the sum of axis_sizes.

  • axis[in] Axis to concatenate along (0 <= axis < output_dims).

  • output_data[out] Pointer to the flattened output.

Returns:

ARM_CMSIS_NN_SUCCESS, or ARM_CMSIS_NN_ARG_ERROR (output untouched) on an invalid rank, axis, shape entry, size entry, size sum, NULL pointer or an element count above INT32_MAX.