blob: 36e1d7b3e483ea04280a9d61ee45a53605780a90 [file] [log] [blame]
// Copyright (c) 2023, 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.
//===----------------------------------------------------------------------===//
//
// Verification functionality as per TOSA Specification
// Output Verification : Section 1.8.2
//
//===----------------------------------------------------------------------===//
#ifndef VERIFY_H
#define VERIFY_H
#include "types.h"
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
/// \brief Perform compliance validation between a reference and a target output
///
/// A compliance configuration is expected as it provides information about
/// the type of validation to be performed alongside with all the relevant
/// meta-data. Configuration is provided in JSON format.
///
/// \param ref Reference tensor to compare against
/// \param ref_bnd (Optional) Reference tensor when run on absolute inputs
/// \param imp Implementation resulting tensor
/// \param config_json Compliance configuration that indicates how and what compliance need to be performed
///
/// \return True in case of successful validation else false
bool tvf_verify_data(const tosa_tensor_t* ref,
const tosa_tensor_t* ref_bnd,
const tosa_tensor_t* imp,
const char* config_json);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif // VERIFY_H