Line data Source code
1 : // Copyright (C) 2015 Technische Universitaet Muenchen 2 : // This file is part of the Mamico project. For conditions of distribution 3 : // and use, please see the copyright notice in Mamico's main folder, or at 4 : // www5.in.tum.de/mamico 5 : #ifndef _TARCH_LA_SCALAROPERATIONS_H_ 6 : #define _TARCH_LA_SCALAROPERATIONS_H_ 7 : #include <cmath> 8 : /** namespace tarch */ 9 : namespace tarch { 10 : /** namespace la */ 11 : namespace la { 12 : 13 : /** This function template checks if the difference of two given numbers is 14 : *smaller than a given tolerance i.e. if they are mathematically equal. 15 : * @tparam T data type 16 : * @param l First number 17 : * @param r Second number 18 : * @param tolerance Tolerance 19 : * @return 1: if they are equal. 0: if the are not equal. 20 : * @author Philipp Neumann 21 : */ 22 : 23 0 : template <class T> inline bool equals(const T& l, const T& r, const T& tolerance) { return std::abs(l - r) <= tolerance; } 24 : 25 : } // namespace la 26 : } // namespace tarch 27 : #endif