Go to the documentation of this file.
22 #ifndef SINGULAR_singular_defs_h_
23 #define SINGULAR_singular_defs_h_
26 #ifdef HAVE_NAMESPACES
28 #define BEGIN_NAMESPACE(a) namespace a {
29 #define END_NAMESPACE }
31 #define USING_NAMESPACE(a) using namespace a;
32 #define FROM_NAMESPACE(a, s) a :: s
36 #define BEGIN_NAMESPACE(a)
39 #define USING_NAMESPACE(a)
40 #define FROM_NAMESPACE(a, s) s
45 #define SINGULARXXNAME Singular
47 #define BEGIN_NAMESPACE_SINGULARXX BEGIN_NAMESPACE(SINGULARXXNAME)
48 #define END_NAMESPACE_SINGULARXX END_NAMESPACE
50 #define USING_NAMESPACE_SINGULARXX USING_NAMESPACE(SINGULARXXNAME)
51 #define FROM_NAMESPACE_SINGULARXXNAME(s) FROM_NAMESPACE(SINGULARXXNAME, s)
53 #define BEGIN_NAMESPACE_NONAME BEGIN_NAMESPACE()
58 # define SINGULARXX_THROW(type) throw type();
60 # define SINGULARXX_THROW(type) Werror(type().what());
65 #define LIKELY(expression) (__builtin_expect(!!(expression), 1))
66 #define UNLIKELY(expression) (__builtin_expect(!!(expression), 0))
68 #define LIKELY(expression) (expression)
69 #define UNLIKELY(expression) (expression)