Go to the documentation of this file.
15 #define FLA_CONSTANT_I_OFFSET 0
16 #define FLA_CONSTANT_S_OFFSET ( sizeof(double) )
17 #define FLA_CONSTANT_D_OFFSET ( sizeof(double) + sizeof(double) )
18 #define FLA_CONSTANT_C_OFFSET ( sizeof(double) + sizeof(double) + sizeof(double) )
19 #define FLA_CONSTANT_Z_OFFSET ( sizeof(double) + sizeof(double) + sizeof(double) + sizeof( scomplex ) )
20 #define FLA_CONSTANT_SIZE ( sizeof(double) + sizeof(double) + sizeof(double) + sizeof( scomplex ) + sizeof( dcomplex ) )
22 #define FLA_INT_PTR( x ) \
23 ( ((x).base)->datatype == FLA_CONSTANT ? \
24 ( ( int * ) ( ( ( char * ) ((x).base)->buffer ) + FLA_CONSTANT_I_OFFSET ) ) : \
25 ( ( ( int * ) ((x).base)->buffer ) + ( size_t ) (x).offn * ((x).base)->cs + \
26 ( size_t ) (x).offm * ((x).base)->rs ) )
28 #define FLA_FLOAT_PTR( x ) \
29 ( ((x).base)->datatype == FLA_CONSTANT ? \
30 ( ( float * ) ( ( ( char * ) ((x).base)->buffer ) + FLA_CONSTANT_S_OFFSET ) ) : \
31 ( ( ( float * ) ((x).base)->buffer ) + ( size_t ) (x).offn * ((x).base)->cs + \
32 ( size_t ) (x).offm * ((x).base)->rs ) )
34 #define FLA_DOUBLE_PTR( x ) \
35 ( ((x).base)->datatype == FLA_CONSTANT ? \
36 ( ( double * ) ( ( ( char * ) ((x).base)->buffer ) + FLA_CONSTANT_D_OFFSET ) ) : \
37 ( ( ( double * ) ((x).base)->buffer ) + ( size_t ) (x).offn * ((x).base)->cs + \
38 ( size_t ) (x).offm * ((x).base)->rs ) )
40 #define FLA_COMPLEX_PTR( x ) \
41 ( ((x).base)->datatype == FLA_CONSTANT ? \
42 ( ( scomplex * ) ( ( ( char * ) ((x).base)->buffer ) + FLA_CONSTANT_C_OFFSET ) ) : \
43 ( ( ( scomplex * ) ((x).base)->buffer ) + ( size_t ) (x).offn * ((x).base)->cs + \
44 ( size_t ) (x).offm * ((x).base)->rs ) )
46 #define FLA_DOUBLE_COMPLEX_PTR( x ) \
47 ( ((x).base)->datatype == FLA_CONSTANT ? \
48 ( ( dcomplex * ) ( ( ( char * ) ((x).base)->buffer ) + FLA_CONSTANT_Z_OFFSET ) ) : \
49 ( ( ( dcomplex * ) ((x).base)->buffer ) + ( size_t ) (x).offn * ((x).base)->cs + \
50 ( size_t ) (x).offm * ((x).base)->rs ) )