@@ -286,6 +286,22 @@ odla_Slice(odla_value input, const odla_uint32* start, const odla_uint32* end,
286
286
const odla_uint32 * stride , odla_value_shape output_dims ,
287
287
const odla_value_id value_id );
288
288
289
+ //! \brief Extract a dynamic slice
290
+ /*!
291
+ SliceDynamic extracts a dynamic slice from \p input.
292
+
293
+ \param input the input value
294
+ \param start the offets at each slicing dimension
295
+ \param size the number of elements at each slicing dimension
296
+ \param output_dims the optional output shape (can be undefined)
297
+ \param value_id a unique value id (can be NULL)
298
+
299
+ \return odla_value
300
+ */
301
+ extern ODLA_API_EXPORT odla_value ODLA_API_CALL odla_SliceDynamic (
302
+ odla_value input , const odla_uint32 * start , const odla_uint32 * size ,
303
+ odla_value_shape output_dims , const odla_value_id value_id );
304
+
289
305
//! \brief Remove dimensions of size 1
290
306
/*!
291
307
Squeeze removes dimensions of size 1 from the shape of \p input.
@@ -303,6 +319,22 @@ extern ODLA_API_EXPORT odla_value ODLA_API_CALL
303
319
odla_Squeeze (odla_value input , odla_size_t num_of_axes , const odla_uint32 * axes ,
304
320
odla_value_shape output_dims , const odla_value_id value_id );
305
321
322
+ //! \brief Join a sequence of Values along a new axis.
323
+ /*!
324
+ Stack joins multiple values into single one along a new axis. All inputs
325
+ must have the same dimension.
326
+
327
+ \param inputs the input values
328
+ \param axis the index of the new axis in the dimensions of the result
329
+ \param output_shape the result shape
330
+ \param value_id a unique value id (can be NULL)
331
+
332
+ \return odla_value
333
+ */
334
+ extern ODLA_API_EXPORT odla_value ODLA_API_CALL
335
+ odla_Stack (odla_values inputs , odla_int32 axis , odla_value_shape output_shape ,
336
+ const odla_value_id value_id );
337
+
306
338
//! \brief Transpose the input
307
339
/*!
308
340
Transpose returns a transposed value based on the \p permutation.
0 commit comments