Thrill  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
likely.hpp
Go to the documentation of this file.
1 /*******************************************************************************
2  * tlx/define/likely.hpp
3  *
4  * Part of tlx - http://panthema.net/tlx
5  *
6  * Copyright (C) 2015-2017 Timo Bingmann <[email protected]>
7  *
8  * All rights reserved. Published under the Boost Software License, Version 1.0
9  ******************************************************************************/
10 
11 #ifndef TLX_DEFINE_LIKELY_HEADER
12 #define TLX_DEFINE_LIKELY_HEADER
13 
14 namespace tlx {
15 
16 #if defined(__GNUC__) || defined(__clang__)
17 #define TLX_LIKELY(c) __builtin_expect((c), 1)
18 #define TLX_UNLIKELY(c) __builtin_expect((c), 0)
19 #else
20 #define TLX_LIKELY(c) c
21 #define TLX_UNLIKELY(c) c
22 #endif
23 
24 } // namespace tlx
25 
26 #endif // !TLX_DEFINE_LIKELY_HEADER
27 
28 /******************************************************************************/