class library: Volume - use ServerBoot to send synthdef
[supercollider.git] / server / supernova / utilities / branch_hints.hpp
blobbcecc2220b09a763f10f3fe9c2e8640c46163eb1
1 // $Id$
2 //
3 // branch hints
4 // Copyright (C) 2007 Tim Blechmann
5 //
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 2 of the License, or
9 // (at your option) any later version.
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with this program; see the file COPYING. If not, write to
18 // the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 // Boston, MA 02111-1307, USA.
21 // $Revision$
22 // $LastChangedRevision$
23 // $LastChangedDate$
24 // $LastChangedBy$
26 #ifndef BRANCH_HINTS_HPP
27 #define BRANCH_HINTS_HPP
30 namespace nova
32 /** \brief hint for the branch prediction */
33 inline bool likely(bool expr)
35 #ifdef __GNUC__
36 return __builtin_expect(expr, true);
37 #else
38 return expr;
39 #endif
42 /** \brief hint for the branch prediction */
43 inline bool unlikely(bool expr)
45 #ifdef __GNUC__
46 return __builtin_expect(expr, false);
47 #else
48 return expr;
49 #endif
53 #endif /* BRANCH_HINTS_HPP */