44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
// Copyright (C) 2018-2025 Intel Corporation
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
|
|
/**
|
|
* @brief This is a header file for ov_shape C API
|
|
*
|
|
* @file ov_shape.h
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "openvino/c/ov_common.h"
|
|
|
|
/**
|
|
* @struct ov_shape_t
|
|
* @ingroup ov_shape_c_api
|
|
* @brief Reprents a static shape.
|
|
*/
|
|
typedef struct {
|
|
int64_t rank; //!< the rank of shape
|
|
int64_t* dims; //!< the dims of shape
|
|
} ov_shape_t;
|
|
|
|
/**
|
|
* @brief Initialize a fully shape object, allocate space for its dimensions and set its content id dims is not null.
|
|
* @ingroup ov_shape_c_api
|
|
* @param rank The rank value for this object, it should be more than 0(>0)
|
|
* @param dims The dimensions data for this shape object, it's size should be equal to rank.
|
|
* @param shape The input/output shape object pointer.
|
|
* @return ov_status_e The return status code.
|
|
*/
|
|
OPENVINO_C_API(ov_status_e)
|
|
ov_shape_create(const int64_t rank, const int64_t* dims, ov_shape_t* shape);
|
|
|
|
/**
|
|
* @brief Free a shape object's internal memory.
|
|
* @ingroup ov_shape_c_api
|
|
* @param shape The input shape object pointer.
|
|
* @return ov_status_e The return status code.
|
|
*/
|
|
OPENVINO_C_API(ov_status_e)
|
|
ov_shape_free(ov_shape_t* shape);
|