Function arm_unpack_f32

Function Documentation

arm_cmsis_nn_status arm_unpack_f32(const float32_t *input_data, int32_t input_dims, const int32_t *input_shape, int32_t axis, float32_t *const *output_data)

Unstack a float32 tensor along one axis into input_shape[axis] tensors (TFLite UNPACK).

Inverse of arm_pack_f32: output s is the input with the axis fixed at index s and removed from the shape. Bit copy, NaN/Inf/-0/subnormal payloads preserved. Outputs must not overlap the input.

Parameters:
  • input_data[in] Pointer to the flattened (row-major) input.

  • input_dims[in] Number of dimensions in input_shape (>= 1).

  • input_shape[in] Input shape; input_shape[axis] (>= 1) is the number of outputs.

  • axis[in] Axis to unstack (0 <= axis < input_dims).

  • output_data[out] Array of input_shape[axis] pointers to the flattened outputs.

Returns:

ARM_CMSIS_NN_SUCCESS, or ARM_CMSIS_NN_ARG_ERROR (outputs untouched) on an invalid rank, axis, shape entry, a zero-extent unstack axis (no outputs to produce), NULL pointer or an element count above INT32_MAX.