// 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. #ifndef VERIFIERS_H_ #define VERIFIERS_H_ #include "verify_utils.h" namespace TosaReference { /// \brief Perform dot-product based verification /// /// \param ref Reference tensor /// \param refBnd Reference tensor when ran on abs(input) /// \param imp Implementation resulting tensor /// \param dpInfo Dot-product verification meta-data /// /// \return True if compliant else false bool verifyDotProduct(const CTensor* ref, const CTensor* refBnd, const CTensor* imp, const DotProductVerifyInfo& dpInfo); /// \brief Perform exact result verification /// /// \param referenceTensor Reference tensor /// \param implementationTensor Implementation resulting tensor /// /// \return True if compliant else false bool verifyExact(const CTensor* referenceTensor, const CTensor* implementationTensor); }; // namespace TosaReference #endif // VERIFIERS_H_