Proper array typemaps in Javascript
https://github.com/swig/swig/issues/865
This commit is contained in:
parent
a699944c95
commit
cf7811b178
9 changed files with 115 additions and 125 deletions
3
Examples/javascript/array/Makefile
Normal file
3
Examples/javascript/array/Makefile
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
SRCS =
|
||||
|
||||
include $(SRCDIR)../example.mk
|
||||
9
Examples/javascript/array/binding.gyp.in
Normal file
9
Examples/javascript/array/binding.gyp.in
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"targets": [
|
||||
{
|
||||
"target_name": "example",
|
||||
"sources": [ "example_wrap.cxx" ],
|
||||
"include_dirs": ["$srcdir"]
|
||||
}
|
||||
]
|
||||
}
|
||||
31
Examples/javascript/array/example.i
Normal file
31
Examples/javascript/array/example.i
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/* File : example.i */
|
||||
%module example
|
||||
|
||||
%include <arrays_javascript.i>
|
||||
|
||||
%apply int[] {int *data1}
|
||||
%apply int[3] {int data2[3]}
|
||||
%apply int[4] {int data3[4]}
|
||||
|
||||
%inline %{
|
||||
|
||||
int sum1(int *data1, int size) {
|
||||
int sum = 0;
|
||||
for (int i = 0; i < size; i++) {
|
||||
sum += data1[i];
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
int sum2(int data2[3]) {
|
||||
int sum = 0;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
sum += data2[i];
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
int data3[4] = {1, 2, 3, 4};
|
||||
|
||||
%}
|
||||
|
||||
1
Examples/javascript/array/example.js
Normal file
1
Examples/javascript/array/example.js
Normal file
|
|
@ -0,0 +1 @@
|
|||
module.exports = require("build/Release/example");
|
||||
7
Examples/javascript/array/runme.js
Normal file
7
Examples/javascript/array/runme.js
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
var example = require("example");
|
||||
|
||||
var arr = [1, 2, 3, 4, 5];
|
||||
|
||||
console.log(example.sum1(arr, arr.length));
|
||||
console.log(example.sum2(arr));
|
||||
console.log(example.data3)
|
||||
Loading…
Add table
Add a link
Reference in a new issue