mirror of https://github.com/swig/swig
Add test and changes entry for Python -builtin %array_class fix
Issue https://github.com/swig/swig/issues/446
This commit is contained in:
parent
b630cc603c
commit
173c028dd4
|
@ -5,6 +5,10 @@ See the RELEASENOTES file for a summary of changes in each release.
|
|||
Version 3.0.11 (in progress)
|
||||
============================
|
||||
|
||||
2016-12-18: t-ikegami
|
||||
[Python] Fix https://github.com/swig/swig/issues/446
|
||||
Python %array_class of carrays.i failed with -builtin option.
|
||||
|
||||
2016-12-16: bcaine
|
||||
[Guile] Patch #744 Added support for Guile's native pointer functionality
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
%array_functions(int,intArray);
|
||||
%array_class(double, doubleArray);
|
||||
%array_class(short, shortArray);
|
||||
|
||||
%inline %{
|
||||
typedef struct {
|
||||
|
@ -26,3 +27,13 @@ AB globalABArray[3];
|
|||
%array_class(XY, XYArray)
|
||||
%array_functions(AB, ABArray)
|
||||
|
||||
%inline %{
|
||||
short sum_array(short x[5]) {
|
||||
short sum = 0;
|
||||
int i;
|
||||
for (i=0; i<5; i++) {
|
||||
sum = sum + x[i];
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
%}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
%array_functions(int,intArray);
|
||||
%array_class(double, doubleArray);
|
||||
%array_class(short, shortArray);
|
||||
|
||||
%inline %{
|
||||
typedef struct {
|
||||
|
@ -26,3 +27,13 @@ AB globalABArray[3];
|
|||
%array_class(XY, XYArray)
|
||||
%array_functions(AB, ABArray)
|
||||
|
||||
%inline %{
|
||||
short sum_array(short x[5]) {
|
||||
short sum = 0;
|
||||
int i;
|
||||
for (i=0; i<5; i++) {
|
||||
sum = sum + x[i];
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
%}
|
||||
|
|
|
@ -3,11 +3,11 @@ require "tests.php";
|
|||
require "li_carrays_cpp.php";
|
||||
|
||||
// Check functions.
|
||||
check::functions(array(new_intarray,delete_intarray,intarray_getitem,intarray_setitem,doublearray_getitem,doublearray_setitem,doublearray_cast,doublearray_frompointer,xyarray_getitem,xyarray_setitem,xyarray_cast,xyarray_frompointer,delete_abarray,abarray_getitem,abarray_setitem));
|
||||
check::functions(array(new_intarray,delete_intarray,intarray_getitem,intarray_setitem,doublearray_getitem,doublearray_setitem,doublearray_cast,doublearray_frompointer,xyarray_getitem,xyarray_setitem,xyarray_cast,xyarray_frompointer,delete_abarray,abarray_getitem,abarray_setitem,shortarray_getitem,shortarray_setitem,shortarray_cast,shortarray_frompointer,sum_array));
|
||||
|
||||
// Check classes.
|
||||
// NB An "li_carrays_cpp" class is created as a mock namespace.
|
||||
check::classes(array(li_carrays_cpp,doubleArray,AB,XY,XYArray));
|
||||
check::classes(array(li_carrays_cpp,doubleArray,AB,XY,XYArray,shortArray));
|
||||
|
||||
// Check global variables.
|
||||
check::globals(array(xy_x,xy_y,globalxyarray,ab_a,ab_b,globalabarray));
|
||||
|
|
|
@ -3,11 +3,11 @@ require "tests.php";
|
|||
require "li_carrays.php";
|
||||
|
||||
// Check functions.
|
||||
check::functions(array(new_intarray,delete_intarray,intarray_getitem,intarray_setitem,doublearray_getitem,doublearray_setitem,doublearray_cast,doublearray_frompointer,xyarray_getitem,xyarray_setitem,xyarray_cast,xyarray_frompointer,delete_abarray,abarray_getitem,abarray_setitem));
|
||||
check::functions(array(new_intarray,delete_intarray,intarray_getitem,intarray_setitem,doublearray_getitem,doublearray_setitem,doublearray_cast,doublearray_frompointer,xyarray_getitem,xyarray_setitem,xyarray_cast,xyarray_frompointer,delete_abarray,abarray_getitem,abarray_setitem,shortarray_getitem,shortarray_setitem,shortarray_cast,shortarray_frompointer,sum_array));
|
||||
|
||||
// Check classes.
|
||||
// NB An "li_carrays" class is created as a mock namespace.
|
||||
check::classes(array(li_carrays,doubleArray,AB,XY,XYArray));
|
||||
check::classes(array(li_carrays,doubleArray,AB,XY,XYArray,shortArray));
|
||||
|
||||
// Check global variables.
|
||||
check::globals(array(xy_x,xy_y,globalxyarray,ab_a,ab_b,globalabarray));
|
||||
|
|
|
@ -3,11 +3,11 @@ require "tests.php";
|
|||
require "li_carrays_cpp.php";
|
||||
|
||||
// Check functions.
|
||||
check::functions(array(new_intarray,delete_intarray,intarray_getitem,intarray_setitem,doublearray_getitem,doublearray_setitem,doublearray_cast,doublearray_frompointer,xyarray_getitem,xyarray_setitem,xyarray_cast,xyarray_frompointer,delete_abarray,abarray_getitem,abarray_setitem));
|
||||
check::functions(array(new_intarray,delete_intarray,intarray_getitem,intarray_setitem,doublearray_getitem,doublearray_setitem,doublearray_cast,doublearray_frompointer,xyarray_getitem,xyarray_setitem,xyarray_cast,xyarray_frompointer,delete_abarray,abarray_getitem,abarray_setitem,shortarray_getitem,shortarray_setitem,shortarray_cast,shortarray_frompointer,sum_array));
|
||||
|
||||
// Check classes.
|
||||
// NB An "li_carrays_cpp" class is created as a mock namespace.
|
||||
check::classes(array(li_carrays_cpp,doubleArray,AB,XY,XYArray));
|
||||
check::classes(array(li_carrays_cpp,doubleArray,AB,XY,XYArray,shortArray));
|
||||
|
||||
// Check global variables.
|
||||
check::globals(array(xy_x,xy_y,globalxyarray,ab_a,ab_b,globalabarray));
|
||||
|
|
|
@ -3,11 +3,11 @@ require "tests.php";
|
|||
require "li_carrays.php";
|
||||
|
||||
// Check functions.
|
||||
check::functions(array(new_intarray,delete_intarray,intarray_getitem,intarray_setitem,doublearray_getitem,doublearray_setitem,doublearray_cast,doublearray_frompointer,xyarray_getitem,xyarray_setitem,xyarray_cast,xyarray_frompointer,delete_abarray,abarray_getitem,abarray_setitem));
|
||||
check::functions(array(new_intarray,delete_intarray,intarray_getitem,intarray_setitem,doublearray_getitem,doublearray_setitem,doublearray_cast,doublearray_frompointer,xyarray_getitem,xyarray_setitem,xyarray_cast,xyarray_frompointer,delete_abarray,abarray_getitem,abarray_setitem,shortarray_getitem,shortarray_setitem,shortarray_cast,shortarray_frompointer,sum_array));
|
||||
|
||||
// Check classes.
|
||||
// NB An "li_carrays" class is created as a mock namespace.
|
||||
check::classes(array(li_carrays,doubleArray,AB,XY,XYArray));
|
||||
check::classes(array(li_carrays,doubleArray,AB,XY,XYArray,shortArray));
|
||||
|
||||
// Check global variables.
|
||||
check::globals(array(xy_x,xy_y,globalxyarray,ab_a,ab_b,globalabarray));
|
||||
|
|
|
@ -7,3 +7,12 @@ d[5] = d[0] + 3
|
|||
|
||||
if d[5] + d[0] != 17:
|
||||
raise RuntimeError
|
||||
|
||||
shorts = shortArray(5)
|
||||
|
||||
for i in range(5):
|
||||
shorts[i] = i
|
||||
|
||||
sum = sum_array(shorts)
|
||||
if sum != 0+1+2+3+4:
|
||||
raise RuntimeError("incorrect sum, got: " + str(sum))
|
||||
|
|
|
@ -7,3 +7,11 @@ d[5] = d[0] + 3
|
|||
|
||||
if d[5] + d[0] != 17:
|
||||
raise RuntimeError
|
||||
|
||||
shorts = shortArray(5)
|
||||
for i in range(5):
|
||||
shorts[i] = i
|
||||
|
||||
sum = sum_array(shorts)
|
||||
if sum != 0+1+2+3+4:
|
||||
raise RuntimeError("incorrect sum, got: " + str(sum))
|
||||
|
|
Loading…
Reference in New Issue