libsidplayfp 2.4.2
siddefs-fp.h
1// ---------------------------------------------------------------------------
2// This file is part of reSID, a MOS6581 SID emulator engine.
3// Copyright (C) 1999 Dag Lem <resid@nimrod.no>
4//
5// This program is free software; you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation; either version 2 of the License, or
8// (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15// You should have received a copy of the GNU General Public License
16// along with this program; if not, write to the Free Software
17// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18// ---------------------------------------------------------------------------
19
20#ifndef SIDDEFS_FP_H
21#define SIDDEFS_FP_H
22
23// Compilation configuration.
24#define RESID_BRANCH_HINTS 1
25
26// Compiler specifics.
27#define HAVE_BUILTIN_EXPECT 1
28
29#ifndef M_PI
30# define M_PI 3.14159265358979323846
31#endif
32
33// Branch prediction macros, lifted off the Linux kernel.
34#if RESID_BRANCH_HINTS && HAVE_BUILTIN_EXPECT
35# define likely(x) __builtin_expect(!!(x), 1)
36# define unlikely(x) __builtin_expect(!!(x), 0)
37#else
38# define likely(x) (x)
39# define unlikely(x) (x)
40#endif
41
42namespace reSIDfp {
43
44typedef enum { MOS6581=1, MOS8580 } ChipModel;
45
46typedef enum { DECIMATE=1, RESAMPLE } SamplingMethod;
47}
48
49extern "C"
50{
51#ifndef __VERSION_CC__
52extern const char* residfp_version_string;
53#else
54const char* residfp_version_string = "2.4.2";
55#endif
56}
57
58// Inlining on/off.
59#define RESID_INLINING 1
60#define RESID_INLINE inline
61
62#endif // SIDDEFS_FP_H