blob: c15b379a4d801ca9177753760ab4aabd42e0db22 [file] [log] [blame]
John Mcloughlin0ec00872023-05-15 17:03:49 +01001//
2// Copyright © 2023 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include <cmath>
9
10namespace armnn
11{
12
13template<typename T>
14struct squaredDifference
15{
16 typedef T result_type;
17 typedef T first_argument_type;
18
19 T
20 operator()(const T& input1, const T& input2) const
21 {
22 float diff = std::minus<>{}(static_cast<float>(input1),static_cast<float>(input2));
23 T squaredDiff = armnn::numeric_cast<T>(std::pow(static_cast<float>(diff), 2));
24 return squaredDiff;
25 }
26};
27
28} //namespace armnn