summaryrefslogtreecommitdiff
path: root/tools/swig/test/Flat.h
blob: 87e6998c676cd051490d0bbfa144a56eafeea7a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef FLAT_H
#define FLAT_H

// The following macro defines the prototypes for a family of
// functions that work with arrays with the forms
//
//     void SNAMEProcess(TYPE * array,  int size);
//
// for any specified type TYPE (for example: short, unsigned int, long
// long, etc.) with given short name SNAME (for example: short, uint,
// longLong, etc.).  The macro is then expanded for the given
// TYPE/SNAME pairs.  The resulting functions are for testing numpy
// interfaces for:
//
//  * in-place arrays (arbitrary number of dimensions) with a fixed number of elements
//
#define TEST_FUNC_PROTOS(TYPE, SNAME) \
\
void SNAME ## Process(TYPE * array, int size); \

TEST_FUNC_PROTOS(signed char       , schar    )
TEST_FUNC_PROTOS(unsigned char     , uchar    )
TEST_FUNC_PROTOS(short             , short    )
TEST_FUNC_PROTOS(unsigned short    , ushort   )
TEST_FUNC_PROTOS(int               , int      )
TEST_FUNC_PROTOS(unsigned int      , uint     )
TEST_FUNC_PROTOS(long              , long     )
TEST_FUNC_PROTOS(unsigned long     , ulong    )
TEST_FUNC_PROTOS(long long         , longLong )
TEST_FUNC_PROTOS(unsigned long long, ulongLong)
TEST_FUNC_PROTOS(float             , float    )
TEST_FUNC_PROTOS(double            , double   )

#endif