blob: 803b76ae1397cdeda7f355343ec540762b8861ca [file] [log] [blame]
// Copyright (c) 2022, ARM Limited.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// THIS FILE IS GENERATED. DO NOT EDIT!
// See scripts/operator_api/generate_api.py
#ifndef OPERATORS_H_
#define OPERATORS_H_
#include <stddef.h>
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
// Note status needs to be aligned with graph_status
enum tosa_status_t
{
tosa_status_valid = 0,
tosa_status_unpredictable = 1,
tosa_status_error = 2
};
enum tosa_mode_t
{
tosa_mode_unknown = 0,
tosa_mode_nearest = 1,
tosa_mode_bilinear = 2,
tosa_mode_min = 3,
tosa_mode_max = 4
};
enum tosa_datatype_t
{
{% for dataType in dataTypes: -%}
{{dataType}} = {{loop.index-1}},
{% endfor -%}
};
struct tosa_tensor_t
{
int32_t* shape;
int32_t num_dims;
tosa_datatype_t data_type;
uint8_t* data;
size_t size;
};
{% for operator in operators: %}
tosa_status_t tosa_run_{{ operator.name }} (
{%- for arg in operator.arguments: -%}
{% if arg.type != "tosa_tensor_t" -%}const {% endif -%}{{arg.type}} client_{{arg.name}}{{arg.shape}}
{% if loop.index < operator.arguments|length %},{% endif %}
{%- endfor -%});
{% endfor %}
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif // OPERATORS_H_