PageRenderTime 54ms CodeModel.GetById 28ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/Examples/test-suite/arrays_global_twodim.i

#
Swig | 61 lines | 45 code | 13 blank | 3 comment | 0 complexity | 9ec491645a2058a905f668718347d719 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. /*
  2. Two dimension arrays
  3. */
  4. %module arrays_global_twodim
  5. %inline %{
  6. #define ARRAY_LEN_X 2
  7. #define ARRAY_LEN_Y 4
  8. typedef enum {One, Two, Three, Four, Five} finger;
  9. typedef struct {
  10. double double_field;
  11. } SimpleStruct;
  12. char array_c [ARRAY_LEN_X][ARRAY_LEN_Y];
  13. signed char array_sc[ARRAY_LEN_X][ARRAY_LEN_Y];
  14. unsigned char array_uc[ARRAY_LEN_X][ARRAY_LEN_Y];
  15. short array_s [ARRAY_LEN_X][ARRAY_LEN_Y];
  16. unsigned short array_us[ARRAY_LEN_X][ARRAY_LEN_Y];
  17. int array_i [ARRAY_LEN_X][ARRAY_LEN_Y];
  18. unsigned int array_ui[ARRAY_LEN_X][ARRAY_LEN_Y];
  19. long array_l [ARRAY_LEN_X][ARRAY_LEN_Y];
  20. unsigned long array_ul[ARRAY_LEN_X][ARRAY_LEN_Y];
  21. long long array_ll[ARRAY_LEN_X][ARRAY_LEN_Y];
  22. float array_f [ARRAY_LEN_X][ARRAY_LEN_Y];
  23. double array_d [ARRAY_LEN_X][ARRAY_LEN_Y];
  24. SimpleStruct array_struct[ARRAY_LEN_X][ARRAY_LEN_Y];
  25. SimpleStruct* array_structpointers[ARRAY_LEN_X][ARRAY_LEN_Y];
  26. int* array_ipointers [ARRAY_LEN_X][ARRAY_LEN_Y];
  27. finger array_enum[ARRAY_LEN_X][ARRAY_LEN_Y];
  28. finger* array_enumpointers[ARRAY_LEN_X][ARRAY_LEN_Y];
  29. const int array_const_i[ARRAY_LEN_X][ARRAY_LEN_Y] = { {10, 11, 12, 13}, {14, 15, 16, 17} };
  30. void fn_taking_arrays(SimpleStruct array_struct[ARRAY_LEN_X][ARRAY_LEN_Y]) {}
  31. int get_2d_array(int (*array)[ARRAY_LEN_Y], int x, int y){
  32. return array[x][y];
  33. }
  34. %}
  35. #ifdef __cplusplus
  36. %inline
  37. {
  38. struct Material
  39. {
  40. };
  41. enum {
  42. Size = 32
  43. };
  44. const Material * chitMat[Size][Size];
  45. Material hitMat_val[Size][Size];
  46. Material *hitMat[Size][Size];
  47. }
  48. #endif