/usr/include/mlpack/tests/test_tools.hpp is in libmlpack-dev 2.1.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | /**
* @file test_tools.hpp
* @author Ryan Curtin
*
* This file includes some useful macros for tests.
*
* mlpack is free software; you may redistribute it and/or modify it under the
* terms of the 3-clause BSD license. You should have received a copy of the
* 3-clause BSD license along with mlpack. If not, see
* http://www.opensource.org/licenses/BSD-3-Clause for more information.
*/
#ifndef MLPACK_TESTS_TEST_TOOLS_HPP
#define MLPACK_TESTS_TEST_TOOLS_HPP
#include <boost/version.hpp>
// This is only necessary for pre-1.36 Boost.Test.
#if BOOST_VERSION < 103600
#include <boost/test/floating_point_comparison.hpp>
#include <boost/test/auto_unit_test.hpp>
// This depends on other macros. Probably not a great idea... but it works, and
// we only need it for ancient Boost versions.
#define BOOST_REQUIRE_GE( L, R ) \
BOOST_REQUIRE_EQUAL( (L >= R), true )
#define BOOST_REQUIRE_NE( L, R ) \
BOOST_REQUIRE_EQUAL( (L != R), true )
#define BOOST_REQUIRE_LE( L, R ) \
BOOST_REQUIRE_EQUAL( (L <= R), true )
#define BOOST_REQUIRE_LT( L, R ) \
BOOST_REQUIRE_EQUAL( (L < R), true )
#define BOOST_REQUIRE_GT( L, R ) \
BOOST_REQUIRE_EQUAL( (L > R), true )
#endif
// Require the approximation L to be within a relative error of E respect to the
// actual value R.
#define REQUIRE_RELATIVE_ERR( L, R, E ) \
BOOST_REQUIRE_LE( std::abs((R) - (L)), (E) * std::abs(R))
#endif
|