45             std::exit(m_failures != 0);
 
   47 #ifndef OIIO_UNIT_TEST_QUIET_SUCCESS 
   63     operator int() const noexcept { 
return m_failures; }
 
   70 template<
typename X, 
typename Y>
 
   87 operator<<(std::ostream& out, const std::vector<T>& 
v)
 
   93 static OIIO::pvt::UnitTestFailureCounter unit_test_failures;
 
  101 #define OIIO_CHECK_ASSERT(x)                                                  \ 
  103          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  104                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  106                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  108             (void)++unit_test_failures)) 
  110 #define OIIO_CHECK_EQUAL(x, y)                                                \ 
  113          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  114                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  116                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  117                        << " == " << #y << "\n"                                \ 
  118                        << "\tvalues were '" << (x) << "' and '" << (y)        \ 
  120             (void)++unit_test_failures)) 
  122 #define OIIO_CHECK_FALSE(x) OIIO_CHECK_EQUAL(x, false) 
  124 #define OIIO_CHECK_EQUAL_THRESH(x, y, eps)                                    \ 
  125     ((std::abs((x) - (y)) <= eps)                                             \ 
  127          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  128                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  130                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  131                        << " == " << #y << "\n"                                \ 
  132                        << "\tvalues were '" << (x) << "' and '" << (y) << "'" \ 
  133                        << ", diff was " << std::abs((x) - (y)) << "\n"),      \ 
  134             (void)++unit_test_failures)) 
  136 #define OIIO_CHECK_EQUAL_THRESH_REL(x, y, epsabs, epsrel)                     \ 
  137     ((std::abs((x) - (y)) <= (epsabs + epsrel * std::max(abs(x), abs(y))))    \ 
  139          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  140                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  142                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  143                        << " == " << #y << "\n"                                \ 
  144                        << "\tvalues were '" << (x) << "' and '" << (y) << "'" \ 
  145                        << ", diff was " << std::abs((x) - (y)) << "\n"),      \ 
  146             (void)++unit_test_failures)) 
  148 #define OIIO_CHECK_EQUAL_APPROX(x, y)                                         \ 
  149     (OIIO::pvt::equal_approx(x, y)                                            \ 
  151          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  152                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  154                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  155                        << " == " << #y << "\n"                                \ 
  156                        << "\tvalues were '" << (x) << "' and '" << (y) << "'" \ 
  157                        << ", diff was " << ((x) - (y)) << "\n"),              \ 
  158             (void)++unit_test_failures)) 
  160 #define OIIO_CHECK_NE(x, y)                                                   \ 
  163          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  164                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  166                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  167                        << " != " << #y << "\n"                                \ 
  168                        << "\tvalues were '" << (x) << "' and '" << (y)        \ 
  170             (void)++unit_test_failures)) 
  172 #define OIIO_CHECK_LT(x, y)                                                   \ 
  175          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  176                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  178                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  179                        << " < " << #y << "\n"                                 \ 
  180                        << "\tvalues were '" << (x) << "' and '" << (y)        \ 
  182             (void)++unit_test_failures)) 
  184 #define OIIO_CHECK_GT(x, y)                                                   \ 
  187          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  188                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  190                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  191                        << " > " << #y << "\n"                                 \ 
  192                        << "\tvalues were '" << (x) << "' and '" << (y)        \ 
  194             (void)++unit_test_failures)) 
  196 #define OIIO_CHECK_LE(x, y)                                                   \ 
  199          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  200                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  202                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  203                        << " <= " << #y << "\n"                                \ 
  204                        << "\tvalues were '" << (x) << "' and '" << (y)        \ 
  206             (void)++unit_test_failures)) 
  208 #define OIIO_CHECK_GE(x, y)                                                   \ 
  211          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  212                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  214                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  215                        << " >= " << #y << "\n"                                \ 
  216                        << "\tvalues were '" << (x) << "' and '" << (y)        \ 
  218             (void)++unit_test_failures)) 
  222 #define OIIO_CHECK_SIMD_EQUAL(x, y)                                           \ 
  225          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  226                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  228                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  229                        << " == " << #y << "\n"                                \ 
  230                        << "\tvalues were '" << (x) << "' and '" << (y)        \ 
  232             (void)++unit_test_failures)) 
  234 #define OIIO_CHECK_SIMD_EQUAL_THRESH(x, y, eps)                               \ 
  235     (all(abs((x) - (y)) <= (eps))                                             \ 
  237          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  238                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  240                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  241                        << " == " << #y << "\n"                                \ 
  242                        << "\tvalues were '" << (x) << "' and '" << (y)        \ 
  244             (void)++unit_test_failures)) 
  255 #define OIIO_CHECK_IMAGEBUF_STATUS(buf, x)                                    \ 
  256     ((x && !buf.has_error())                                                  \ 
  258          : ((std::cout << OIIO::Sysutil::Term(std::cout).ansi("red,bold")     \ 
  259                        << __FILE__ << ":" << __LINE__ << ":\n"                \ 
  261                        << OIIO::Sysutil::Term(std::cout).ansi("normal") << #x \ 
  262                        << ": " << buf.geterror() << "\n"),                    \ 
  263             (void)++unit_test_failures)) 
vint4 max(const vint4 &a, const vint4 &b)
 
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
 
String-related utilities, all in namespace Strutil. 
 
SIM_API const UT_StringHolder all
 
vint4 abs(const vint4 &a)
 
std::string ansi(string_view command) const 
 
Platform-independent utilities for various OS, hardware, and system resource functionality, all in namespace Sysutil. 
 
int operator++(int) noexcept
 
~UnitTestFailureCounter()
 
const UnitTestFailureCounter & operator++() noexcept
 
UnitTestFailureCounter() noexcept
 
float max(float x, float y)
 
IMATH_INTERNAL_NAMESPACE_HEADER_ENTER IMATH_HOSTDEVICE constexpr T abs(T a) IMATH_NOEXCEPT
 
#define OIIO_NAMESPACE_END
 
Classes for SIMD processing. 
 
UnitTestFailureCounter operator+=(int i) noexcept
 
#define OIIO_NAMESPACE_BEGIN
 
bool equal_approx(const X &x, const Y &y)