blob: 07162aa90490ea9bbb3c078835e4005b1fc465b7 [file] [log] [blame]
This test case tests that various types of arrays are working.
%module arrays
#include <stdlib.h>
#if defined(SWIGSCILAB)
%rename(ArrSt) ArrayStruct;
%inline %{
#define ARRAY_LEN 2
typedef enum {One, Two, Three, Four, Five} finger;
typedef struct {
double double_field;
} SimpleStruct;
typedef struct {
char array_c [ARRAY_LEN];
signed char array_sc[ARRAY_LEN];
unsigned char array_uc[ARRAY_LEN];
short array_s [ARRAY_LEN];
unsigned short array_us[ARRAY_LEN];
int array_i [ARRAY_LEN];
unsigned int array_ui[ARRAY_LEN];
long array_l [ARRAY_LEN];
unsigned long array_ul[ARRAY_LEN];
long long array_ll[ARRAY_LEN];
float array_f [ARRAY_LEN];
double array_d [ARRAY_LEN];
SimpleStruct array_struct[ARRAY_LEN];
SimpleStruct* array_structpointers[ARRAY_LEN];
int* array_ipointers [ARRAY_LEN];
finger array_enum[ARRAY_LEN];
finger* array_enumpointers[ARRAY_LEN];
const int array_const_i[ARRAY_LEN];
} ArrayStruct;
void fn_taking_arrays(SimpleStruct array_struct[ARRAY_LEN]) {}
/* Pointer helper functions used in the Java run test */
int* newintpointer() {
return (int*)malloc(sizeof(int));
void setintfrompointer(int* intptr, int value) {
*intptr = value;
int getintfrompointer(int* intptr) {
return *intptr;
// This tests wrapping of function that involves pointer to array
%inline %{
void array_pointer_func(int (*x)[10]) {}
%inline %{
typedef float FLOAT;
typedef FLOAT cartPosition_t[3];
typedef struct {
cartPosition_t p;
} CartPoseData_t;