BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
gsldefs.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __GSL_DEFS_H__
3 #define __GSL_DEFS_H__
4 
5 #include <sfi/sfi.hh>
6 #include <sfi/sfistore.hh>
7 
8 
9 G_BEGIN_DECLS
10 
11 /* --- forward decls --- */
12 typedef struct _GslMagic GslMagic;
13 typedef struct _GslDataCache GslDataCache;
14 typedef struct _GslDataHandle GslDataHandle;
15 typedef struct _GslDataHandleFuncs GslDataHandleFuncs;
16 typedef struct _GslWaveChunk GslWaveChunk;
17 typedef struct _GslWaveChunkBlock GslWaveChunkBlock;
18 /* ssize_t/off_t type used within Gsl */
19 
20 /*
21  * FIXME: GslLong is a temporary typedef - it should go away after all
22  * code that uses GslLong has been ported to use int64 (as defined in
23  * sfitypes.h).
24  */
25 typedef long long int GslLong;
26 static_assert (sizeof (GslLong) == 8, "GslLong");
27 #define GSL_MAXLONG G_MAXINT64;
28 #define GSL_MINLONG G_MININT64;
29 
30 
31 /* --- functions --- */
32 typedef void (*GslFreeFunc) (gpointer data);
33 
34 
35 /* --- implementation details --- */
36 #if __GNUC__ >= 3 && defined __OPTIMIZE__
37 # define GSL_GCC_PREFETCH(addr) (__builtin_prefetch (addr, 0))
38 # define GSL_GCC_RPREFETCH(addr) (__builtin_prefetch (addr, 0))
39 # define GSL_GCC_WPREFETCH(addr) (__builtin_prefetch (addr, 1))
40 #else
41 # define GSL_GCC_PREFETCH(addr) /* addr */
42 # define GSL_GCC_RPREFETCH(addr) /* addr */
43 # define GSL_GCC_WPREFETCH(addr) /* addr */
44 #endif
45 
46 G_END_DECLS
47 
48 #endif /* __GSL_DEFS_H__ */
49 
50 /* vim:set ts=8 sw=2 sts=2: */
Definition: gsldatacache.hh:16
Definition: gsldatahandle.hh:24
Definition: gslwavechunk.hh:66
Definition: gsldatahandle.hh:38
Definition: gslwavechunk.hh:23
Definition: gslmagic.hh:16