Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
cassert.hh
Go to the documentation of this file.
1 #ifndef VCSN_MISC_CASSERT_HH_
2 # define VCSN_MISC_CASSERT_HH_
3 
4 /*-------------------.
5 | likely, unlikely. |
6 `-------------------*/
7 
8 // Instrumentation of conditional values (hand made profiling).
9 //
10 // if (unlikely(condition))
11 // {
12 // // Handle fallback, errors and this will never be executed in a
13 // // normal running process.
14 // }
15 
16 # define likely(Exp) __builtin_expect(!!(Exp), 1)
17 # define unlikely(Exp) __builtin_expect(!!(Exp), 0)
18 
19 #endif /* !VCSN_MISC_CASSERT_HH_ */