My Project
defines3d.hh
Go to the documentation of this file.
1/* -*- mia-c++ -*-
2 *
3 * This file is part of MIA - a toolbox for medical image analysis
4 * Copyright (c) Leipzig, Madrid 1999-2017 Gert Wollny
5 *
6 * MIA 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 3 of the License, or
9 * (at your option) any later version.
10 *
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.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with MIA; if not, see <http://www.gnu.org/licenses/>.
18 *
19 */
20
21#ifndef mia_3d_defines_hh
22#define mia_3d_defines_hh
23
24#ifdef WIN32
25# include <cstdlib>
26inline double drand48()
27{
28 return double(rand()) / RAND_MAX;
29}
30#endif
31
32#ifdef WIN32
33# ifdef mia3d_EXPORTS
34# define EXPORT_3D __declspec(dllexport)
35# else
36# define EXPORT_3D __declspec(dllimport)
37# endif
38# ifdef mia3dtest_EXPORTS
39# define EXPORT_3DTEST __declspec(dllexport)
40# else
41# define EXPORT_3DTEST __declspec(dllimport)
42# endif
43#else
44# ifdef __GNUC__
45# define EXPORT_3D __attribute__((visibility("default")))
46# define EXPORT_3DTEST __attribute__((visibility("default")))
47# else
48# define EXPORT_3D
49# define EXPORT_3DTEST
50# endif
51#endif
52
53#ifdef mia3d_EXPORTS
54# ifdef VSTREAM
55# undef VSTREAM
56# endif
57# define VSTREAM "MIA3D"
58#endif
59
60#ifdef mia3dtest_EXPORTS
61# ifdef VSTREAM
62# undef VSTREAM
63# endif
64# define VSTREAM "MIA3DTEST"
65#endif
66
67
68#endif